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

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.

Technique Variations

We currently have results for two major variations of our technique, a basic block[2] technique and an interval[2] technique.

Basic Block

Our basic block technique performs its dynamic analysis and core switches with basic blocks as the granularity. Since basic blocks are frequently small, we do two things to reduce the overhead of this approach: minimum size and lookahead.

Minimum Size

It is common for basic blocks to be only one or two instructions. Clearly it would not be advantageous to switch cores for a single instruction. Based on this intuition, our first technique to reduce overhead is to only consider basic blocks larger than some minimum size.

Lookahead

Basic blocks are usually only in the tens of instructions. The cost of switching for this small amount of instructions is likely to outweigh the benefit. Our second technique to reduce overhead looks at x generations of successors. We only considers blocks that have at least a fixed percentage of successors of similar type.

Interval

Our interval technique looks at intervals. As with basic blocks, we frequent have very small intervals. Thus, we use a minimum size in order to not consider very small intervals.

In our results, BB[x, y] refers to our basic block technique with minimum size of x and lookahead depth y. In our results, INT[x] refers to our interval technique with minimum size of x.


  • For more detail see our latest technical report.
  • Frances E. Allen. Control flow analysis. In Symposium on Compiler Optimization, pages 1-19, 1970.