Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "An Offline Approach for Whole-Program Paths Analysis using Suffix Arrays G. Pokam, F. Bodin."— Presentation transcript:

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] Don’t 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


Download ppt "An Offline Approach for Whole-Program Paths Analysis using Suffix Arrays G. Pokam, F. Bodin."

Similar presentations


Ads by Google