Saturday 6 December 2008

Parallel Join Patterns with Guards and Propagation

A paper in the works for quite some time. You can download the latest version here.

Here's what the abstract says:
Join patterns are a powerful concurrency abstraction to coordinate multiple events. We propose an extension with guards and propagation and argue that both features are essential in many programming situations. We develop a parallel execution scheme which we have fully implemented as a library in Haskell. Our results provide new insights how to write parallel programs on multi-core architectures.

Interested? You can get the implementation via the Haskell platform hackage. Download the join package which in turn relies on the multisetrewrite package. The multisetrewrite package provides the basic functionality to execute join patterns (with guards and propagation) in parallel. The join package adds synchronous and asynchronous arguments and join method calls. The user interface is still a bit clumsy to use but this will hopefully be improved over time.

2 comments:

Don Stewart said...

Martin, I'm soh happy you're blogging and release code on hackage simultanesouly. The work is much more accessible now. Thank you!

Now we just need to get Oleg to releaes on hackage :-)

Martin Sulzmann said...

Thanks for hackage Don (and of course all others involved). It's a great way to publish my research projects.

In the longer term it might be useful to consider a 'boost' (certified, peer-reviewed) branch of hackage. Just a thought.