Currently the Best Presentation of Patterns for Shared Mutability
March 11, 2014
If you want to bring a bit of systematism to your parallel programming skills, “Structured Parallel Programming: Patterns for Efficient Computation” is the book to start with.
The authors cover the most important patterns of thread-based programming with shared memory (shared mutability). Other parallel models, such as message-based or actor-based architectures, are not covered. This is not necessarily a disadvantage, as the presentation of the patterns is world-class. The authors show that they are highly competent and have worked with these patterns themselves for a long time.
The great thing about this book is that they have found exactly the right mix of theory and practice: example code is provided for each pattern, but it is also asymptotically analyzed and the potential performance gains through parallelization are estimated. I especially like the explanations accompanied by many simple diagrams.
The authors all somehow work for Intel and therefore focus on Thread Building Blocks (TBB) and Cilk Plus. OpenMP and OpenCL are only briefly mentioned. The latter is one of the reasons for giving this book only four stars. There is still room for improvement. For example, denormalized floats are hidden away in section 8.12. In chapter 6.3, an explanation or an example for the conversion from scatter to gather is missing.
Personally, I can benefit greatly from this book. Even though I was already familiar with many patterns, I was impressed by the clear presentation. I will be using the patterns and diagrams in my projects.
- Michael McCool
- Structured Parallel Programming: Patterns for Efficient Computation
- Morgan Kaufmann
- 2012
See also the review on Amazon.