[Haskell-cafe] Re: parallel and distributed haskell?

Simon Marlow marlowsd at gmail.com
Thu Dec 17 07:25:54 EST 2009


On 16/12/2009 19:21, Scott A. Waterman wrote:
>
> It looks like there was a recent hackathon focusing on implementing
> distributed haskell.
> http://hackage.haskell.org/trac/ghc/wiki/HackPar
>
> I feel there is quite a bit of latent interest in the subject here,
> but relatively little active development (compared to erlang, clojure,
> etc.)
> Can anyone involved give a quick overview (or pointers to one)?
> It would be good to hear what directions people are taking, and why,
> and where it's going.

The main directions are:

GUM, which was one of the first parallel implementations of Haskell many 
years ago [1].  The programming API is the same as GHC has: par/pseq and 
strategies (indeed this API was invented in the context of GUM, we just 
re-used it in GHC).

GUM uses PVM message passing to implement a distributed heap, and can 
run on clusters of machines or a multicore, or a combination of the two. 
  GUM has in the past been integrated with GHC, but has sufferred from a 
lack of development effort so has rotted in recent years.  Efforts are 
now underway to get it working with GHC HEAD again.

Eden [2] also uses PVM, but does not have a distributed heap.  It's 
implementation is much simpler, and the API is rather more explicit than 
par/seq and strategies.  Eden has been tracking GHC more closely than 
GUM, but it's still a research project and there's little effort 
available to make releases.

Neither of these are really what you'd call "Distributed Haskell", they 
are implementations of parallel variants of Haskell running on 
distributed hardware.  There was a Distributed Haskell project, but it 
is not active at the moment [3].

Cheers,
	Simon

[1]  GUM: a portable parallel implementation of Haskell 
http://www.macs.hw.ac.uk/~dsg/gph/papers/abstracts/gum.html

[2] Parallel functional programming in Eden
Journal of Functional Programming  (2005), 15

[3] http://www.macs.hw.ac.uk/~dsg/gdh/


More information about the Haskell-Cafe mailing list