[Haskell-cafe] Paralelism and Distribution in Haskell

2010-09-06 Thread Ivan S. Freitas
Hi fellow haskellers,

I'm interested in the performance of parallel and/or distributed
implementations in haskell language. For example, supose I want to
develop an application that distributes a computation between many
multicore computers, what are the advantages I can take from haskell
in that?
Anyone who has experience doing distributed computing with haskell,
and could point some diferences between haskell and other languages?

Any feedback is very much apreciated. Thanks.

Regards.

-- 
==
Ivan Sichmann Freitas
Engenharia de Computação 2009
UNICAMP
http://identi.ca/ivansichmann
Grupo Pró Software Livre UNICAMP - GPSL
==
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Paralelism and Distribution in Haskell

2010-09-06 Thread Don Stewart
ivansichfreitas:
 Hi fellow haskellers,
 
 I'm interested in the performance of parallel and/or distributed
 implementations in haskell language. For example, supose I want to
 develop an application that distributes a computation between many
 multicore computers, what are the advantages I can take from haskell
 in that?
 Anyone who has experience doing distributed computing with haskell,
 and could point some diferences between haskell and other languages?
 
 Any feedback is very much apreciated. Thanks.

The primary work in this area has been GUM/GPH and GDH, these days being
led from St Andrews, http://www-fp.cs.st-andrews.ac.uk/wordpress/

 * GUM, a parallel execution layer to allow GHC 'par' strategies and
friends to run transparently across nodes, on top of an underlying
message passing layer.

 http://www.macs.hw.ac.uk/~dsg/gph/

GHC implements the same abstractions for shared memory multicores.

 * Glasgow Distributed Haskell, an extension of the Parallel Haskell
   language to support distribution and fault tolerance,

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

These systems run on a fork of GHC's runtime. Recent work is underway to
merge some of the facilities back into mainline GHC.

http://hackage.haskell.org/trac/ghc/wiki/HackPar

There is also the Eden project, which I think is another implementation
of a parallel Haskell model, with features to support distribution.

The key players to talk to are Kevin Hammond, Jost Berthold,
Hans-Wolfgang Loidl, Philip Trinder et al.

Besides traditional language research projects, there are also various
open source libraries on Hackage to support distributed computation in
Haskell to some degree or another. For example:

A framework for distributed STM, 
http://hackage.haskell.org/package/DSTM

Holumbus-Distribution, distributed data structures like Chan, MVar or 
functions
http://hackage.haskell.org/package/Holumbus-Distribution

Holumbus map-reduce skeleton
http://hackage.haskell.org/package/Holumbus-MapReduce

net-concurrent is a simple haskell library for doing parallel
computation on several computers using the network 
http://hackage.haskell.org/package/net-concurrent

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe