Home   People   Publications  

Context-Aware Memory Dependence Profiling [abstract] (PDF)
Juhyun Kim
Master's Thesis, Department of Computer Science and Engineering, Pohang University of Science and Technology, February 2017.

To support aggressive optimizations, many researchers employ data dependenc e profilers which identify dynamic dependence patterns in a program. Although their analysis motivates more beneficial PDGs (i.e. speculative PDGs), data dependence profilers that are not sensitive to the program contexts, such as function call sites and loop nest levels, are likely to produce false results. I propose a context-aware memory profiler (CAMP) which traces memory dependencies with their full context information. CAMP is a compiler-runtime cooperative system which takes advantage of a static analysis to ease the overheads of context management in profiling, without compromising precision, coverage, or performance of profiling. Preventing from generating lots of false dependencies, CAMP enables compilers to build context-aware speculative PDGs that are more precise than what a contextoblivious profiler makes. I show how a precise context-aware PDG facilitates a compiler optimization such as speculative parallelism. For 12 programs from SPEC benchmark suites, the evaluation results show that CAMP successfully removes significant number of false dependencies which take 70.8% of total dependencies that a context oblivious profiler makes. In the evaluation, CAMP finds false dependencies which take 73.3% of all possible memory dependencies at the finest granularity (i.e. instruction-pairwise and byte-level), while showing only 18.4× slowdown.