Representing, Detecting, and Profiling Paths in Hardware
Kapil Vaswani, T. Matthew Jacob, and Y.N. Srikant

IISc-CSA-TR-2004-2
(July 2004)

Available formats: [pdf]

Filed on July 3, 2004
Updated on December 22, 2004


For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate path profiles must be available at low overheads. In this paper, we propose a low-overhead, programmable hardware path profiling scheme that can be configured to (1) detect a variety of paths including acyclic, intraprocedural paths, extended paths and sub-paths for the Whole Program Path and (2) track one of the many architectural metrics along paths. The profiler consists of a \textit{path stack} that detects paths using branch information from the processor pipeline and a Hot Path Table that records the path profile during program execution. Our experiments using programs from the SPECCPU 2000 benchmark suite show that the path profiler occupying 7KB of hardware real-estate collects accurate path profiles at negligible overheads (0.6% on average). The availability of path information in hardware also opens up interesting possibilites for architectural optimizations. As an illustration of the potential benefits, we present an online phase detection scheme that detects changes in program behavior with an accuracy of 94%, substantially higher than all existing schemes.


Please bookmark this technical report as http://aditya.csa.iisc.ernet.in/TR/2004/2/.

Problems ? Contact techrep@csa.iisc.ernet.in
[Updated at 2009-10-22T06:42Z]