Parallel functional programming in Eden
Eden extends the non-strict functional language Haskell with constructs to control parallel evaluation of processes. Although processes are defined explicitly, communication and synchronisation issues are handled in a way transparent to the programmer. In order to offer effective support for paralle...
Saved in:
| Published in: | Journal of functional programming Vol. 15; no. 3; pp. 431 - 475 |
|---|---|
| Main Authors: | , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
Cambridge, UK
Cambridge University Press
01.05.2005
|
| ISSN: | 0956-7968, 1469-7653 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Summary: | Eden extends the non-strict functional language Haskell with constructs to control parallel evaluation of processes. Although processes are defined explicitly, communication and synchronisation issues are handled in a way transparent to the programmer. In order to offer effective support for parallel evaluation, Eden's coordination constructs override the inherently sequential demand-driven (lazy) evaluation strategy of its computation language Haskell. Eden is a general-purpose parallel functional language suitable for developing sophisticated skeletons – which simplify parallel programming immensely – as well as for exploiting more irregular parallelism that cannot easily be captured by a predefined skeleton. The paper gives a comprehensive description of Eden, its semantics, its skeleton-based programming methodology – which is applied in three case studies – its implementation and performance. Furthermore it points at many additional results that have been achieved in the context of the Eden project. |
|---|---|
| Bibliography: | PII:S0956796805005526 istex:CB58E310BAF7823206AC0EAEF44202A01FDE63C6 ark:/67375/6GQ-70346LW0-C SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 14 |
| ISSN: | 0956-7968 1469-7653 |
| DOI: | 10.1017/S0956796805005526 |