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.