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 behavior; 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 3. MPtrace is...
Tracing software execution is an important part of understanding system performance. Raw CPU power h...
A program trace lists the addresses of instructions executed and data referenced during a program's ...
Trace-driven simulation is a widely used technique to evaluate microprocessor architecture and/or me...
Event tracing of applications under dynamic execution is crucial for performance modeling, optimizat...
Abstract. Performance analysis tools are an important component of the parallel program development ...
Performance analysis tools are an important component of the parallel program development and tuning...
We present a novel automatic parallelization approach that uses traces. Our approach uses a binary r...
One of the important phases of parallel programming is performance analysis. Trace data provides inf...
Abstract. Automatic trace analysis is an effective method of identifying complex performance phenome...
Applications must scale well to make efficient use of even medium-scale parallel systems. Because sc...
In high-performance processors, increasing the number of instructions fetched and executed in parall...
A powerful technique for understanding the behavior and performance of parallel programs is the visu...
Abstract. Tracing parallel programs to observe their performance introduces in-trusion as the result...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
The Parallel Program Debugger (PPD) allows a programmer to find bugs by following dynamic dependence...
Tracing software execution is an important part of understanding system performance. Raw CPU power h...
A program trace lists the addresses of instructions executed and data referenced during a program's ...
Trace-driven simulation is a widely used technique to evaluate microprocessor architecture and/or me...
Event tracing of applications under dynamic execution is crucial for performance modeling, optimizat...
Abstract. Performance analysis tools are an important component of the parallel program development ...
Performance analysis tools are an important component of the parallel program development and tuning...
We present a novel automatic parallelization approach that uses traces. Our approach uses a binary r...
One of the important phases of parallel programming is performance analysis. Trace data provides inf...
Abstract. Automatic trace analysis is an effective method of identifying complex performance phenome...
Applications must scale well to make efficient use of even medium-scale parallel systems. Because sc...
In high-performance processors, increasing the number of instructions fetched and executed in parall...
A powerful technique for understanding the behavior and performance of parallel programs is the visu...
Abstract. Tracing parallel programs to observe their performance introduces in-trusion as the result...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
The Parallel Program Debugger (PPD) allows a programmer to find bugs by following dynamic dependence...
Tracing software execution is an important part of understanding system performance. Raw CPU power h...
A program trace lists the addresses of instructions executed and data referenced during a program's ...
Trace-driven simulation is a widely used technique to evaluate microprocessor architecture and/or me...