Flexible program and architecture specification for massively parallel systems

  • Stephan Kindermann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 854)


Based on a stepwise software development methodology in this paper a possibility is presented to formally describe the algorithmic details and hardware-characteristics influencing efficient problem solutions for massively parallel systems. Variability at the specification level is introduced by the possibility to express properties and modification rules of the mathematical objects and expressions the algorithm is based on. The underlying details of the (massively parallel) architecture are described in terms of an abstract data type (ADT) along with transformation rules connecting architecture independent descriptions (based on recurrence equations) and target system characteristics. By this means it is also possible to specify special language and library support along with their performance characteristics, thus forming a basis for a performance model of the architecture. A simple example is presented illustrating our approach taking the MasPar SIMD system [Bla90] as the target architecture.


massively parallel systems SIMD architectures program transformation skeletons algebraic specification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bar90]
    Michael Barnett. The formal derivation of distributed programs from systolic arrays. In Proceedings Supercomputing, pages 363–366, 1990.Google Scholar
  2. [Bla90]
    T. Blank. The MasPar MP-1 Architecture. In Proceedings IEEE Compcon, 1990.Google Scholar
  3. [CCL91]
    M. Chenand, Y Choo, and J. Li. Crystal: Theory and Pragmatics of Generating efficient parallel Code, chapter 7, pages 255–308. Addison Wesley, 1991.Google Scholar
  4. [Col89]
    M.I. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman, 1989.Google Scholar
  5. [DFH+93]
    J. Darlington, A.J. Field, P.G. Harrison, P.H.J. Kelly, Q. Wu, and R.L. While. Parallel programming using skeleton functions. In PARLE93, Parallel Architectures and Languages Europe, June 1993.Google Scholar
  6. [Gee92]
    Max Geerling. Two examples of parallel program derivation: Parallel prefix and matrix multiplication. Technical report, University of Nijmegen, The Netherlands, 1992.Google Scholar
  7. [HPW92]
    P. Hudak, Jones S. Peyton, and P. Wadler. Report on the programmming language Haskell: A non strict purely functional language (version 1.2). ACM SIGPLAN notices, 27(5), 1992.Google Scholar
  8. [LC91]
    Jingke Li and Marina Chen. The data alignment phase in compiling programs for distributed-memory machines. Journal of Parallel and Distributed Computing, 13:213–221, 1991.Google Scholar
  9. [Lis90]
    Björn Lisper. Synthesis of time-optimal systolic arrays with cells with inner structure. Journal of Parallel and Distributed Computing, 10:182–187, 1990.Google Scholar
  10. [MGQS89]
    C. Mauras, P. Gachet, P. Quinton, and Y. Saouter. Alpha du centaur: An environment for the design of regular algorithms. In International Conference on Supercomputing, Crete, 1989.Google Scholar
  11. [Par90]
    H. Partsch. Specification and Transformation of Programs — a Formal Approach. Springer, 1990.Google Scholar
  12. [Szy91]
    Boleslaw K. Szymanski. EPL: Parallel Programming with Recurrent Equations, chapter 3, pages 51–104. Addison Wesley, 1991.Google Scholar
  13. [Tse90]
    Ping-Sheng Tseng. A systolic array parallelizing compiler. Journal of Parallel and Distributed Computing, 9:116–127, 1990.Google Scholar
  14. [VP92]
    E. Violard and G.-R. Perrin. PEI: A language and its refinement calculus for parallel programming. Parallel Computing, 18:1167–1184, 1992.Google Scholar
  15. [Wol91]
    Stephen Wolfram. Mathematica, A System for Doing Mathematics by Computer. Addison Wesley Publishing Company, 1991.Google Scholar
  16. [Yan89]
    A. Yang. Design and implementation of meta-Crystal: a metalanguage for parallel program optimization. Technical report, Department of Computer Science, Yale University, 1989.Google Scholar
  17. [Yos88]
    Norihiko Yoshida. A transformational approach to the derivation of hardware algorithms form recurrence equations. In Proceedings Supercomputing, pages 433–440, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Stephan Kindermann
    • 1
  1. 1.University of Erlangen-NürnbergErlangenGermany

Personalised recommendations