By Susan J. Eggers, David Keppel, Eric J. Koldinger and Henry M. Levy.
While much current research concerns multiprocessor design, few traces of parallel programs are available for analyzing the effect of design tradeoffs. Existing trace collection methods have serious drawbacks: trap-driven methods often slow down program execution by more than 1000 times, significantly perturbing program behvaior; microcode modification is faster, but the technique is neither general nor portable.
This paper describes a new tool, called MPtrace, for collecting traces of multithreaded parallel programs executing on shared-memory multiprocessors. MPtrace requires no hardware or microcode modification; it collects complete program traces; it is portable; and it reduces execution-time dilation to less than a factor of 3. MPtrace is based on inline tracing, in which a program is automatically modified to produce trace information as it executes. We show how the use of compiler flow analysis techniques can reduce the amount of data collected and threfore the runtime dilation of the traced program. We also discuss problematic issues concerning buffering and the writing of trace data on a multiprocessor.
%A Susan J. Eggers
%A David Keppel
%A Eric J. Koldinger
%A Henry M. Levy
%T Techniques for Efficient Inline Tracing on a Shared-Memory Multiprocessor
%J Proceedings of the 1990 ACM SIGMETRICS Conference
on Measurement and Modeling of Computer Systems
%D May 1990
%P 37-47
%X Also appears as UW-CSE TR 89-09-18.
@article{EKKL:90,
author={Susan J. Eggers and David Keppel and
Eric J. Koldinger and Henry M. Levy},
title={Techniques for Efficient Inline Tracing
on a Shared-Memory Multiprocessor},
journal={Proceedings of the 1990 ACM SIGMETRICS Conference
on Measurement and Modeling of Computer Systems},
month={May},
year={1990},
pages={37--47},
note={Also appears as UW-CSE TR 89-09-18.}
}