9th Annual Workshop on Interaction between Compilers and Computer Architectures (INTERACT'05) (2005)
San Francisco, USA
Feb. 13, 2005 to Feb. 13, 2005
Simon Kågström , Blekinge Institute of Technology, Sweden
Håkan Grahn , Blekinge Institute of Technology, Sweden
Lars Lundberg , Blekinge Institute of Technology, Sweden
Program instrumentation is an important technique for a different tasks such as performance measurements, debugging, and coverage analysis. Instrumentation, however, poses two important requirements to be useful: it must be easy to apply and it should perturb the application as little as possible. In this paper, we present the LOPI framework which provides a simple means to automatically instrument binary files with low perturbation. An evaluation of the LOPI framework with detailed measurements of seven SPEC CPU2000 benchmarks show that the it gives lower perturbation in terms of instructions executed and cache behavior than Dyninst. For example, a LOPI instrumented application executes on average 36% more instructions, while a Dyninst instrumented application executes 49% more instructions for a common performance-oriented instrumentation, than the uninstrumented application.
program instrumentation, perturbation, binary rewriting, performance measurements
L. Lundberg, H. Grahn and S. Kågström, "Automatic Low Overhead Program Instrumentation with the LOPI Framework," 9th Annual Workshop on Interaction between Compilers and Computer Architectures (INTERACT'05)(INTERACT), San Francisco, USA, 2005, pp. 82-93.