Low-Overhead Dynamic Instruction Mix Generation Using Hybrid Basic Block Profiling

Andrzej Nowak, Pawel Szostek, Ahmad Yasin, Willy Zwaenepoel

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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 languageEnglish
Title of host publicationProceedings - 2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages189-198
Number of pages10
ISBN (Electronic)9781538650103
DOIs
StatePublished - 25 May 2018
Externally publishedYes
Event2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018 - Belfast, Northern Ireland, United Kingdom
Duration: 2 Apr 20184 Apr 2018

Publication series

NameProceedings - 2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018

Conference

Conference2018 IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2018
Country/TerritoryUnited Kingdom
CityBelfast, Northern Ireland
Period2/04/184/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

Fingerprint

Dive into the research topics of 'Low-Overhead Dynamic Instruction Mix Generation Using Hybrid Basic Block Profiling'. Together they form a unique fingerprint.

Cite this