Design Patterns for Decomposition and Coordination on Multicore Architectures
Colin Campbell and Ade Miller. Forewords by Tony Hey and Herb Sutter
A book that introduces C++ programmers to patterns for including parallelism in their applications. Examples of these patterns are parallel loops, parallel tasks and data aggregation with map-reduce. Each pattern has its own chapter. Each chapter includes a description of the problem, an example of where the pattern is applicable, and code that implements the solution. On this site you will find; the accompanying code samples as well as answers to the end of chapter questions.
Order the hardcopy book or buy the eBook from O’Reilly
-
$29.99 for the hardcopy, $23.99 for the eBook.
-
Also on Safari Books online and Amazon.com.
Read the book online in the MSDN Library
- Read the book content for free on MSDN!
Download the samples for each chapter
The samples are written in C++ and use the Parallel Patterns Library and Asynchronous Agents Library that shipped with Visual Studio 2010.
System Requirements
You will need Visual C++ and at least Visual C++ 2010 Express to run the samples. However, you will need Visual Studio 2010 Ultimate to use some the parallel diagnostic tools such as the Concurrency Visualizer.
Relevant Blogs and Resources
Here are some blogs that will keep you up to date with what’s happening with this guide and with parallel programming at Microsoft.
-
Ade Miller: #2782 - patterns & practices development lead and book author.
-
Parallel Programming in Native Code – The native concurrency team’s blog.
-
Visual C++ Team Blog - The Microsoft Visual C++ team's blog.
-
Sutter's Mill - Herb Sutter's blog
-
Patterns and Practices for parallel programming in C++ - A white paper from the native concurrency team.
-
Code samples for the Concurrency Runtime and Parallel Pattern Library in Visual Studio 2010 – Additional code samples.