Hot Spot

Document Sample
Hot Spot Powered By Docstoc
					An Offline Approach for
Whole-Program Paths
Analysis using Suffix Arrays

      G. Pokam, F. Bodin
   Many optimizations/program analysis rely on
    control flow information
       The more accurate the better
   Trace analysis to identify hot sub-paths
       Similar problem as finding patterns in strings
       Or search for DNA sequences
   Adaptive cache reconfiguration
       Identification of the configuration change
       Reducing energy consumption
Whole Program Path Analysis
   Embedded systems
       No mechanism for run-time monitoring
       Offline analysis
   Interprocedural analysis
       Phase detection
   Consider a signature for each basic block
       Cache misses, ILP, static cycles (VLIW), …
   What happens between hot sub-paths
       How are the hot sub-paths interleaved
    Main steps
   Reduce the potential size of the trace
       Keep only representative basic block
   Instrument the code to get the BB signature
   Run the program
   Compute the hot sub-paths
       Find the repeating patterns
   Exploit the sub-paths information
       Insertion of cache configuration instruction
Reducing the size of the trace
   Keep only a subset of the basic blocks
       Use strong regions [Ball93]
       Don’t keep iterations of simple loops
       Keep only control condition basic blocks (lossy)
Suffix Arrays
   Karp Miller and Rosenberg algorithm
       Complexity is low Log(N) iteration, N the length of
        the trace
       Memory space used is linear to the size of the
   Can be used to
       Find the longest repeated sub-path
       Find the n-length repeated sub-path of BBWS
       Determine the frequency of each sub-path
       Identify the position of each instance of a sub-path
Suffix Arrays
KMR Algorithm
    Characterizing the Hot Sub-Paths
   Three metrics
       Local Coverage: how long does a sub-path last
       Global Coverage: how representative a sub-path is
       Reuse Distance: dispersion in the trace
   Offline analysis ranges from a few
    minutes (40MB) to hours (GB trace)
Experiments (cont.)
Trace Compression
   Experiments (cont.)
   Coverage : Adaptive Cache Reconfiguration

Basic blocks signature is a set of data misses
   Suffix arrays are an efficient tool to deal
    with traces
       Accurate description of the sub-paths
       But the CFG has to be simplified
   Has been used to dynamically adapt the
    cache configuration for reducing energy
Future Works
   Convert hot sub path in speculative
       System on chip
       Identification of computation to migrate on
   More trace compression technique
       Abstraction of the control flow

Shared By: