Hardware-based profiling: An effective technique for profile-driven optimization
- North Carolina State Univ., Raleigh, NC (United States)
- AT&T Global Information Solutions, Columbia, SC (United States)
Profile based optimization can be used for instruction scheduling, loop scheduling, data preloading, function in-lining, and instruction cache performance enhancement. However, these techniques have not been embraced by software vendors because programs instrumented for profiling run significantly slower, an awkward compile-run-recompile sequence is required, and a test input suite must be collected and validated for each program. This paper introduces hardware-based profiling that uses traditional branch handling hardware to generate profile information in real time. Techniques are presented for both one-level and two-level branch hardware organizations. The approach produces high accuracy with small slowdown in execution (0.4%-4.6%). This allows a program to be profiled while it is used, eliminating the need for a test input suite. With contemporary processors driven increasingly by compiler support, hardware-based profiling is important for high-performance systems.
- OSTI ID:
- 273921
- Journal Information:
- International Journal of Parallel Programming, Journal Name: International Journal of Parallel Programming Journal Issue: 2 Vol. 24; ISSN IJPPE5; ISSN 0885-7458
- Country of Publication:
- United States
- Language:
- English
Similar Records
BlackjackBench: Portable Hardware Characterization
Instruction-Level Characterization of Scientific Computing Applications Using Hardware Performance Counters