Variational Path Profiling

  • Authors:
  • Erez Perelman;Trishul Chilimbi;Brad Calder

  • Affiliations:
  • Department of Computer Science and Engineering, University of California, San Diego;Department of Computer Science and Engineering, University of California, San Diego;Microsoft Corporation

  • Venue:
  • Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Current profiling techniques are good at identifying where time is being spent during program execution. These techniques are not as good at pinpointing exactly where in the execution there are de.nite opportunities a programmer can exploit with optimization. In this paper we present a new type of profiling analysis called Variational Path Profiling (VPP). VPP pinpoints exactly where in the program there are potentially significant optimization opportunities for speedup. VPP finds the acyclic control flow paths that vary the most in execution time (the time it takes to execute each occurrence of the path). This is calculated by sampling the time it takes to execute frequent paths using hardware performance counters. The motivation for concentrating on a path with a high net variation in its execution time is that it can potentially be optimized so that most or all executions of that path have the minimal execution time seen during profiling. We present a profiling and analysis approach to find these variational paths, so that they can be communicated back to a programmer to guide optimization. Our results show that this variation accounts for a signi.cant fraction of overall program execution time and a small number of paths account for a large fraction of this variation. By applying straight forward prefetching optimizations to these variational paths we see 8.5% speedups on average.