Improving performance is the main driving force behind the use of parallel systems. Models for performance evaluation and techniques for performance optimisation are crucial for effectively exploiting the computational power of parallel systems. This paper focuses on methods for evaluating the performance of parallel applications built from components using the software architecture methodology. Minor differences in the low-level behaviour of functionally equivalent processing elements can have a dramatic effect upon the performance of the overall system; this confounds attempts to predict performance at any step prior to implementation. VisualNets is a tool supporting the construction and graphical manipulation of interacting systems built from components. It makes use of specifications in the formal method CSP, which enables the relevant component behaviours and the linkage between components to be concisely described. The tool allows the behaviour of the whole system over time, and the patterns of interaction between the components, to be visualised through graphical animation. The graphical display produced facilitates the analysis and evaluation of performance, and highlights areas where performance could be improved via better utilisation of parallel resources. VisualNets also allows the timing properties of the components and of the architecture that underlies them to be changed, to represent different component implementations or platform configurations. A case study, based on the dual pipeline architecture, is presented to show how the graphical animation capability of VisualNets can be used, firstly to evaluate performance, and secondly to guide the development of more efficient versions of the parallel system.
[1]
Mark Green.
Visualisation and animation of concurrent systems specified in CSP
,
2002
.
[2]
Steve A. Schneider,et al.
Concurrent and Real-time Systems: The CSP Approach
,
1999
.
[3]
Vaidy S. Sunderam,et al.
PVaniM: a tool for visualization in network computing environments
,
1998,
Concurr. Pract. Exp..
[4]
Graham Roberts,et al.
Architectural Patterns for Parallel Programming
,
1998,
EuroPLoP.
[5]
Frank Yellin,et al.
The Java Virtual Machine Specification
,
1996
.
[6]
Guy L. Steele,et al.
The Java Language Specification
,
1996
.
[7]
Thomas Bemmerl,et al.
Visualization of Message Passing Parallel Programs with the TOPSYS Parallel Programming Environment
,
1993,
J. Parallel Distributed Comput..
[8]
Alexander L. Wolf,et al.
Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture
,
2022
.
[9]
Simon L. Peyton Jones,et al.
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
,
1992,
SIGP.
[10]
Cherri M. Pancake,et al.
Graphical animation of parallel Fortran programs
,
1991,
Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).
[11]
Jack J. Dongarra,et al.
Graphical development tools for network-based concurrent supercomputing
,
1991,
Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).
[12]
C. A. R. Hoare,et al.
Communicating sequential processes
,
1978,
CACM.