The Eden Project

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)

(To be continued)
Last modified: May 27, 2009