Parallelization of divide-and-conquer in the Bird-Meertens formalism
- 1 November 1995
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 7 (6) , 663-682
- https://doi.org/10.1007/bf01211000
Abstract
An SPMD parallel implementation schema for divide-and-conquer specifications is proposed and derived by formal refinement (transformation) of the specification schema. The specification is in the form of a mutually recursive functional definition. In a first phase, a parallel functional program schema is constructed which consists of a communication tree and a functional program that is shared by all nodes of the tree. The fact that this phase proceeds by semantics-preserving transformations in the Bird-Meertens formalism of higher-order functions guarantees the correctness of the resulting functional implementation. A second phase yields an imperative distributed message-passing implementation of this schema. The derivation process is illustrated with an example: a two-dimensional numerical integration algorithm.Keywords
This publication has 23 references indexed in Scilit:
- Deriving parallel programs from specifications using cost informationScience of Computer Programming, 1993
- List processing primitives for parallel computationComputer Languages, 1993
- Pipelines for Divide-and-Conquer FunctionsThe Computer Journal, 1993
- A Higher-Order Approach to Parallel AlgorithmsThe Computer Journal, 1992
- Compile-time transformations and optimization of parallel Divide-and-Conquer algorithmsACM SIGPLAN Notices, 1991
- An exercise in transformational programming: Backtracking and branch-and-boundScience of Computer Programming, 1991
- Cascading Divide-and-Conquer: A Technique for Designing Parallel AlgorithmsSIAM Journal on Computing, 1989
- Lectures on Constructive Functional ProgrammingPublished by Springer Nature ,1989
- Supporting divide-and-conquer algorithms for image processingJournal of Parallel and Distributed Computing, 1987
- Can programming be liberated from the von Neumann style?Communications of the ACM, 1978