Designing parallel programs for message-passing systems is not an easy task. Difficulties arise largely due to human limitations in identifying relationships between simultaneously executed program components, or processes, and between the data computed by these processes. This paper presents a parallel program visualisation tool, Visputer, that provides the ability to graphically design and edit messagepassing programs, configure parallel processes onto a multiprocessor network and visualise the execution of programs. The textual versions of programs and network configurations are automatically generated by Visputer based on program and network graphs. Animation of program execution is achieved by instrumenting the original program with event collecting code. The event collecting method maintains program behaviour and imposes little performance impact on he original program. views. Wagner et al. developed an environment, known as TIPS [18], which integrates a performance monitoring tool, a process to processor mapping tool, a graphical interface and the capability to analyse the resource requirements of an application. The visual abstraction method proposed by Ritchie [13] attempts to capture the major characteristics of the Occam language. It is, however, more textual than graphical. Zernik et al. evaluated a visualisation methodology using causality graphs to replay interprocess communication and process creation on a network of 256 transputers [19]. This paper presents Visputer, a visualisation tool for developing Occam programs. Section 2 briefly describes an overview of Visputer. Section 3 presents the visual abstraction methods for Occam program construction and for network configuration, followed by a description of the visualisation methods for the execution behaviour in Section 4. Section 5 covers the instrumentation techniques used.
[1]
M. Roberts,et al.
A visual programming system for the development of parallel software
,
1989,
RTSS 1989.
[2]
Barton P. Miller,et al.
Optimal tracing and replay for debugging message-passing parallel programs
,
1992,
Proceedings Supercomputing '92.
[3]
Alan Wagner,et al.
TIPS: transputer-based interactive parallelizing system
,
1991
.
[4]
Dahlia Malkhi,et al.
Using visualization tools to understand concurrency
,
1992,
IEEE Software.
[5]
Thomas Bemmerl,et al.
MMK - A Distributed Operating System Kernel with Integrated Dynamic Loadbalancing
,
1990,
CONPAR.
[6]
Jack J. Dongarra,et al.
Visualization and debugging in a heterogeneous environment
,
1993,
Computer.
[7]
Leslie Lamport,et al.
Time, clocks, and the ordering of events in a distributed system
,
1978,
CACM.
[8]
Thomas Bemmerl,et al.
Programming tools for distributed multiprocessor computing environments
,
1992,
Future Gener. Comput. Syst..
[9]
C. A. R. Hoare,et al.
Communicating Sequential Processes (Reprint)
,
1983,
Commun. ACM.
[10]
Michael T. Heath,et al.
Visualizing the performance of parallel programs
,
1991,
IEEE Software.
[11]
Al Geist,et al.
Network-based concurrent computing on the PVM system
,
1992,
Concurr. Pract. Exp..