This is a catalog of parallel programming patterns, similar to the one at Berkeley called OPL. We've been working with the people at Berkeley, so it is not surprising that it overlaps with OPL a great deal. However, it is not the same.
Like OPL, these patterns are arranged in layers. The column to the left gives an outline of these layers. Berkeley has focused on the top levels, and so far has ignored the lower levels. In contrast, we are focusing on the lower levels, and mostly reusing other people's work for the upper levels. Many of our pattern descriptions point to the Berkeley web site.
The top two layers, Software Architecture and Computational Pattern Languages, set up parallelism but are not about parallelism. The next two layers, Parallel Algorithms and Parallel Implementation Strategy, are closely related to the patterns in the book Patterns for Parallel Programming. The rest of the patterns are smaller patterns that are used to particular parts of a program, and are the ones we have focused on.
The main goal of this website is to encourage discussion and feedback about the patterns. We want to make it easy for readers to leave feedback about different patterns – tell us what we are doing right and what we are doing wrong; what is clear and what is unclear; and what should we include and what should we remove. We also want to make it easy for people to contribute code, examples of using these patterns in their systems, other patterns that they have seen or anything else that they find relevant.