Home
People
Publications
|
ThesesContext-Aware Memory Dependence Profiling [abstract] (PDF)
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.
|