Advertisement

Deductive Derivation of Parallel Programs

  • Peter Pepper
Part of the The Springer International Series In Engineering and Computer Science book series (SECS, volume 231)

Abstract

The idea of a rigorous and formal methodology for program development has been successfully applied to sequential programs. In this paper we explore possibilities for adapting this methodology to the derivation of parallel programs. Particular emphasis is given to two questions: How can the partitioning of the data space be expressed on a high and abstract level? Which kinds of functional forms do lead in a natural way to parallel implementations?

Keywords

Data Space Parallel Program Program Text Pivot Element Recursive Solution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Aiken, A., Nicolau, A.: Perfect Pipelining: A New Loop Parallelization Technique. In: Proc. ESOP. Berlin: Springer 1988.Google Scholar
  2. [2]
    Baccelli, F., Fleury, T.: On Parsing Arithmetic Expressions in a Multi-Processing Environment. Acta Informatica 17, 1982, 287–310.MATHCrossRefGoogle Scholar
  3. [3]
    Bar-On, I., Vishkin, U.: Optimal Parallel Generation of a Computation Tree Form. ACM Trans. Prog. Lang. and Systems 7:2, 1985, 348–357.MATHCrossRefGoogle Scholar
  4. [4]
    Bauer, F.L., Wössner, H.: Algorithmic Language And Program Development. Berlin: Springer 1982.MATHGoogle Scholar
  5. [5]
    Bird, R.: Lectures on Constructive Funtional Programming. In: Broy, M. (ed.): Constructive Methods in Computing Science. Proc. Int. Summer School, Berlin: Springer 1989.Google Scholar
  6. [6]
    Bode, A. (ed.): Distributed Memory Computing. Proc. 2nd European Conf. EDMCC2, Munich, April 1991, Lecture Notes in Computer Science 487. Berlin: Springer 1991.MATHGoogle Scholar
  7. [7]
    Broy, M.: A Theory For Nondeterminism, Parallelism, Communications, and Concurrency. Theor. Comp. Sc. 45, 1–61 (1986).MATHCrossRefGoogle Scholar
  8. [8]
    Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman/MIT Press, 1989.Google Scholar
  9. [9]
    Cormen, T.H., Leiserson, C.E:, Rivest, R.L.: Introduction to Algorithms. Cambridge: MIT Press and New York: McGraw-Hill, 1991.Google Scholar
  10. [10]
    Darlington, J., Field, A.J., Harrison, P.G., Kelly, P.H.J., While, R.L., Wu, Q.: Parallel Programming Using Skeleton Functions. Techn. Rep. Dept. of Computing, Imperial College, London, May 26, 1992.Google Scholar
  11. [11]
    Fernandez, A., Llaberia, J.M., Navarro, J.J., Valero-Garcia, M.: Interleaving Partitions of Systolic Algorithms for Programming Distributed Memory Multiprocessors. In Bode, A. (ed.): Distributed Memory Computing. Proc. 2nd European Conf. EDMCC2, Munich, April 1991, Lecture Notes in Computer Science 487. Berlin: Springer 1991.Google Scholar
  12. [12]
    Gallager, R.G., Humblet, P.A., Spira, P.M.: A Distributed Algorithm for Minimum-Weight Spanning Trees. ACM TOPLAS 5:1 (1983) 66–77.MATHCrossRefGoogle Scholar
  13. [13]
    Gibbons, A., Rytter, W.: Efficient Parallel Algorithms. Cambridge: Cambridge University Press1988.MATHGoogle Scholar
  14. [14]
    Gomm, D., Heckner, M., Lange, K.-J., and Riedle, G.: On the Design of Parallel Programs for Machines with Distributed Memory. In: Bode, A. (ed.): Distributed Memory Computing. Proc. 2nd European Conf. EDMCC2, Munich, April 1991, Lecture Notes in Computer Science 487. Berlin: Springer 1991, 381–391.Google Scholar
  15. [15]
    Gries, D.: The Science of Programming. New York: Springer 1981.MATHGoogle Scholar
  16. [16]
    Knapp, E.: An Exercise in the Formal Derivation of Parallel Programs:Maximum Flow in Graphs. ACM TOPLAS 12:2 (1990) 203–223.CrossRefGoogle Scholar
  17. [17]
    Nicolau, A., Wang, H.: Optimal Schedules for Parallel Prefix Computation with Bounded Resources. In: 3rd ACM SIGPLAN Symp. n Principles & Practice of Parallel Programming, SIGPLAN Notices 26:7, July 1991, 1–10.CrossRefGoogle Scholar
  18. [18]
    op den Akker, R., Albas, H., Nijholt, A., Ou de Luttighuis, P.: An Annotaded Bibliography on Parallel Parsing. Universiteit Twente, faculteit der informatica, Memoranda Informatica 89-67, Dec. 1989.Google Scholar
  19. [19]
    Partsch, H.: Specification And Transformation of Programs. Berlin: Springer 1990.MATHGoogle Scholar
  20. [20]
    Pepper, P., Möller, B.: Programming With (Finite) Mappings. In: M. Broy (ed.): Informatik und Mathematik. Berlin: Springer 1991. 381–405.Google Scholar
  21. [21]
    Pepper, P., Schulte, W.: Some Experiments on the Optimal Compilation of Applicative Programs. In: M. Bettaz (ed.): Proc. First Maghrebinian Seminar on Sofware Engineering and Artifiacial Intelligence, Constantine, Algeria, Sept. 1989.Google Scholar
  22. [22]
    Pepper, P.: Specification Languages and Program Transformation. In: Reid, J.K. (ed.): Relationship between Numerical Computation and Programming Languages. Proc. IFIP WG 2.5 Conf., Boulder 1981. Amsterdam, North-Holland 1982, 331–346.Google Scholar
  23. [23]
    Pepper, P.: Literate program derivation: A case study. Broy, M., Wirsing, M. (Eds.): Methodik des Programmierens. Lecture Notes in Computer Science 544, Berlin: Springer 1991, 101–124.CrossRefGoogle Scholar
  24. [24]
    Pepper, P.: Grundlagen des Übersetzerbaus. Course manuscript, Techn. Univ. Berlin, 1991.Google Scholar
  25. [25]
    Quinn, M.J.: Designing Efficient Algorithms for Parallel Computers. New York: McGraw-Hill 1987.MATHGoogle Scholar
  26. [26]
    Schulte, W., Grieskamp, W.: Generating Efficient Portable Code for a Strict Applicative Language. To appear in Proc. Phoenix Seminar and Workshop on Declarative Programming, Hohritt, Germany, Nov. 1991.Google Scholar
  27. [27]
    Tel, G., Tan, R.B., van Leeuwen, J.: The Derivation of Graph Marking Algorithms from Distributed Termination Detection Protocols. Science of Comp. Progr. 10 (1988) 107–137.MATHCrossRefGoogle Scholar
  28. [28]
    Wile, D.: Local Formalisms: Widening the Spectrum of Wide-Spectrum Languages. In: Meertens, L.G.L.T. (ed.): Proc. IFIP TC2 Working Conf. on Program Specification and Transformation, Bad Tölz. Noth-Holland 1986, 459–481.Google Scholar
  29. [29]
    Yang, J.A., Choo, Y.: Parallel-Program Transformation Using a Metalanguage. In: 3rd ACM SIGPLAN Symp. n Principles & Practice of Parallel Programming, SIGPLAN Notices 26:7, July 1991, 11–20.CrossRefGoogle Scholar

Copyright information

© Kluwer Academic Publishers 1993

Authors and Affiliations

  • Peter Pepper
    • 1
  1. 1.Fachbereich InformatikTechnische UniversitätBerlinGermany

Personalised recommendations