Next: TAU
Up: Performance and Memory Evaluation
Previous: Introduction
Instrumentation
Parallel performance evaluation tools typically employ either profiling or
tracing modes of measurement. While profiling records aggregate
performance metrics during program execution, tracing relies on
timestamped event logs to re-create the temporal variation in performance,
showing program events along a global timeline. Instrumentation calls are
inserted in the program to activate events that characterize actions that
occur in a program. Sampling and measured profiling are two common
techniques to activate the instrumentation. Sampling incurs a fixed
measurement overhead and relies on a periodic interrupt from the operating
system based on an interval timer or hardware performance counters. When
an interrupt takes place, the program state is recorded and at the end of
execution, the tool estimates the contribution of different routines and
statements based on the samples collected. Tools such as SGI's Open
SpeedShop[27] and gprof [11,10] fall into this category.
Tools based on measured instrumentation, on the other hand, insert hooks
at specific locations in the program, such as routines and loops. At the
entry and exit points of these program entities instrumentation is
activated and measurements are performed.
Subsections
Scott Biersdorff
2006-05-05