Parallel program visualization with MUCH
The use of visualization in parallel program development is manifold. It is applied from data and control flow over debugging, performance analysis and performance prediction until data distribution on distributed memory architectures. Most of these visualizations do not care about the physical topology of the underlying hardware although this can be of importance in the fields of performance analysis or error debugging.
We have developed a class library called MUCH (MUltiprocessor Class Hierarchy), which helps a user to model different multiprocessor architectures. These so derived multiprocessors can be used for visualization of multiprocessor topologies with different number of nodes and for the presentation of various aspects in different areas of parallelism in cooperation with other tools. In this paper we describe the structure of MUCH as well as its implementation in C++. We further present a few examples of cooperation with tools in the areas of performance analysis, trace driven simulation for error debugging, and data distribution for distributed memory machines.
Keywordsparallel program analysis software visualization class hierarchies
Unable to display preview. Download preview PDF.
- [Dali 96]S. Dalibor, A.Hein, W. Hohl, “Application Dependent Performability Evaluation of Fault-Tolerant Multiprocessors”, Proc. 4th Euromicro Workshop on Parallel and Distributed Processing, Braga, Portugal (Jan. 1996).Google Scholar
- [Gamm 92]E. Gamma, “Objektorientierte Software-Entwicklung am Beispiel von ET++”, Springer, Berlin Heidelberg (1992).Google Scholar
- [Gamm 95]E. Gamma, R. Helm, R. Johnson, J. Vlissides, “Design Patterns — Elements of Reusable Object-Oriented Software”, Addison-Wesley, Professional Computing Series (1995).Google Scholar
- [GlNi 92]C.J. Glass, L.M. Ni, “The Turn Model for Adaptive Routing”, Tech. Rep. MSU-CPS-ACS-44, Dept. of Computer Science, Michigan State University, Michigan (March 1992).Google Scholar
- [Grab 95]S. Grabner, D. Kranzlmüller, J. Volkert, “Debugging Parallel Programs Using ATEMPT”, Proc. HPCN Europe 95 Conference, Milano, Italy, pp. 235–240 (May 1995).Google Scholar
- [Haye 88]J.P. Hayes, “Computer Architecture and Organization”, McGraw-Hill International Editions, Singapore (1988).Google Scholar
- [HeFi 93]M. T. Heath, J. E. Finger, “ParaGraph: A Tool for Visualizing Performance of Parallel Programs”, Technical Report Oak Ridge National Laboratories (1993).Google Scholar
- [Hwan 93]K. Hwang, “Advanced Computer Architecture — Parallelism, Scalability, Programmability”, McGraw-Hill Internatl. Editions, Computer Science Series (1993).Google Scholar
- [Hyrs 95]A. Hyrskykari, “Development of Program Visualization Systems”, Technical Report A-1995-3, University of Tampere, Department of Computer Science, Finland (Apr. 1995).Google Scholar
- [Kopp 96]Koppler R., Grabner S., Volkert J.: “Graphical Support for Data Distribution in SPMD Parallelization Environments”, Proc. IEEE 2nd Int'l Conference on Algorithms and Architectures for Parallel Processing, Singapore, (June 1996).Google Scholar
- [KrSt 93]E. Kraemer, J.T. Sasko, “The Visualization of Parallel Systems: An Overview”, Journal of Parallel and Distributed Computing, Vol. 18, No. 2, pp. 105–117, (June 1993).Google Scholar
- [Kran 95]D. Kranzlmüller, S. Grabner, J. Volkert, “PARASIT — Parallel Simulation Tool”, ACPC/TR 95-2, ACPC Technical Report Series, Austria (June 1995).Google Scholar
- [NeMi 92]R.H.B. Netzer, B.P. Miller, “Optimal Tracing and Replay for Debugging Message-Passing Parallel Program”, Proc. Supercomputing 92, Minneapolis, pp. 502–511 (Nov. 1992).Google Scholar
- [NiMc 93]L.M. Ni, P.K. McKinley, “A survey of wormhole routing techniques in direct networks”, IEEE Computer, Vol. 26, No. 2, pp. 62–76 (Feb. 1993).Google Scholar
- [Wein 91]A. Weinand, “Objektorientierter Entwurf und Implemen-tierung portabler Fensterumgebungen am Beispiel des Application-Frameworks ET++”, Dissertation, University Zürich (1991).Google Scholar
- [ZhMa 94]K. Zhang, W. Ma, “Graphical Assistance in Parallel Program Development”, Proc. VL'94 — 10th IEEE International Symposium on Visual Languages, St. Louis, USA, pp. 168–170 (Oct. 1994).Google Scholar