Next: Generating Traces
Up: Parallel Program Execution Visualization
Previous: Parallel Program Execution Visualization
The execution of sequential programs is relatively easy to visualize and
understand. Call-graph generators and profilers help to fill in the gaps in a
programmer's understanding, but it is not difficult to predict the behavior of
a program from a study of its code. Use of such tools may slow the overall
execution of the program but will not alter the sequence of program events
that take place. The behavior of parallel programs, on the other hand, is
notoriously difficult to predict. One's intuition about the sequence of
events that will occur once several (or several hundred) independent processes
are launched into a complicated synchronization strategy is highly unreliable.
Moreover, analysis tools can easily perturb the sequence of events
drastically, obscuring the very behavior they are applied to elucidate.
The approach taken here to is provide a low-overhead mechanism for recording
precisely a sequence of user-defined events that occur during parallel program
execution. The resulting file can then be examined, off-line, in a variety of
ways which complement each other. Tying the toolkit together is the common
definition of the trace file format, so that such files can be both produced
by several different mechanisms embedded in parallel programs and consumed by
several different analysis programs.
Next: Generating Traces
Up: Parallel Program Execution Visualization
Previous: Parallel Program Execution Visualization
Karen D. Toonen
1998-11-18