Using hpm-sampling to drive dynamic compilation

  • Authors:
  • Dries Buytaert;Andy Georges;Michael Hind;Matthew Arnold;Lieven Eeckhout;Koen De Bosschere

  • Affiliations:
  • Ghent University, Ghent, Belgium;Ghent University, Ghent, Belgium;IBM T.J. Watson Research, Hawthorne, NY;IBM T.J. Watson Research, Hawthorne, NY;Ghent University, Ghent, Belgium;Ghent University, Ghent, Belgium

  • Venue:
  • Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
  • Year:
  • 2007

Quantified Score

Hi-index 0.01

Visualization

Abstract

All high-performance production JVMs employ an adaptive strategy for program execution. Methods are first executed unoptimized and then an online profiling mechanism is used to find a subset of methods that should be optimized during the same execution. This paper empirically evaluates the design space of several profilers for initiating dynamic compilation and shows that existing online profiling schemes suffer from several limitations. They provide an insufficient number of samples, are untimely, and have limited accuracy at determining the frequently executed methods. We describe and comprehensively evaluate HPM-sampling, a simple but effective profiling scheme for finding optimization candidates using hardware performance monitors (HPMs) that addresses the aforementioned limitations. We show that HPM-sampling is more accurate; has low overhead; and improves performance by 5.7% on average and up to 18.3% when compared to the default system in Jikes RVM, without changing the compiler.