13 Data and Task Parallelism

MOST OF THIS BOOK has been dedicated to specific mechanisms and best practices used when building concurrent programs. Algorithms that use these mechanisms are important to understand too but, until this point, we’ve only touched on this topic in passing. That’s what this chapter is about. We’ll look at many algorithms that are common to concurrent programs and will see various ways that sequential algorithms can be decomposed into subproblems suitable for parallel execution.

Whenever writing an algorithm to use concurrency, the first and most important design choice that needs to be made is how to partition the original problem into individual sub-parts. There are three broad approaches that we will look at ...

Get Concurrent Programming on Windows now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.