Dynamic trace selection using performance monitoring hardware sampling

  • Authors:
  • Howard Chen;Wei-Chung Hsu;Jiwei Lu;Pen-Chung Yew;Dong-Yuan Chen

  • Affiliations:
  • University of Minnesota;University of Minnesota;University of Minnesota;University of Minnesota;Microprocessor Research Labs, Intel

  • Venue:
  • Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Optimizing programs at run-time provides opportunities to apply aggressive optimizations to programs based on information that was not available at compile time. At run time, programs can be adapted to better exploit architectural features, optimize the use of dynamic libraries, and simplify code based on run-time constants.Our profiling system provides a framework for collecting information required for performing run-time optimization. We sample the performance hardware registers available on an ltanium processor, and select a set of code that is likely to lead to important performance-events. We gather distribution information about the performance-events we wish to monitor, and test our traces by estimating the ability for dynamic patching of a program to execute run-time generated traces.Our results show that we are able to capture 58% of execution time across various SPEC2000 integer benchmarks using our profile and patching techniques on a relatively small number of frequently executed execution paths. Our profiling and detection system overhead increases execution time by only 2--4%.