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
timeout error with Task
with
Barrier
Task4 waits to receive from Task3:
Task1 is sending to Task0:group object
Hierarchical Objects
(Container)
No explicit Fig.2.Visualization patterns in the concurrency view
hierarchical visualization.A container consists of an icon and an associated concurrency window showing what is happening inside it.Objects can be moved into the container by simply dragging icons into the container window.The container’s icon then represents the sum of all objects located in the container itself or a nested one.Interactions between a container and other objects are combined by overlaying the corresponding arrow heads,providing a comprehensive summary.Details about the individual interactions can be derived by inspecting the container’s concurrency window.In the lower right of Fig.2,task0broadcasts to task1and task2,both in the container,while task1receives a message from task0.task2didn’t start receiving yet and is still waiting for a message from task0.By closing and opening concurrency windows associated with containers,the complexity of the visualization can be controlled.If a window is closed,events totally inside the container will be invisible and will therefore also be ignored when determining the next snapshot to be visualized.
The concurrency view does not include explicit objects representing groups.In principle,group objects could have been realized as containers,which combine all tasks in a group.However,containers in VISTOP form a strict hierarchy of tasks,while in PVM tasks can belong to multiple groups.Thus we decided to provide an additional view,called group manager.It displays a list of all groups existing at the current snapshot,where a single group,a union,or an intersection of groups can be selected from.All objects that do not belong to the specified group(s)will then loose parts of their coloring,thus allowing to quickly determine group memberships.
3Implementation Issues
3.1Structure of VISTOP
VISTOP is implemented as a hierarchy of three layers:A data acquisition layer responsible for gathering events,a modeling layer computing consistent global states from this event stream,and a visualization layer ,which finally displays different views