Efficient parallel programming with algorithmic skeletons

31Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

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. Rml-time measurements show that we approach the efficiency of message-passing C up to a factor between 1 and 1.75.

Cite

CITATION STYLE

APA

Botorog, G. H., & Kuchen, H. (1996). Efficient parallel programming with algorithmic skeletons. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1123, pp. 718–731). Springer Verlag. https://doi.org/10.1007/3-540-61626-8_95

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free