Abstract
Algorithmic skeletons define general patterns of computation which are useful for exposing the computational structure of a program. Being general structures they qualify as a target for parallelisation, which is most often carried out by providing specialised, non-portable, low-level parallel implementations (architectural skeletons) of each algorithmic skeleton for difierent platforms. In the paper we introduce an intermediate layer of implementation skeletons for the parallel functional language Eden. These are portable high-level skeletons which simplify the design of parallel programs substantially. Runtime experiments on a network of workstations and on a Beowulf cluster have shown that even on such high-latency parallel platforms good speedups can be obtained.
Work supported by the DAAD (Deutscher Akademischer Austauschdienst), by the spanish project CICYT-TIC97-0672, and by the Acción Integrada HB 1999-0102
1 URL: http://www.mathematik.uni-marburg.de/inf/eden
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
G. H. Botorog and H. Kuchen. Efficient Parallel Programming with Algorithmic Skeletons. In Europ. Conf. on Par. Proc. (Euro-Par), LNCS 1123. Springer, 1996.
S. Breitinger, U. Klusik, and R. Loogen. From (sequential) Haskell to (parallel) Eden: An Implementation Point of View. In Principles of Declarative Programming, PLILP’98, LNCS 1490. Springer, 1998.
S. Breitinger, R. Loogen, Y. Ortega-Mallén, and R. Peña. Eden — Language Definition and Operational Semantics. TR 96-10, Philipps-Univ. Marburg, 1996.
S. Breitinger, R. Loogen, Y. Ortega-Mallén, and R. Peña. The Eden Coordination Model for Distributed Memory Systems. In High-Level Parallel Progr. Models and Supportive Env. (HIPS). IEEE Press, 1997.
M. Cole. Algorithmic Skeletons: Structure Management of Parallel Computations. MIT Press, 1989. Research Monographs in Parallel and Distributed Computing.
J. Darlington, A. Field, P. Harrison, P. Kelly, D. Sharp, Q. Wu, and R. While. Parallel Programming Using Skeleton Functions. In Parallel Architectures and Languages Europe. Springer, 1993.
J. Darlington, Y.-K. Guo, H. To, and J. Yang. Functional Skeletons for Parallel Coordination. In Euro-Par, LNCS 966. Springer, 1995.
A. Geist, A. Beguelin, J. Dongarra, and W. Jiang. PVM: Parallel Virtual Machine. MIT Press, 1994.
M. Hamdan. A Combinatorial Framework for Parallel Programming Using Algorithmic Skeletons. PhD thesis, Heriot-Watt Univ. Edinburgh, 2000.
K. Hammond and G. Michaelson. Research Directions in Parallel Functional Programming. Springer-Verlag, 1999.
K. Hammond and Á. R. Portillo. HaskSkel: Algorithmic Skeletons in Haskell. In Impl. of Functional Languages (IFL’99), LNCS 1868. Springer-Verlag, 2000.
U. Klusik. An Efficient Implementation of the Parallel Functional Language Eden on Distributed-Memory System. PhD thesis, University of Marburg, 2001. In prep.
U. Klusik, R. Loogen, and S. Priebe. Controlling Parallelism and Data Distribution in Eden. In Trends in Functional Programming, Vol. 2, (SFP 2000). Intellect, 2001.
U. Klusik, R. Peña, and F. Rubio. Replicated Workers in Eden. Workshop on Constructive Methods for Par. Progr. (CMPP). TR-MIP-0007, Passau Univ., 2000.
H. W. Loidl. Granularity in Large-Scale Parallel Functional Programming. PhD thesis, Dept. of Computing Science, University of Glasgow, 1997. TR-1998–7.
C. Okasaki. An Overview of Edison. In ICFP 2000 (Haskell Workshop), 2000.
S. Pelagatti. Structured Development of Parallel Programs. Taylor & Francis, 1998.
J. Peterson and K. Hammond (eds.). Report on the programming language Haskell: a non-strict, purely functional language, version 1.4. TR YALEU/DCS/RR-1106, Yale Univ., 1997.
T. Richert. Skil: Programming with Algorithmic Skeletons — A Practical Point of View. In Proc. of the 12th Int. Workshop on Impl. of Funct. Lang. (IFL’00), Aachener Informatik-Berichte 00-7, RWTH Aachen, 2000.
The MPI Forum. MPI: A Message-Passing Interface Standard. TR, Univ. of Tennessee, Knoxville, 1994.
P. W. Trinder, K. Hammond, H. W. Loidl, and S. L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1), 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg 2001
About this paper
Cite this paper
Klusik, U., Loogen, R., Priebe, S., Rubio, F. (2001). Implementation Skeletons in Eden: Low-Effort Parallel Programming. In: Mohnen, M., Koopman, P. (eds) Implementation of Functional Languages. IFL 2000. Lecture Notes in Computer Science, vol 2011. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45361-X_5
Download citation
DOI: https://doi.org/10.1007/3-540-45361-X_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41919-8
Online ISBN: 978-3-540-45361-1
eBook Packages: Springer Book Archive