Abstract
Homomorphisms are functions which can be parallelized by the divide-and-conquer paradigm. A class of distributable homomorphisms (DH) is introduced and an efficient parallel implementation schema for all functions of the class is derived by transformations in the Bird-Meertens formalism. The schema can be directly mapped on the hypercube with an unlimited or an arbitrary fixed number of processors, providing provable correctness and predictable performance. The popular scan-function (parallel prefix) illustrates the presentation: the systematically derived implementation for scon coincides with the practically used “folklore” algorithm for distributed-memory machines.
The author was partially supported by the DAAD cooperation programs ARC and PROCOPE, and by the Project INTAS-93-1702.
Chapter PDF
Keywords
- Parallel Prefix
- Standard Message Passing Interface
- General Homomorphism
- Arbitrary Fixed Number
- List Homomorphism
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
R. S. Bird. Lectures on constructive functional programming. In M. Broy, editor, Constructive Methods in Computing Science, NATO ASO Series F: Computer and Systems Sciences. Vol. 55, pages 151–216. Springer Verlag, 1988.
G. Blelloch. Scans as primitive parallel operations. IEEE Trans. on Computers, 38(11):1526–1538, November 1989.
J. Misra. Powerlist: a structure for parallel recursion. ACM TOPLAS, 16(6): 1737–1767, 1994.
S. Gorlatch. Stages and transformations in parallel programming. In M. Kara et al., editors, Abstract Machine Models for Parallel and Distributed Computing, pages 147–162. IOS Press, 1996.
S. Gorlatch. Constructing list homomorphisms. Technical Report MIP-9512, UniversitÄt Passau, 1995.
D. Skillicorn and W. Cai. A cost calculus for parallel functional programming. Journal of Parallel and Distributed Computing, 28:65–83, 1995.
M. J. Quinn. Parallel Computing. McGraw-Hill, Inc., 1994.
M. Reid-Miller. List ranking and list scan on the Cray C-90. In Proceedings SPAA '94, pages 104–113, 1994.
D. Walker. The design of a standard message passing interface for distributed memory concurrent computers. Parallel Computing, 20:657–673, 1994.
F. Preparata and J. Vuillemin. The cube-connected cycles: A versatile network for parallel computation. Communications of the ACM, 24(5):300–309, 1981.
Z. G. Mou. Divacon: A parallel language for scientific computing based on divide and conquer. In Proc. 3rd Symposium on the Frontiers of Massively Parallel Computation, pages 451–461, October 1990.
J. O'Donnell. A correctness proof of parallel scan. Parallel Processing Letters, 4(3):329–338, 1994.
J. Gibbons. Upwards and downwards accumulations on trees. In R. Bird, C. Morgan, and J. Woodcock, editors, Mathematics of Program Construction, Lecture Notes in Computer Science 669, pages 122–138, 1992.
J. Kornerup. Mapping a functional notation for parallel programs onto hypercubes. Information Processing Letters, 53:153–158, 1995.
K. Achatz and W. Schulte. Architecture independent massive parallelization of divide-and-conquer algorithms. In B. Moeller, editor, Mathematics of Program Construction, Lecture Notes in Computer Science 947, pages 97–127, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gorlatch, S. (1996). Systematic efficient parallelization of scan and other list homomorphisms. In: Bougé, L., Fraigniaud, P., Mignotte, A., Robert, Y. (eds) Euro-Par'96 Parallel Processing. Euro-Par 1996. Lecture Notes in Computer Science, vol 1124. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024729
Download citation
DOI: https://doi.org/10.1007/BFb0024729
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61627-6
Online ISBN: 978-3-540-70636-6
eBook Packages: Springer Book Archive