Iterating skeletons: structured parallelism by composition

Mischa Dieterle, Thomas Horstmeyer, Jost Berthold, Rita Loogen

4 Citations (Scopus)

Abstract

Algorithmic skeletons are higher-order functions which provide tools for parallel programming at a higher abstraction level, hiding the technical details of parallel execution inside the skeleton implementation. However, this encapsulation becomes an obstacle when the actual algorithm is one that involves iterative application of the same skeleton to successively improve or approximate the result. Striving for a general and portable solution, we propose a skeleton iteration framework in which arbitrary skeletons can be embedded with only minor modifications. The framework is flexible and allows for various parallel iteration control and parallel iteration body variants. We have implemented it in the parallel Haskell dialect Eden using dedicated stream communication types for the iteration. Two non-trivial case studies show the practicality of our approach. The performance of our compositional iteration framework is competitive with customised iteration skeletons.

Original languageEnglish
Title of host publicationImplementation and Application of Functional Languages : 24th International Symposium, IFL 2012, Oxford, UK, August 30 - September 1, 2012, Revised Selected Papers
EditorsRalf Hinze
Number of pages19
PublisherSpringer
Publication date2013
Pages18-36
ISBN (Print)978-3-642-41581-4
ISBN (Electronic)978-3-642-41582-1
DOIs
Publication statusPublished - 2013
Event24th International Symposium on Implementation and Application of Functional Languages - Oxford, United Kingdom
Duration: 30 Aug 20121 Sept 2012
Conference number: 24

Conference

Conference24th International Symposium on Implementation and Application of Functional Languages
Number24
Country/TerritoryUnited Kingdom
CityOxford
Period30/08/201201/09/2012

Fingerprint

Dive into the research topics of 'Iterating skeletons: structured parallelism by composition'. Together they form a unique fingerprint.

Cite this