Skip to end of metadata
Go to start of metadata

Parallel Programming Patterns

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.

Current Patterns

Getting Started

If this is your first time here, start by browsing the different pattern catalogs; the links are on the top left section of this page. Click on the individual patterns that interest you, and follow (better yet, contribute to) the discussion on that pattern.

Or you can go through the list of recently updated pages below to figure out what is currently popular.

Recent Changes
Topics of Discussion
No blog posts found.


Ralph Johnson
Nicholas Chen
Samira Tasharofi
Fredrik Kjolstad


Kurt Keutzer
Jike Chong
Bor-Yiing Su


Tim Mattson


Ade Miller

Other contributors



parallel parallel Delete
patterns patterns Delete
upcrc upcrc Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.