CSE 292: Faculty Research Seminar
Winter 2002
23 January, 2002
APM 4301 11:00 AM - 12:00 N
Barbara Ryder
Rutgers University
Experiences with a Framework for Reducing the Cost of Instrumented Code
Instrumenting code to collect profiling information can cause
substantial execution overhead. This overhead makes instrumen-
tation difficult to perform at runtime, often preventing many
known online feedback-directed optimizations from being used
in online systems. This talk presents a general framework for
performing instrumentation sampling to reduce the overhead of
previously expensive instrumentation. The framework is simple
and effective, using code duplication and counter-based sampling
to allow switching between instrumented and non-instrumented code.
The framework does not rely on any hardware or operating system
support, yet provides a high frequency sample rate that is
tunable, allowing the tradeoff between overhead and accuracy to
be adjusted easily at runtime. Experimental results are presented
to validate that our technique can collect accurate profiles
(93-98% overlap with a perfect profile) with low overhead
(averaging approximately 6% total overhead with a naive imple-
mentation).
Recent work has shown how this sampling technique can be incor-
porated into the adaptive optimization system of a JVM and used
to drive online feedback-directed optimizations. Experimental
results show improvements in peak performance of up to 20% while
overhead remains low, with no individual execution being degraded
more than 2%.
This research was done in collaboration with my graduate student
Matthew Arnold. It was presented in part at PLDIą01. This
research was funded by an internship for Matthew Arnold at the
IBM T.J. Watson Research Center, Hawthorne, NY, 10532 and by NSF
grant CCR-9808607.
Questions and comments to Keith
Marzullo. Last edited 15 January 2002.