Parallel Program Visualisation for a Message-Passing System

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.