SLEEPY: Sampling User-Level Execution via EIPs Profiled Continuously
Michelle Moravan and Margaret Richey
Abstract: Understanding where the system is spending its time is necessary for
debugging and optimizing applications. As such, we present an analysis
tool with the intent to continuously take measurements on every timer
interrupt during a sampling period. The end result is a collection of
data samples that have been aggregated to display what instruction
pointers are seen most often. These aggregates can be viewed on an
instruction level, an instance of an application, a subset of the running
applications, or on the system as a whole. Based on the benchmarks, the
majority of the results are verifiable and the sampling itself is extremely
efficient with minimal overhead (0.01 - 0.9 percent). The overhead of the system
utilizing the worst case backup scheme is three to six percent.
Links:
Paper PDF
Software
Data