Improving instrumentation speed via buffering

  • Authors:
  • Dan Upton;Kim Hazelwood;Robert Cohn;Greg Lueck

  • Affiliations:
  • University of Virginia;University of Virginia;Intel Corporation;Intel Corporation

  • Venue:
  • Proceedings of the Workshop on Binary Instrumentation and Applications
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic binary instrumentation systems are useful tools for a wide range of tasks including program analysis, security policy enforcement, and architectural simulation. The overhead of such systems is a primary concern, as some tasks introduce as much as several orders of magnitude slowdown. A large portion of this overhead stems from both data collection and analysis. In this paper, we present a method to reduce overhead by decoupling data collection from analysis. We accomplish this by buffering the data for analysis in bulk. We implement buffering as an extension to Pin, a popular dynamic instrumentation system. For collecting a memory trace, we see an average improvement of nearly 4x compared to the best-known implementation of buffering using the existing Pin API.