Reduction in Pei

  • E. Violard
  • G. -R. Perrin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 854)


Reduction is one of the major issues in data parallel languages: it can be defined as a rule of program refinement. This article presents a theoretical framework, called Pei, the foundation of a formalism for parallel programming, where this rule can easily be expressed and applied. This formalism is founded on a small but powerful set of primitives: they are three operations on data fields and inverse operations. They induce a clear refinement calculus to transform specifications in executable programs by ensuring a safe process of design or optimization. We show how this approach allows to generalize the classical notion of reduction, by introducing a geometrical reduction and a functional one.


Multiset Parallel programming Reduction operator Refinement Transformations 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BM90]
    J.-P. Banâtre and D. Le Métayer. The Gamma model and its discipline of programming. Science of Computer Programming, 15(1):55–79, 1990.Google Scholar
  2. [CCL91]
    M. Chen, Y. Choo, and J. Li. Parallel Functional Languages and Compilers. Frontier Series. ACM Press, 1991. Chapter 7.Google Scholar
  3. [CM88]
    K.M. Chandy and J. Misra. Parallel Program Design: A foundation. Addison Wesley, 1988.Google Scholar
  4. [Cre91]
    C. Creveuil. Techniques d'analyse et de mise en oeuvre des programmes Gamma. PhD thesis, U. Rennes, 1991.Google Scholar
  5. [Gel85]
    D. Gelernter. Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, January 1985.Google Scholar
  6. [Lev91]
    H. Leverge. Reduction operators in Alpha. Technical report, IRISA, November 1991.Google Scholar
  7. [Map89]
    Distribution INRIA — Rocquencourt. Maple Reference Manual, 4th Edition, March 1989.Google Scholar
  8. [Mau89]
    C. Mauras. Alpha: un langage équationnel pour la conception et la programmation d'architectures parallèles synchrones. PhD thesis, U. Rennes, 1989.Google Scholar
  9. [Mor90]
    C. Morgan. Programming from specifications. C.A.R. Hoare. Prentice Hall Ed., Endlewood Cliffs, N.J., 1990.Google Scholar
  10. [Raj93]
    S. Rajopadhye. Lacs: A language for affine communication structures. Technical report, IRISA Rennes, 1993.Google Scholar
  11. [Vio94]
    E. Violard. A mathematical theory and its environment for parallel programming. to appear in PPL, 1994.Google Scholar
  12. [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
  13. [VP93]
    E. Violard and G.-R. Perrin. Pei: a single unifying model to design parallel programs. PARLE, LNCS, 694:500–516, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • E. Violard
    • 1
  • G. -R. Perrin
    • 1
  1. 1.Laboratoire d'InformatiqueUniversity of Franche-ComtéBesançon

Personalised recommendations