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 language | English |
---|---|
Title of host publication | Implementation and Application of Functional Languages : 24th International Symposium, IFL 2012, Oxford, UK, August 30 - September 1, 2012, Revised Selected Papers |
Editors | Ralf Hinze |
Number of pages | 19 |
Publisher | Springer |
Publication date | 2013 |
Pages | 18-36 |
ISBN (Print) | 978-3-642-41581-4 |
ISBN (Electronic) | 978-3-642-41582-1 |
DOIs | |
Publication status | Published - 2013 |
Event | 24th International Symposium on Implementation and Application of Functional Languages - Oxford, United Kingdom Duration: 30 Aug 2012 → 1 Sept 2012 Conference number: 24 |
Conference
Conference | 24th International Symposium on Implementation and Application of Functional Languages |
---|---|
Number | 24 |
Country/Territory | United Kingdom |
City | Oxford |
Period | 30/08/2012 → 01/09/2012 |