An Offline Approach for Whole-Program Paths Analysis using Suffix Arrays PowerPoint PPT Presentation

presentation player overlay
1 / 15
About This Presentation
Transcript and Presenter's Notes

Title: An Offline Approach for Whole-Program Paths Analysis using Suffix Arrays


1
An Offline Approach for Whole-Program Paths
Analysis using Suffix Arrays
  • G. Pokam, F. Bodin

2
Introduction
  • 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

3
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

4
Example
5
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

6
Reducing the size of the trace
  • Keep only a subset of the basic blocks
  • Use strong regions Ball93
  • Dont keep iterations of simple loops
  • Keep only control condition basic blocks (lossy)

7
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
    trace
  • 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

8
Suffix Arrays
9
KMR Algorithm
10
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

11
Experiments
  • Offline analysis ranges from a few minutes (40MB)
    to hours (GB trace)

12
Experiments (cont.)Trace Compression
13
Experiments (cont.)Coverage Adaptive Cache
Reconfiguration
Basic blocks signature is a set of data misses
14
Conclusion
  • Suffix arrays are an efficient tool to deal with
    traces
  • Accurate description of the sub-paths sequences
  • But the CFG has to be simplified
  • Has been used to dynamically adapt the cache
    configuration for reducing energy consumption

15
Future Works
  • Convert hot sub path in speculative threads
  • System on chip
  • Identification of computation to migrate on
    co-processors
  • More trace compression technique
  • Abstraction of the control flow
Write a Comment
User Comments (0)
About PowerShow.com