ALITER: an asynchronous lightweight instrumentation tool for event recording

  • Authors:
  • Xiaofeng Gao;Beth Simon;Allan Snavely

  • Affiliations:
  • San Diego Supercomputer Center;San Diego Supercomputer Center;San Diego Supercomputer Center

  • Venue:
  • ACM SIGARCH Computer Architecture News - Special issue on the 2005 workshop on binary instrumentation and application
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Binary instrumentation tools are very useful for collecting traces of program events. Common uses for such traces include trace-driven simulation and performance modeling. However commonly available general-purpose instrumentation tools are inefficient for capturing fine-grained events as for example a sequence of dynamic memory addresses. We introduce ALITER, an asynchronous lightweight instrumentation tool for event recording which is extremely light in terms of tracing overhead as compared to commonly available binary instrumentation tools. The tool creates a buffer in the instrumented code space and inlines buffer maintenance instructions into the instrumented code. User supplied analysis routines are only invoked when the buffer is fairly full. This approach, i. e. having a user code space buffer managed under ALITER's control, ensures that most control transfers between user code and instrumentation code are eliminated. In addition, storing events to the buffer and checking buffer status are implemented very cheaply. Thus traditional sources of tracing overheads are greatly reduced. Overall we report less than a 2-fold slowdown to collect memory traces of the selected benchmarks; this contrasts with tens and even hundreds of fold slowdown using generally available instrumentation tools.