Date: Dec. 4, 1997
Where & When: WeH 8220, Noon

Speaker: Carl Waldspurger, DIGITAL Systems Research Center

Continuous Instruction-Level Profiling on In-Order and Out-of-Order Processors

Abstract:
The DIGITAL Continuous Profiling Infrastructure (DCPI) is a sampling-based profiling system designed to run continuously on production systems. The system supports multiprocessors, works on unmodified executables, and collects profiles for entire systems, including user programs, shared libraries, and the operating system kernel. Samples are collected at a high rate (over 5200 samples/sec per 333-MHz processor), yet with low overhead (1-3% slowdown for most workloads).

Analysis tools supplied with the profiling system use the sample data to produce a precise and accurate accounting, down to the level of pipeline stalls incurred by individual instructions, of where time is being spent. When instructions incur stalls, the tools identify possible reasons, such as cache misses, branch mispredictions, and functional unit contention. The fine-grained instruction-level analysis guides users and automated optimizers to the causes of performance problems and provides important insights for fixing them.

Our existing profiling infrastructure works with the current generation of in-order Alpha processors. Future Alpha architectures will exploit concurrency and speculative execution to mask stalls, making it more difficult to accurately pinpoint bottlenecks. We will present our latest research on both hardware mechanisms and accompanying analysis techniques for overcoming these difficulties on out-of-order processors.

Additional information about DCPI and related research at DIGITAL, including the DCPI profiling system software for DIGITAL Unix and Alpha/NT, is available from http://www.research.digital.com/SRC/dcpi

SDI / LCS Seminar Questions?
Karen Lindenfelser, 86716, or visit www.pdl.cmu.edu/SDI/