Abstract
Dynamic instruction mixes form an important part of the toolkits of performance tuners, compiler writers, and CPU architects. Instruction mixes are traditionally generated using software instrumentation, an accurate yet slow method, that is normally limited to user-mode code. We present a new method for generating instruction mixes using the Performance Monitoring Unit (PMU) of the CPU. It has very low overhead, extends coverage to kernel-mode execution, and causes only a very modest decrease in accuracy, compared to software instrumentation. In order to achieve this level of accuracy, we develop a new PMU-based data collection method, Hybrid Basic Block Profiling (HBBP). HBBP uses simple machine learning techniques to choose, on a per basic block basis, between data from two conventional sampling methods, Event Based Sampling (EBS) and Last Branch Records (LBR). We implement a profiling tool based on HBBP, and we report on experiments with the industry standard SPEC CPU2006 suite, as well as with two large-scale scientific codes. We observe an improvement in runtime compared to software instrumentation of up to 76x on the tested benchmarks, reducing wait times from hours to minutes. Instruction attribution errors average 2.1%. The results indicate that HBBP provides a favorable tradeoff between accuracy and speed, making it a suitable candidate for use in production environments.
Original language | English |
---|---|
Title of host publication | Proceedings - 2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 189-198 |
Number of pages | 10 |
ISBN (Electronic) | 9781538650103 |
DOIs | |
State | Published - 25 May 2018 |
Externally published | Yes |
Event | 2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018 - Belfast, Northern Ireland, United Kingdom Duration: 2 Apr 2018 → 4 Apr 2018 |
Publication series
Name | Proceedings - 2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018 |
---|
Conference
Conference | 2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018 |
---|---|
Country/Territory | United Kingdom |
City | Belfast, Northern Ireland |
Period | 2/04/18 → 4/04/18 |
Bibliographical note
Publisher Copyright:© 2018 IEEE.
Keywords
- PMU
- benchmarking
- compilers
- ebs
- instruction mix
- lbr
- performance monitoring
ASJC Scopus subject areas
- Hardware and Architecture
- Software
- Safety, Risk, Reliability and Quality