[Haskell] ANN: GHC-7.8.2-Eden - Parallel Haskell on multicore and cluster systems

Eden group Marburg - Functional parallel Programming eden at Mathematik.Uni-Marburg.de
Wed Apr 16 08:14:25 UTC 2014


We are happy to announce a new release of Eden, a parallel extension of
Haskell. The release comprises:

* The GHC-7.8.2-Eden compiler: GHC-7.8.2 extended with the Eden parallel
runtime system.
* The Eden modules (1.2.0.0): a library defining the Eden language
constructs.
* The Eden skeleton library (2.0.0.1): a comprehensive library with
common task and data parallel patterns.
* The Eden trace viewer EdenTV (4.4.0): a visualisation and analysis
tool for eventlogs of parallel program runs.

All resources are available via:
http://www.mathematik.uni-marburg.de/~eden, libraries are also available
from Hackage.

New in this release:
* all new features included in ghc-7.8 (release notes at
http://www.haskell.org/ghc/docs/7.8.2/html/users_guide/release-7-8-1.html and
http://www.haskell.org/ghc/docs/7.8.2/html/users_guide/release-7-8-2.html);
* extended Haskell serialisation support (see
http://www.haskell.org/wikiupload/2/28/HIW2013PackingAPI.pdf);
* script-less program execution and eventlog handling when using shared
memory ways;
* major module structure overhaul in edenskel;
* bugfixes and Trans instances for more common data types in Eden modules.

Background:

Eden extends Haskell with a small set of syntactic constructs for
explicit process specification and creation.  While providing enough
control to implement parallel algorithms efficiently, it frees the
programmer from the tedious task of managing low-level details by
introducing automatic process handling, synchronisation and
communication (via head-strict lazy lists).

Eden is tailored for distributed systems but works equally well on
multicore architectures. Processes work within disjoint address spaces
and do not share any data. This simplifies Eden's implementation as
there is no need for global garbage collection.
The implementation for multicores uses communicating OS processes (via
Posix SharedMem or mail slots), cluster implementations use either MPI
or PVM.

A tutorial is available from
http://www.mathematik.uni-marburg.de/~eden/paper/edenCEFP.pdf

The compiler release includes binary packages for Linux, Windows and Mac
OS, and a source distribution, available from
http://www.mathematik.uni-marburg.de/~eden/?content=down_eden&navi=down
(binary packages only support the multicore implementations).

Eden libraries and tools are available separately from hackage:

- Eden modules: http://hackage.haskell.org/package/edenmodules (already
included in the Eden compiler)
- Eden skeleton library: http://hackage.haskell.org/package/edenskel
- EdenTV: http://hackage.haskell.org/package/edentv (uses gtk2hs)

When built using a standard GHC, the packages will produce a threaded
simulation of Eden.



More information about the Haskell mailing list