A while back I wrote about Parallel Computing: The Old new Thing. One of the things p&p is doing to help developers be successful in this space is to talk about the underlying patterns. We’re running a workshop at PDC as a first step in this effort.
The preCon sessions aren’t videoed for later viewing online so if you miss the session in November you can’t catch up on it later.
Register before October 13th and save $300. Spend the money you saved on a PreCon workshop registration!
But… If you really can’t attend here are some pointers to some of the source material I’ll be basing my talk on.
There’s lots of stuff available online around parallel patterns. Parallel computing has been around for long time but has only recently moved onto the desktop with the multi-core machines becoming the de facto standard. The High performance Computing community has been thinking about this problem for a long time.
This is probably the best book on the subject. It presents a pattern language and underlying implementation patterns for parallel programming. Many of the samples are taken from the classic science and engineering problems and the implementations are based on MPI, OpenMP, C and Java. This doesn’t detract from the book’s message around patterns. OpenMP and MPI are both supported on the Windows platform and the remaining translation from Java to C# is pretty straightforward. The important thing is the underlying patterns!
There are at least two significant efforts into developing patterns and pattern languages around parallelism:
Encyclopedia of Parallel Patterns - Ralph Johnson
The ParaPLOP conference also happens every year and is a good place to look for new patterns and ideas. Last year’s papers are online here:
ParaPLOP 2010 dates are TBD.
There are a couple of other (older) books. Designing and Building Parallel Programs by Ian Foster is available online.
If you know of any other things I should add to this list, please leave a comment here.