Correctness of automated distribution of sequential programs

  • Cyrille Bareau
  • Benoît Caillaud
  • Claude Jard
  • René Thoraval
Paper Sessions Specification, Verification
Part of the Lecture Notes in Computer Science book series (LNCS, volume 694)


In this paper, we prove that the data-driven parallelization technique, which compiles sequential programs into parallel programs for distributed memory parallel computers, is correct. We dėfine a model based on labeled transition systems, and we prove, in spite of nondeterminism due to communications asynchronism, the confluence of all the possible behaviours of parallel programs obtained from the compilation rules.

We also show that this model is powerful enough to prove the correctness of various optimizations of the basic compilation mechanism.


distributed memory parallel machines formal program development methodologies parallel language constructs and semantics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Françoise André, Jean-Louis Pazat, and Henry Thomas. Pandore: a system to manage data distribution. In ACM International Conference on Supercomputing, June 11–15 1990.Google Scholar
  2. 2.
    K.R. Apt and E.-R. Olderog. Verification of Sequential and Concurrent Programs. Springer-Verlag, 1991.Google Scholar
  3. 3.
    A. Arnold. Transition systems and concurrent processes. Mathematical Problems in Computation Theory, Banach Center Publications, 21, 1988.Google Scholar
  4. 4.
    Cyrille Bareau, Benoît Cailland, Claude Jard, and René Thoraval. Correctness of Automated Distribution of Sequential Programs. Technical Report 665, Institut de Recherche en Informatique et Systèmes Aléatoires, June 1992.Google Scholar
  5. 5.
    Luc Bougé. On the semantics of languages for massively parallel Simd architectures. Research report 91-14, LIP/ENS Lyon, April 1991.Google Scholar
  6. 6.
    David Callahan and Ken Kennedy. Compiling programs for distributed-memory multiprocessors. The Journal of Supercomputing, (2):151–169, 1988.CrossRefGoogle Scholar
  7. 7.
    ISO 9074. Estelle: a Formal Description Technique based on an Extented State Transition Model. ISO TC97/SC21/WG6.1, 1989.Google Scholar
  8. 8.
    C Jard and J.-M. Jézéquel. ECHIDNA, an Estelle-compiler to prototype protocols on distributed computers. Concurrency Practice and Experience, 4(5):377–397, August 1992.Google Scholar
  9. 9.
    Robert M. Keller. A fundamental theorem of asynchronous parallel computation. In T. Y. Feng, editor, Parallel Processing, pages 102–112, Springer Verlag, 1975. Lecture Notes in Computer Science 24.Google Scholar
  10. 10.
    R. Milner. Communication and Concurrency. Prentice Hall, 1989.Google Scholar
  11. 11.
    H. R. Nielson and F. Nielson. Semantics with Applications: a Formal Introduction. Wiley, 1992.Google Scholar
  12. 12.
    Edwin M. Paalvast, Henk J. Sips, and A. J. van Gemund. Automatic parallel program generation and optimization from data decompositions. In International Conference on Parallel Processing, August 1991.Google Scholar
  13. 13.
    P. Weis, M.V. Aponte, A. Laville, M. Mauny, and A. Suárez. The CAML reference manual. Rapport Technique 121, 1NRIA, septembre 1990.Google Scholar
  14. 14.
    Hans P. Zima, Heinz-J. Bast, and Michael Gerndt. Superb: a tool for semi-automatic mimd/simd parallelization. Parallel Computing, (6):1–18, 1988.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Cyrille Bareau
    • 1
  • Benoît Caillaud
    • 1
  • Claude Jard
    • 1
  • René Thoraval
    • 2
  2. 2.Section InformatiqueUniversité de NantesNantes cedex 03

Personalised recommendations