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...
Uloženo v:
| Vydáno v: | Journal of functional programming Ročník 15; číslo 3; s. 431 - 475 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Cambridge, UK
Cambridge University Press
01.05.2005
|
| ISSN: | 0956-7968, 1469-7653 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Shrnutí: | 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. |
|---|---|
| Bibliografie: | 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 |