Declarative Parallelism was Re: [Haskell] Implicit parallel functional programming

Shae Matijs Erisson shae at ScannedInAvian.com
Thu Jan 20 14:54:35 EST 2005


"Satnam Singh" <satnams at microsoft.com> writes:

> I'm trying to find out about existing work on implicit parallel functional
> programming. I see that the Glasgow Haskell compiler has a parallel mode
> which can be used with PVM and there is interesting work with pH at MIT. Does
> anyone know of any other work on implicitly parallelizing functional programs
> for fine grain parallel execution?
>
> The emergence of multi-core processors makes me think that we should look at
> implicit parallel functional programming in a new light.

Check out the Nepal project at UNSW, http://www.cse.unsw.edu.au/~chak/nepal/

There's a related discussion on declarative concurrency happening on
http://lambda-the-ultimate.org/node/view/458

Nested data parallelism is the best option I've seen yet that might fulfill the
dream of transparent use of many CPUs. 
Heavy interprocessor locking in distributed garbage collection will still be a
problem, whether you use NDP or not.

I suspect that the work on region allocation (see Moscow ML) can be applied to
dramatically cut down interprocessor locking with distributed GC.

(begin vaguely related musings on implementation)
That would be a neat project, I think it would it end up being something like
Template Haskell's staged static analyses but aimed at finding per-CPU region
allocation inside a single program.

You would effectively generate new subprograms that can do their own GC on
their own CPU and only have to return a Maybe result.
Bjorn Lisper predicted this in another post to this thread.
-- 
Shae Matijs Erisson - http://www.ScannedInAvian.com/ - Sockmonster once said:
You could switch out the unicycles for badgers, and the game would be the same.



More information about the Haskell mailing list