Toward formally-based design of message passing programs
- 1 March 2000
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 26 (3) , 276-288
- https://doi.org/10.1109/32.842952
Abstract
Presents a systematic approach to the development of message passing programs. Our programming model is SPMD, with communications restricted to collective operations: scan, reduction, gather, etc. The design process in such an architecture-independent language is based on correctness-preserving transformation rules that are provable in a formal functional framework. We develop a set of design rules for composition and decomposition. For example, scan followed by reduction is replaced by a single reduction, and global reduction is decomposed into two faster operations. The impact of the design rules on the target performance is estimated analytically and tested in machine experiments. As a case study, we design two provably correct, efficient programs using the Message Passing Interface (MPI) for the famous maximum segment sum problem, starting from an intuitive, but inefficient, algorithm specification.Keywords
This publication has 21 references indexed in Scilit:
- Good algorithm design style for multiprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Abstraction and performance in the design of parallel programs: an overview of the SAT approachActa Informatica, 2000
- Models and languages for parallel computationACM Computing Surveys, 1998
- A monadic calculus for parallel costing of a functional language of arraysPublished by Springer Nature ,1997
- Systematic efficient parallelization of scan and other list homomorphismsPublished by Springer Nature ,1996
- PARALLEL PROGRAMMING WITH LIST HOMOMORPHISMSParallel Processing Letters, 1995
- P3L: A structured high‐level parallel language, and its structured supportConcurrency: Practice and Experience, 1995
- Foundations of Parallel ProgrammingPublished by Cambridge University Press (CUP) ,1994
- Virtual data structuresPublished by Springer Nature ,1993
- Applications of a strategy for designing divide-and-conquer algorithmsScience of Computer Programming, 1987