Abstract
Algorithmic skeletons are polymorphic higher-order functions representing common parallelization patterns and implemented in parallel. They can be used as the building blocks of parallel and distributed applications by integrating them into a sequential language. In this paper, we present a new approach to programming with skeletons. We integrate the skeletons into an imperative host language enhanced with higher-order functions and currying, as well as with a polymorphic type system. We thus obtain a high-level programming language which can be implemented very efficiently. After describing a series of skeletons which work with distributed arrays, we give two examples of parallel algorithms implemented in our language, namely matrix multiplication and a statistical numerical algorithm for solving partial differential equations. Run-time measurements show that we approach the efficiency of message-passing C up to a factor between 1 and 1.75.
The work of this author is supported by the “Graduiertenkolleg Informatik und Technik” at the Aachen University of Technology.
Chapter PDF
References
B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, M. Vanneschi: P 3 L: a Structured High-level Parallel Language and its Structured Support, Technical Report HPL-PSC-93-55, Hewlett-Packard Laboratories, Pisa Science Center, 1993.
G. H. Botorog, H. Kuchen: Skil: An Imperative Language with Algorithmic Skeletons for Efficient Distributed Programming, to appear in Proceedings of the Fifth International Symposium on High Performance Distributed Computing (HPDC-5), IEEE Computer Society Press, 1996.
G. H. Botorog, H. Kuchen: Using Algorithmic Skeletons with Dynamic Data Structures, to appear in Proceedings of IRREGULAR '96, LNCS, Springer, 1996.
M. I. Cole: Algorithmic Skeletons: Structured Management of Parallel Computation, MIT Press, 1989.
J. Darlington, A. J. Field, P. G. Harrison et al: Parallel Programming Using Skeleton Functions, in Proceedings of PARLE '93, LNCS 694, Springer, 1993.
J. Darlington, Y. Guo, H. W. To, J. Yang: Functional Skeletons for Parallel Coordination, in Proceedings of EURO-PAR '95, LNCS 966, Springer, 1995.
J. T. Feo, D. C. Cann: A Report on the Sisal Language Project, in Journal of Parallel and Distributed Computing, Vol. 10, No. 4, 1990.
I. Foster, R. Olson, S. Tuecke: Productive Parallel Programming: The PCN Approach, in Scientific Programming, Vol. 1, No. 1, 1992.
H. Kuchen, R. Plasmeijer, H. Stoltze: Efficient Distributed Memory Implementation of a Data Parallel Functional Language, in Proceedings of PARLE '94, LNCS 817, Springer, 1994.
H. Kuchen: Datenparallele Programmierung von MIMD-Rechnern mit verteiltem Speicher, Thesis (in German), Shaker-Verlag, Aachen, 1996.
H. Kuchen, H. Stoltze, I. Dimov, A. Karaivanova: Distributed Memory Implementation of Elliptic Partial Differential Equations in a Dataparallel Functional Language, in Proceedings of MPPM '95, IEEE Computer Society Press, 1995.
L. D. J. C. Loyens, J. R. Moonen: ILIAS, a Sequential Language for Parallel Matrix Computations, in Proceedings of PARLE '94, LNCS 817, Springer, 1994.
Parsytec Computer GmbH: Parix1.2, Software Documentation, Aachen, 1993.
M. J. Quinn: Parallel Computing: Theory and Practice, McGraw Hill, 1994.
M. Röttger, U. P. Schroeder, J. Simon: Virtual Topology Library for PARIX, Technical Report 148, University of Paderborn, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Botorog, G.H., Kuchen, H. (1996). Efficient parallel programming with algorithmic skeletons. In: Bougé, L., Fraigniaud, P., Mignotte, A., Robert, Y. (eds) Euro-Par'96 Parallel Processing. Euro-Par 1996. Lecture Notes in Computer Science, vol 1123. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61626-8_95
Download citation
DOI: https://doi.org/10.1007/3-540-61626-8_95
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61626-9
Online ISBN: 978-3-540-70633-5
eBook Packages: Springer Book Archive