From transformations to methodology in parallel program development: A case study

https://doi.org/10.1016/0165-6074(96)00004-XGet rights and content

Abstract

The Bird-Meertens formalism (BMF) of higher-order functions over lists is a mathematical framework supporting formal derivation of algorithms from functional specifications. This paper reports results of a case study on the systematic use of BMF in the process of parallel program development. We develop a parallel program for polynomial multiplication, starting with a straight-forward mathematical specification and arriving at the target processor topology together with a program for each processor of it. The development process is based on formal transformations; design decisions concerning data partitioning, processor interconnections, etc. are governed by formal type analysis and performance estimation rather than made ad hoc. The parallel target implementation is parameterized for an arbitrary number of processors; for the particular number, the target program is both time and cost-optimal. We compare our results with systolic solutions to polynomial multiplication.

References (32)

  • M. Cole

    List homomorphic parallel algorithms for bracket matching

  • J. Darlington et al.

    Parallel programming using skeleton functions

  • E.W. Dijkstra et al.

    Predicate Calculus and Program Semantics

  • M. Geerling

    Formal derivation of SIMD parallelism >from non-linear recursive specifications

  • M. Geerling

    Program transformations and skeletons: formal derivation of parallel programs

  • J. Gibbons

    Upwards and downwards accumulations on trees

  • View full text