Acyclic path profile is an abstraction of dynamic control flow paths of procedures and has been found to be useful in a wide spectrum of activities. Unfortunately, the runtime overhead of obtaining such a profile can be high, limiting its use in practice. In this paper, we present partitioned path profiling (P3) which runs K copies of the program in parallel, each with the same input but on a separate core, and collects the profile only for a subset of intra-procedural paths in each copy, thereby, distributing the overhead of profiling. P3 identifies ``profitable'' procedures and assigns disjoint subsets of paths of a profitable procedure to different copies for profiling. To obtain exact execution frequencies of a subset of paths, we desig...
For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate pat...
Parallelizing software often starts by profiling to identify program paths that are worth paralleliz...
The popularity of parallel systems for building high performance software only continues to rise. Pr...
A path profile determines how many times each acyclic path in a routine executes. This type of profi...
Path profiles provide a more accurate characterization of a program&s dynamic behavior than basic bl...
Most dynamic program analysis techniques such as profile-driven compiler optimizations, software test...
The Ball-Larus path-profiling algorithm is an efficient technique to collect acyclic path frequencie...
This paper presents a novel approach (called PIP) for profiling inter-procedural paths, which makes ...
Identifying the hottest paths in the control flow graph of a routine can direct optimizations to por...
For aggressive path-based program optimizations to be profitable in cost-sensitive environments, acc...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
In path profiling, a program is instrumented with code that counts the number of times particular pa...
Data-flow analysis computes its solutions over the paths in a control-flow graph. These paths---whet...
A program profile attributes run-time costs to portions of a program's execution. Most profiling sys...
In profiling, a tradeoff exists between information and overhead. For example, hardware-sampling pro...
For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate pat...
Parallelizing software often starts by profiling to identify program paths that are worth paralleliz...
The popularity of parallel systems for building high performance software only continues to rise. Pr...
A path profile determines how many times each acyclic path in a routine executes. This type of profi...
Path profiles provide a more accurate characterization of a program&s dynamic behavior than basic bl...
Most dynamic program analysis techniques such as profile-driven compiler optimizations, software test...
The Ball-Larus path-profiling algorithm is an efficient technique to collect acyclic path frequencie...
This paper presents a novel approach (called PIP) for profiling inter-procedural paths, which makes ...
Identifying the hottest paths in the control flow graph of a routine can direct optimizations to por...
For aggressive path-based program optimizations to be profitable in cost-sensitive environments, acc...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
In path profiling, a program is instrumented with code that counts the number of times particular pa...
Data-flow analysis computes its solutions over the paths in a control-flow graph. These paths---whet...
A program profile attributes run-time costs to portions of a program's execution. Most profiling sys...
In profiling, a tradeoff exists between information and overhead. For example, hardware-sampling pro...
For aggressive path-based optimizations to be profitable in cost-senstive environments, accurate pat...
Parallelizing software often starts by profiling to identify program paths that are worth paralleliz...
The popularity of parallel systems for building high performance software only continues to rise. Pr...