Eden has been jointly developed by two groups at Philipps
Universitat Marburg, Germany and Universidad Complutense de Madrid,
Spain. The project has been ongoing since 1996. Currently, the team
consists of the following people: Rita Loogen, Jost Berthold, Mischa
Dieterle, Thomas Horstmeyer, Oleg Lobachev, Johannes
May. See here for
knowing the current developments.
Eden extends Haskell with a small set of syntactic constructs for explicit
process specification and creation. While process launching is explicit,
process communication and synchronisation are implicit. The computational
language is Haskell, so it is lazy, while the coordination constructs
introduce eagerness in process launching and communications. The result is
both an enough abstract language for parallel programming, and an enough
efficient language for exploiting multi-computer grids.
Eden's main constructs are process abstractions and process
instantiations. The function process :: (a -> b) -> Process a b embeds a
function of type (a -> b) into a process abstraction of type Process a b
which, when instantiated, will be executed in parallel. Process
instantiation is expressed by the predefined infix operator ( # ) ::
Process a b -> a -> b. Higher-level coordination is achieved by defining
skeletons, ranging from a simple parallel map to sophisticated
replicated-worker schemes. They have been used to parallelise a set of
non-trivial benchmark programs.
Refereed publications (since 1995 up to 2006)
- R. Peña, C. Segura
"Reasoning About Skeletons in Eden"
Parallel Computing: Current and Future Issues of High End Computing,
ParCo'05, Malaga, April 2005. John von Newmann Institute for
Computing 2006, NIC Series, Vol. 33, pages 851-858
.pdf
- R. Loogen, Y. Ortega-Mallén, R. Peña
"Parallel-Functional Programming in Eden"
Journal of Functional Programming, Cambridge University Press, Vol. 15, no. 3, May 2005,
pages 431-475
.pdf
- R. Peña, C. Segura
"Non-determinism Analyses in a Parallel-Functional Language"
Journal of Functional Programming, Cambridge University Press, Vol. 15, no. 1, Jan. 2005,
pages 67-100
.pdf
- R. Martínez, R. Peña
"Building an Interface Between Eden and Maple:
A way of Parallelizing Computer Algebra Algorithms"
Selected papers of Implementation of
Functional Languages, IFL'03, Edinburgh (UK), Sept. 2003,
Lecture Notes in Computer Science no. 3145, Springer 2004, pages 135-151
.pdf
- C. Segura, R. Peña
"Correctness of Non-Determininsm Analyses in a Parallel Functional Language"
Selected papers of Implementation of
Functional Languages, IFL'03, Edinburgh (UK), Sept. 2003,
Lecture Notes in Computer Science no. 3145, Springer 2004, pages 69-85
.pdf
- H,-W. Loidl, F. Rubio, N. Scaife, K. Hammond,
S. Horiguchi, U. Klusik, R. Loogen, G. J. Michaelson ,
R. Peña, A. J. Reb&ocaute;n Portillo, S. Priebe,
P. Trinder
"Comparing Parallel Functional Languages: Programming and Performance"
Higher-Order and Symbolic Computation, Vol. 16 No. 3, Kluwer Academic Publishers
2003, pages 203-251
.pdf
- R. Loogen, Y. Ortega, R. Peña, S. Priebe, F. Rubio
"Parallelism Abstractions in Eden"
In Patterns and Skeletons for Parallel and Distributed Computing,
F. A. Rabhi and S. Gorlatch (eds.), Springer-Verlag 2002, pages 95-128
.pdf
- R. Peña, C. Segura
"A Polynomial-Cost Non-determinism Analysis"
Selected papers of Implementation of Functional
Languages, IFL'01, Stockholm (Sweden), Sept. 2001, Lecture Notes
in Computer Science no. 2312, Springer-Verlag 2002, pages 121-137
.pdf
- R. Peña, C. Segura
"Sized Types for Typing Eden Skeletons"
Selected papers of Implementation of Functional
Languages, IFL'01, Stockholm (Sweden), Sept. 2001, Lecture Notes
in Computer Science no. 2312, Springer-Verlag 2002, pages 1-17
.pdf
(To be continued)
Last modified: May 27, 2009