Systematic Extraction and Implementation of Divide-and-Conquer Parallelism

作者: Sergei Gorlatch

DOI: 10.1007/3-540-61756-6_91

关键词:

摘要: Homomorphisms are functions that match the divide-and-conquer paradigm and thus can be computed in parallel. Two problems studied for homomorphisms on lists: (1) parallelism extraction: finding a homomorphic representation of given function; (2) implementation: deriving an efficient parallel program computes function. A systematic approach to extraction proceeds by generalization two sequential representations based traditional cons lists dual snoc lists. For some non-homomorphic functions, e.g., maximum segment sum problem, our method provides embedding into homomorphism. The implementation is addressed introducing subclass distributable them schema, which time optimal hypercube architecture. derivation equational reasoning Bird-Meertens formalism, guarantees correctness target program. illustrated with function scan (parallel prefix), combination methods yields “folklore” algorithm, usually presented ad hoc literature.

参考文章(29)
James P. Schmeiser, David B. Skillicorn, David T. Barnard, Associative Operators for Language Recognition. Bulletin of The European Association for Theoretical Computer Science. ,vol. 43, pp. 131- 138 ,(1991)
Klaus Achatz, Wolfram Schulte, Architecture Independent Massive Parallelization of Divide-and-Conquer Algorithms mathematics of program construction. pp. 97- 127 ,(1995) , 10.1007/3-540-60117-1_7
D. B. Skillicorn, Foundations of parallel programming Cambridge University Press. ,(1995) , 10.1017/CBO9780511526626
Doaitse Swierstra, Oege Moor, Virtual data structures Proceedings of the IFIP TC2/WG 2.1 State-of-the-Art Report on Formal Program Development. pp. 355- 371 ,(1993) , 10.1007/3-540-57499-9_26
Jeremy Gibbons, The Third Homomorphism Theorem Journal of Functional Programming. ,vol. 6, pp. 657- 665 ,(1996) , 10.1017/S0956796800001908
Jeremy Gibbons, Upwards and Downwards Accumulations on Trees mathematics of program construction. ,vol. 669, pp. 122- 138 ,(1992) , 10.1007/3-540-56625-2_11
Wojciech Rytter, Alan Gibbons, Efficient parallel algorithms ,(1988)
Sergei Gorlatch, Stages and transformations in parallel programming Abstract machine models for parallel and distributed computing. pp. 147- ,(1997)
Sergei Gorlatch, Systematic Efficient Parallelization of Scan and Other List Homomorphisms european conference on parallel processing. pp. 401- 408 ,(1996) , 10.1007/BFB0024729