Abstract
Parallelism seeks to achieve better computation performance by simultaneously using multiple processors, either in one computer or across several computers connected in a network. Parallel computing has not yet become a routine way of solving problems faster, mostly because parallel machines are hard to program. A major reason for this unsatisfactory situation is that the convenience and correctness of parallel programming has often been neglected in favour of the foremost aim of parallelism — achieving very high absolute performance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R. Backhouse, P. Jansson, J. Jeuring, and L. Meertens. Generic programming: An introduction. In LNCS, volume 1608, pages 28-115. Springer-Verlag, 1999.
M. Barr. Algebraically compact functors. Journal of Pure and Applied Algebra, 82:211-231, 1992.
J. Bentley. Programming pearls. Comm. ACM, 27:865-871, 1984.
R. Bird. Lectures on constructive functional programming. In M. Broy, editor, Constructive Methods in Computing Science, NATO ASI Series F: Computer and Systems Sciences. Vol. 55, pages 151-216. Springer-Verlag? 1988.
T. Bonk. Ein rekursiver Algorithmus zur adaptiven numerischen Quadratur mehrdimensionaler Funktionen. PhD thesis, Technische Universität München, 1994.
R. Burstall and J. Darlington. A transformation system for developing recursive programs. J. ACM, 25(1):44-67, 1977.
W. Cai and D. Skillicorn. Calculating recurrences using the Bird-Meertens formalism. Parallel Processing Letters, 5(2):179-190, 1995.
M. Cole. Parallel programming with list homomorphisms. Parallel Processing Letters, 5(2):191-204, 1994.
M. I. Cole. Algorithmic Skeletons: A Structured Approach to the Management of Parallel Computation. Pitman, 1989.
M. M. Fokkinga. Law and Order in Algorithmics. PhD thesis, University of Twente, Dept INF, Enschede, The Netherlands, 1992.
U. Fraus and H. Hußmann. Term induction proofs by a generalization of narrowing. In C. Rattray and R. G. Clark, editors, The Unified Computation Laboratory: Unifying Frameworks, Theories and Tools. Clarendon, 1992.
P. J. Freyd. Remarks on algebraically compact categories. In M. P. Four-man, P. T. Johnstone, and A. M. Pitts, editors, Applications of Categories in Computer Science: Proceedings of the LMS Symposium, Durham, 1991, number 177 in LMS Lecture Notes. Cambridge University Press, 1992.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison Wesley, 1995.
A. Geser and S. Gorlatch. Parallelizing functional programs by generalization. J. Functional Programming, 9(6):649-673, 1999.
J. Gibbons. The third homomorphism theorem. Technical report, U. Auckland, 1994.
S. Gorlatch. Optimizing compositions of scans and reductions in parallel program derivation. Technical Report MIP-9711, Universität Passau, May 1997. Available athttp://www.fmi.uni-passau.de/cI/papers/Gor97b.html.
S. Gorlatch. Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming, 33(1):1-27, 1998.
S. Gorlatch and C. Lengauer. Parallelisation of divide-and-conquer in the Bird-Meertens formalism. Formal Aspects of Computing, 7(6):663-682, 1995.
S. Gorlatch and C. Lengauer. Abstraction and performance in the design of parallel programs• overview of the SAT approach. Acta Informatica, 36(9):761-803, 2000.
Z. Grant-Duff and P. Harrison. Parallelism via homomorphisms. Parallel Processing Letters, 6(2):279-295, 1996.
[21] B. Heinz. Lemma discovery by anti-unification of regular sorts. Technical Report 94-21, TU Berlin, May 1994.
J. O'Donnell. A correctness proof of parallel scan. Parallel Processing Letters, 4(3):329-338, 1994.
H. Reichel. An approach to object semantics based on terminal co-algebras. Mathematical Structures in Computer Science, 5(2):129-152, 1995.
D. B. Skillicorn. Foundations of Parallel Programming. Cambridge International Series on Parallel Computation. Cambridge University Press, 1994.
[25] D. Smith. Applications of a strategy for designing divide-and-conquer algorithms. Science of Computer Programming, 8(3):213-229, 1987.
D. Swierstra and O. de Moor. Virtual data structures. In B. Möller, H. Partsch, and S. Schuman, editors, Formal Program Development, Lecture Notes in Computer Science 755, pages 355-371. Springer-Verlag, 1993.
C. Szyperski. Component software: beyond object-oriented programming. Addison Wesley, 1998.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag London
About this chapter
Cite this chapter
Fischer, J., Gorlatch, S., Bischof, H. (2003). Foundations of Data-parallel Skeletons. In: Rabhi, F.A., Gorlatch, S. (eds) Patterns and Skeletons for Parallel and Distributed Computing. Springer, London. https://doi.org/10.1007/978-1-4471-0097-3_1
Download citation
DOI: https://doi.org/10.1007/978-1-4471-0097-3_1
Publisher Name: Springer, London
Print ISBN: 978-1-85233-506-9
Online ISBN: 978-1-4471-0097-3
eBook Packages: Springer Book Archive