Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Sapha: Static Approximate Phase Analysis.
[go: Go Back, main page]

Sapha: Static Approximate Phase Analysis.


These pages describe work carried out on design implementation, and applications of a technique that we call static approximate phase analysis. The PI is Hridesh Rajan and much of the work is carried out by Tyler Sondag.

News

January 2010: Tutorial on Frances tool accepted for CCSC 2010. New

October 2009: Paper on Frances tool accepted for SIGCSE 2010.

August 2009: Technical Report: Frances: A Tool For Understanding Code Generation , ISU, 2009.

July 2009: Technical Report: A Theory of Reads and Writes for Multi-level Caches , ISU, 2009.

March 2009: Technical Report: Phase-guided Auto-Tuning for Improved Utilization of Performance-Asymmetric Multicore Processors , ISU, 2009.

February 2009: Tyler's paper accepted for IWMSE 2009.

July 2007: Tyler and Viswanath's paper accepted for PLOS 2007.

What is SAPHA?

The goal of SAPHA is to design and implement automatic thread-to-core assignment techniques for performance asymmetric multi-core processors that will improve the overall utilization of these processors.


Motivation

As multi-core processors are becoming common, vendors are starting to explore trade offs between die size, number of cores on a die, and power consumption leading to performance asymmetry among cores on a single chip. For efficient utilization of these performance asymmetric multi-core processors, application threads must be assigned to cores such that the resource needs of a thread closely matches resource availability at the assigned core. Figure 1 illustrates this problem for a CPU consisting of three different core types and applications which vary in resource requirements. Current methods of thread-to-core assignment often require an application's execution trace to determine it's runtime properties. These traces are obtained by running the application on some representative input. A problem is that developing these representative input sets is time consuming, and requires expertise that the user of a general-purpose processor may not have. Other techniques for thread-to-core assignment require monitoring throughout the entire execution of a program. Reducing the amount of monitoring, we are likely to see improved performance. Furthermore, these techniques base decisions for future thread-to-core assignment based on past execution behavior.

Figure 1: The left side shows a performance asymmetric multicore with three core types. The right side shows three processes which exhibit different behavior throughput execution (shown by different shading).

In this project, we are designing, implementing, and evaluating automatic thread-to-core assignment techniques for performance asymmetric multi-core processors that will enhance the utilization of these processors. The first step of our approach is to group together code segments that are likely to exhibit similar runtime behavior. The key idea is that the actual runtime characteristics of a small number of code segments gives insight into the behavior of all similar code segments.


Key Advantages of SAPHA

  • Programmer oblivious: Programmer does not need to understand the underlying performance asymmetry or the characteristics of their application.
  • Architecture independent: Does not need to be re-run for different architectures.
  • Transparent deployment: No OS or compiler modification is required.
  • Improved utilization: Improved utilization of performance asymmetric multicore processors.
  • Negligible overhead