A hardware-driven profiling scheme for identifying program hot spots to support runtime optimization
- 20 January 2003
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 136-148
- https://doi.org/10.1109/isca.1999.765946
Abstract
This paper presents a novel hardware-based approach for identifying, profiling, and monitoring hot spots in order to support runtime optimization of general-purpose programs. The proposed approach consists of a set of tightly coupled hardware tables and control logic modules that are placed in the retirement stage of a processor pipeline removed from the critical path. The features of the proposed design include rapid detection of program hot spots after changes in execution behavior, runtime-tunable selection criteria for hot spot detection, and negligible overhead during application execution. Experiments using several SPEC95 benchmarks, as well as several large WindowsNT applications, demonstrate the promise of the proposed design.Keywords
This publication has 13 references indexed in Scilit:
- Accurate and practical profile-driven compilation using the profile bufferPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Execution characteristics of desktop applications on Windows NTPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- ProfileMe: hardware support for instruction-level profiling on out-of-order processorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Value profilingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- System support for automatic profiling and optimizationPublished by Association for Computing Machinery (ACM) ,1997
- Exploiting hardware performance counters with flow and context sensitive profilingACM SIGPLAN Notices, 1997
- Dynamic runtime optimizationPublished by Springer Nature ,1997
- Fast, effective dynamic compilationPublished by Association for Computing Machinery (ACM) ,1996
- Region-based compilation: an introduction and motivationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1995
- The effect of code expanding optimizations on instruction cache designIEEE Transactions on Computers, 1993