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?
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aiken, A., Nicolau, A.: Perfect Pipelining: A New Loop Parallelization Technique. In: Proc. ESOP. Berlin: Springer 1988.
Baccelli, F., Fleury, T.: On Parsing Arithmetic Expressions in a Multi-Processing Environment. Acta Informatica 17, 1982, 287–310.
Bar-On, I., Vishkin, U.: Optimal Parallel Generation of a Computation Tree Form. ACM Trans. Prog. Lang. and Systems 7:2, 1985, 348–357.
Bauer, F.L., Wössner, H.: Algorithmic Language And Program Development. Berlin: Springer 1982.
Bird, R.: Lectures on Constructive Funtional Programming. In: Broy, M. (ed.): Constructive Methods in Computing Science. Proc. Int. Summer School, Berlin: Springer 1989.
Bode, A. (ed.): Distributed Memory Computing. Proc. 2nd European Conf. EDMCC2, Munich, April 1991, Lecture Notes in Computer Science 487. Berlin: Springer 1991.
Broy, M.: A Theory For Nondeterminism, Parallelism, Communications, and Concurrency. Theor. Comp. Sc. 45, 1–61 (1986).
Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman/MIT Press, 1989.
Cormen, T.H., Leiserson, C.E:, Rivest, R.L.: Introduction to Algorithms. Cambridge: MIT Press and New York: McGraw-Hill, 1991.
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.
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.
Gallager, R.G., Humblet, P.A., Spira, P.M.: A Distributed Algorithm for Minimum-Weight Spanning Trees. ACM TOPLAS 5:1 (1983) 66–77.
Gibbons, A., Rytter, W.: Efficient Parallel Algorithms. Cambridge: Cambridge University Press1988.
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.
Gries, D.: The Science of Programming. New York: Springer 1981.
Knapp, E.: An Exercise in the Formal Derivation of Parallel Programs:Maximum Flow in Graphs. ACM TOPLAS 12:2 (1990) 203–223.
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.
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.
Partsch, H.: Specification And Transformation of Programs. Berlin: Springer 1990.
Pepper, P., Möller, B.: Programming With (Finite) Mappings. In: M. Broy (ed.): Informatik und Mathematik. Berlin: Springer 1991. 381–405.
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.
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.
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.
Pepper, P.: Grundlagen des Übersetzerbaus. Course manuscript, Techn. Univ. Berlin, 1991.
Quinn, M.J.: Designing Efficient Algorithms for Parallel Computers. New York: McGraw-Hill 1987.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Kluwer Academic Publishers
About this chapter
Cite this chapter
Pepper, P. (1993). Deductive Derivation of Parallel Programs. In: Paige, R., Reif, J., Watcher, R. (eds) Parallel Algorithm Derivation and Program Transformation. The Springer International Series In Engineering and Computer Science, vol 231. Springer, Boston, MA. https://doi.org/10.1007/978-0-585-27330-3_1
Download citation
DOI: https://doi.org/10.1007/978-0-585-27330-3_1
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-7923-9362-7
Online ISBN: 978-0-585-27330-3
eBook Packages: Springer Book Archive