3D visual tool supporting derivation of parallel programs for MIMD systems

  • Elena Trichina
  • Juha Oinonen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1277)


Parallel program design and analysis is a complex activity, where many difficulties stem from the principle inadequacy of pure textual formalism to specify parallelism in an understandable fashion. In this paper we report on a visual system, which uses a three dimensional model to describe the data dependencies in the computational domain and to visualise transformations of this domain relevant to the main steps in parallel program design. We believe three dimensional interactive graphics provides an extra degree of freedom for conveying information. Using 3D graphics, we can visualise all the data dependencies evolving in time as a three dimensional graph, displaying it on a screen. Visual abstraction, animation of transformations and visualisation of their effects will shift information to the perceptual level to help assimilate mathematical notions.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Assniis, R. Back, and T. Ldngbacka: Millipede — a programming environment providing visual support for parallel programming. Parallel Computing: From Theory to Sound Practice, W. Joosen and E. Milgrom eds. IOS Press, Amsterdam (1992) 37–46.Google Scholar
  2. 2.
    D. Bailey, J. Cuny, and C. Loomis: ParaGraph: graph editor support for parallel programming environments. Int. J. of Parallel Programming 19(2) (1990) 75–110.Google Scholar
  3. 3.
    L.Barfield, E. Boeve, and S. Pemberton: Objects, invariants, and treacle: animation in the View system. Proc. HCI'93 Int. Conf. on People and Computers VIII (1993) 157–171.Google Scholar
  4. 4.
    U. Banerjee, R. Eigenman, A. Nicolau, and A. Padua: Automatic program parallelization. Proceedings of the IEEE 81(2) (1993) 211–243.Google Scholar
  5. 5.
    T. Casavant, J. A. Kolh, and Y. Papelis: Practical use of visualization for parallel systems. Parallel Computing: From Theory to Sound Practice, W. Joosen and E. Milgrom eds. IOS Press, Amsterdam (1992) 1–15.Google Scholar
  6. 6.
    M. Chuah, S. Roth, J. Mattis, and J. Kolojejchick: SDM: selective dynamic manipulation of visualization. Eighth Annual Symposium on User Interface Software and Technology. Pittsburgh, Pennsylvania (1995) 61–70.Google Scholar
  7. 7.
    A. Couch: Graphical representation of program performance on hypercube message-massing multiprocessors. PhD thesis, Tufts University, Medford, Massachusetts, 1988.Google Scholar
  8. 8.
    M. Chen. A design methodology for synthesising parallel algorithms and architectures. J. of Parallel and Distributed Computing 3(6) (1986) 461–491.Google Scholar
  9. 9.
    G. Ivanello and al.: Parallel software development in DISC programming environment. Future Generation Computer Systems 5(4) (1990) 365–372.Google Scholar
  10. 10.
    R. W. Hockney and C. R. Jesshope: Parallel Computers 2: Architecture, Programming and Algorithms. IOP Publishing Ltd., Bristol U.K., 1988.Google Scholar
  11. 11.
    O. Krämer-Purhmann: A software environment for graphical specification, automatic configuration and animation of parallel programs. Supercomputing (1988) 25–37.Google Scholar
  12. 12.
    V. Lo, S. Rajopadhye, S. Gupta, D. Keldsen, M. Mohamed, B. Nitzberg. J. Telle, and X. Zhong: OREGAMI: tools for mapping parallel computations to parallel architectures. Int. J. of Parallel Programming 20(3) (1992) 237–270.Google Scholar
  13. 13.
    C. Mongenet: Data compiling for systems of uniform recurrence equations. Parallel Processing Letters 4(3) (1994) 245–257.Google Scholar
  14. 14.
    J. Oinonen: On software tools for parallel programming. Master's Thesis, Department of Computer Science, University of Joensuu, Finland, May 1995.Google Scholar
  15. 15.
    M.-C. Pong: I-Pigs: an interactive graphical environment for concurrent programming. The Computer Journal 34(4) (1991) 320–329.Google Scholar
  16. 16.
    S. Rajopadhye and R. Fujimoto: Synthesizing systolic arrays from recurrence equations. Parallel Computing 14(2) (1990) 163–189.Google Scholar
  17. 17.
    G. Robertson, J. Mackinlay, and S. Card: Cone trees: Animated 3D visualization of hierarchical information. Proc. of the ACM CHP'91 Conference on Human Factors in Computing Systems (1991) 189–194.Google Scholar
  18. 18.
    P. Quinton: Automatic synthesis of systolic arrays from uniform recurrent equations. Proc 11th Ann Int Symp on Computer Architecture. IEEE Computer Society Press (1984) 208–214.Google Scholar
  19. 19.
    S. Sedukhin, and E. Trichina: An automated procedure for synthesis of systolic/wavefront arrays. CONPAR'88. Jesshope and al eds. Cambridge University Press (1989) 335–345.Google Scholar
  20. 20.
    L. Snyder: Parallel programming and Poker programming environment. Computer 17(7) (1986) 27–37.Google Scholar
  21. 21.
    S. Stepney: Grail — graphical representation of activity, interconnection and loading. Proc of the 7th occam Users Group and Workshop on Parallel Programming of Transputer Based Machines, T. Muntean ed (1987) 1–7.Google Scholar
  22. 22.
    E. Trichina: Development of occam programs by stepwise transformations of affine recurrent equations. Akademie Verlag Mathematical Research 12 (1994) 151–161.Google Scholar
  23. 23.
    E. Trichina: From functional equations to occam programs: Systolizing compilation. Parallel Architectures and Compilation Techniques, L. Bic and al eds. IFIP Press (1995) 310–315.Google Scholar
  24. 24.
    E. Trichina: Visual tutoring system for programming multiprocessor networks. Machine-Mediated Learning 5(2) (1996) 77–90.Google Scholar
  25. 25.
    G. Wirtz: Graph-based parallel programming in Graph+C, Proc of Workshop über Parallelverarbeitung, K. Ecker and R. Hirschberg eds, TU ClausthaJ, Institut für Informatik, Clausthal (1990) 103–116.Google Scholar
  26. 26.
    M. Wolfe and U. Banerjee: Data dependence and its application to parallel processing. Int. J. of Parallel Programming 16(2) (1987) 137–178.Google Scholar

Copyright information

© Springer-Verlag 1997

Authors and Affiliations

  • Elena Trichina
    • 1
  • Juha Oinonen
    • 2
  1. 1.Advanced Computing Research CentreUniversity of South AustraliaThe LevelsAustralia
  2. 2.Department of Computer ScienceUniversity of JoensuuJoensuuFinland

Personalised recommendations