Journal Article10.1017/S0956796805005526
Parallel functional programming in Eden
TL;DR: 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, and points at many additional results that have been achieved in the context of the Eden project.
read more
Abstract: 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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Design principles for developing stream processing applications
Deepak S. Turaga,Henrique Andrade,Bugra Gedik,Chitra Venkatramani,Olivier Verscheure,Jeffrey David Harris,John C. Cox,William Szewczyk,Paul Jones +8 more
TL;DR: The design principles and architectural underpinnings for stream processing applications are described, distilled from the experience in building real-world applications both for internal use as well as with customers from several industrial and academic domains.
289
Parallel functional programming in Eden
TL;DR: 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, and points at many additional results that have been achieved in the context of the Eden project.
Patent
Automatic code transformation with state transformer monads
Henricus Johannes Maria Meijer,John Wesley Dyer +1 more
- 28 Mar 2008
TL;DR: Stateful computations are transformed into stateless computations automatically to facilitate scalability as discussed by the authors, where state is passed as an additional argument in a call and returns as a new state as an extra result.
52
Parallel performance tuning for Haskell
Don Jones,Simon Marlow,Satnam Singh +2 more
- 03 Sep 2009
TL;DR: An early prototype of a parallel profiling system for multicore programming with GHC comprises three parts: fast event tracing in the runtime, a Haskell library for reading the resulting trace files, and a number of tools built on this library for presenting the information to the programmer.
48
Cost-Directed Refactoring for Parallel Erlang Programs
TL;DR: This paper presents a new programming methodology for introducing and tuning parallelism in Erlang programs, using source-level code refactoring from sequential source programs to parallel programs written using the authors' skeleton library, Skel.
41
References
Validity of the single processor approach to achieving large scale computing capabilities
Gene Myron Amdahl
- 18 Apr 1967
TL;DR: In this paper, the authors argue that the organization of a single computer has reached its limits and that truly significant advances can be made only by interconnection of a multiplicity of computers in such a manner as to permit cooperative solution.
4K
•Book
Parallel Programming in OpenMP
Rohit Chandra,Leonardo Dagum,Dave Kohr,Dror E. Maydan,Jeff McDonald,Ramesh Menon +5 more
- 11 Oct 2000
TL;DR: Aimed at the working researcher or scientific C/C++ or Fortran programmer, this text introduces the competent research programmer to a new vocabulary of idioms and techniques for parallelizing software using OpenMP.
1.5K
•Book
Algorithmic skeletons : structured management of parallel computation
Murray Cole
- 25 Oct 1989
TL;DR: This book introduces a new approach to the design and implementation of software systems which will help users of large scale parallel systems coordinate many concurrent activities toward a single goal and proposes a selection of independent algorithmic skeletons which describes the structure of a particular style of algorithm.
Template meta-programming for Haskell
Tim Sheard,Simon Jones +1 more
- 03 Oct 2002
TL;DR: A new extension to the purely functional programming language Haskell that supports compile-time meta-programming and the ability to generate code at compile time allows the programmer to implement such features as polytypic programs, macro-like expansion, user directed optimization, and the generation of supporting data structures and functions from existing data structure and functions.
Related Papers (5)
[...]
Simon Jones,Andrew D. Gordon,Sigbjorn Finne +2 more
- 01 Jan 1996
Rita Loogen,Yolanda Ortega,Ricardo Peña,Steffen Priebe,Fernando Rubio +4 more
- 01 Jan 2003