Abstract. Understanding the dynamic behavior of parallel programs is a critical issue both for debugging and for optimization. A visualization tool displaying an animated sequence of the global states the program runs through offers valuable support for th
State Based Visualization of PVM Applications
Roland Wism¨u ller
Lehrstuhl f¨u r Rechnertechnik und Rechnerorganisation(LRR-TUM) Institut f¨u r Informatik,Technische Universit¨a t M¨u nchen,D-80290M¨u nchen,Germany
Tel.:+49-89-289-28164,Fax:+49-89-289-28232
email:wismuell@informatik.tu-muenchen.de
Abstract.Understanding the dynamic behavior of parallel programs is a critical
issue both for debugging and for optimization.A visualization tool displaying an
animated sequence of the global states the program runs through offers valuable
support for this process.The paper presents the features and the implementation
of VISTOP,a state based visualizer for PVM applications.It supports program
flow visualization based on various views and uses an event ordering algorithm
to ensure consistent visualization without requiring a global clock.
1Introduction
The complex interaction of a large number of components makes programming parallel and distributed systems a complicated and error-prone task.The dynamics supported by programming libraries like PVM can make this situation even worse,because the execution of programs where tasks(or other objects)are created and deleted during runtime can be hard to comprehend.Breakpoint-based debuggers,which are also avail-able for parallel programs now(e.g.P2D2[4])offer programmers valuable help in understanding program behavior and in locating bugs.However,they basically allow only the inspection of the local states of single processes.But especially forfinding bugs related to communication or synchronization,the global program state is of much more importance,e.g.which tasks are currently waiting for messages,which are sending, which groups do exist and what tasks do they contain?Although debuggers can some-how answer these questions,getting the answer is a rather complex job for the user.In addition,debuggers do not provide a coarse grain overview on a program’s execution, e.g.its communication structure.
A solution to these problems is to complement debuggers with a visualization system that shows consistent global states of an application and animates state changes.Such a tool offers both a global overview and–by recording relevant information–also an animation of the program’s coarse grain executionflow.
In the following,we present the concepts and some implementation issues of the visualization system VISTOP that animates communication and synchronization as well as dynamic creation,deletion,and group membership of tasks.The visualizer is an integral part of a larger environment called T HE T OOL-SET for PVM[12],which among others will also include a parallel debugger.