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.


March 2011: Invited talk on phase-based tuning at SMART '11.

December 2010: Paper on Frances-A tool accepted for CCSC 2011.

November 2010: Paper on phase-guided tuning accepted for CGO 2011.

August 2010: Paper on cache analysis accepted for RTSS 2010.

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

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

Experimentation Results

Our goal with phase-guided auto-tuning is to improve the utilization of performance asymmetric multi-core processors. Phase-guided auto-tuning can be divided into two parts. First, group together code segments that are likely to exhibit similar runtime behavior. Second, (the key idea) use actual runtime characteristics of a small number of code segments to give insight into the behavior of all similar code segments.

Experimental results are from an actual quad core machine with two cores running at 2.4GHz and two cores running at 1.6GHz. Workloads are made up of 18 to 84 SPEC CPU 2000 and 2006 benchmarks running simultaneously. Upon completion of a benchmark, another is immediately started to maintain constant workload size. Here, our technique is compared to the stock Linux scheduler.

We measure three things: overhead, throughput, and fairness. Details for each of these are given separately. Here, we describe the overall performance for variations of our technique.

Speedup vs Fairness

Figure 1: Application speedup vs fairness for variations of our technique.

Speedup vs Throughput

Figure 2: Application speedup vs throughput for variations of our technique.

Throughput vs Fairness

Figure 3: Throughput vs fairness for variations of our technique.

  1. These results are shown in our latest technical report.