Vaswani, Kapil and Nori, Aditya V and Chilimbi, Trishul M (2007) Preferential Path Profiling: Compactly Numbering Interesting Paths. In: The 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 17–19, 2007, Nice, France, pp. 351-362.
Restricted to Registered users only
Download (1731Kb) | Request a copy
Path profiles provide a more accurate characterization of a program&s dynamic behavior than basic block or edge profiles, but are relatively more expensive to collect. This has limited their use in practice despite demonstrations of their advantages over edge profiles for a wide variety of applications.We present a new algorithm called preferential path profiling (PPP), that reduces the overhead of path profiling. PPP leverages the observation that most consumers of path profiles are only interested in a subset of all program paths. PPP achieves low overhead by separating interesting paths from other paths and assigning a set of unique and compact numbers to these interesting paths. We draw a parallel between arithmetic coding and path numbering, and use this connection to prove an optimality result for the compactness of path numbering produced by PPP. This compact path numbering enables our PPP implementation to record path information in an array instead of a hash table. Our experimental results indicate that PPP reduces the runtime overhead of profiling paths exercised by the largest (ref) inputs of the SPEC CPU2000 benchmarks from 50\% on average (maximum of 132%) to 15\% on average (maximum of 26\%) as compared to a state-of-the-art path profiler.
|Item Type:||Conference Paper|
|Additional Information:||Copyright of this article belongs to ACM.|
|Keywords:||Profiling;preferential paths;arithmetic coding;dynamic analysis.|
|Department/Centre:||Division of Electrical Sciences > Computer Science & Automation (Formerly, School of Automation)|
|Date Deposited:||26 Aug 2008|
|Last Modified:||19 Sep 2010 04:49|
Actions (login required)