Suggested Reading: Patterns for Parallel Programming

Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill — Patterns for Parallel Programming — Addison-Wesley, 2005, 356 pp. ISBN 0-321-22811-1

(Buy at

If the Gang of Four changed the way we discuss about software design by introducing a catalogue of basic software patterns, this books vies to extend it to parallel patterns. But let us be clear, it’s not a book about parallel algorithms; no, it discusses parallelism in very general terms and present the few prototypical application types and how they can be efficiently broken down by data structure, command flow, and synchronisation, while remaining rather high level.

The book is completed by a series of appendices on OpenMP, MPI, and Java’s parallelism helpers, which kind of gives the book a programmeur-oriented feel. However, I feel that the code found in the book is kept deliberately simple (which is perfect in this case) but maybe a bit too much at places:

void initialize(double uk[], double ukp1[]) {
 uk[0]=LEFTVAL; uk[NX-1]=RIGHTVAL;
 for (int i=1;i<NX-1;++i) uk[i]=0.0;
 for (int i=0;i<NX;++i) ukp1[i]=uk[i];

(p.88). It’s simple, but not very efficicent. Nonetheless, these few incongruities are easily forgiven: you should still read this book, especially if you’re starting parallel programming.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: