EXTRACTING AND IMPLEMENTING LIST HOMOMORPHISMS IN PARALLEL PROGRAM-DEVELOPMENT

Authors
Citation
S. Gorlatch, EXTRACTING AND IMPLEMENTING LIST HOMOMORPHISMS IN PARALLEL PROGRAM-DEVELOPMENT, Science of computer programming, 33(1), 1999, pp. 1-27
Citations number
31
Categorie Soggetti
Computer Science Software Graphycs Programming","Computer Science Software Graphycs Programming
ISSN journal
01676423
Volume
33
Issue
1
Year of publication
1999
Pages
1 - 27
Database
ISI
SICI code
0167-6423(1999)33:1<1:EAILHI>2.0.ZU;2-Q
Abstract
Homomorphisms are functions that match the divide-and-conquer pattern and are widely used in parallel programming. Two problems are studied for homomorphisms on lists: (1) parallelism extraction: finding a homo morphic representation of a given function; (2) parallelism implementa tion: deriving an efficient parallel program that computes the functio n. The proposed approach to parallelism extraction starts by writing t wo sequential programs for the function, on traditional cons lists and on dual snoc lists; the parallel program is obtained by generalizing sequential programs as terms. For almost-homomorphic functions, e.g., the maximum segment sum problem, our method provides a systematic embe dding into a homomorphism. The implementation problem is addressed by introducing the class of distributable homomorphisms and deriving for them a common parallel program schema. The derivation is based on equa tional reasoning in the Bird-Meertens formalism, which guarantees the correctness of the parallel target program. The approach is illustrate d with the function scan (parallel prefix), for which the combination of our two systematic methods yields the optimal hypercube algorithm, usually presented ad hoc in the literature. (C) 1999 Elsevier Science B.V. All rights reserved.