7 Decomposition

In this chapter:

  • You learn decomposition techniques to efficiently break down programming problems into separate, independent tasks
  • You learn popular concurrency patterns for creating concurrent applications: the pipeline, map, fork/join, and map/reduce patterns
  • You learn how to choose the granularity of your applications
  • You learn how to use agglomeration to reduce communication overhead and increase system performance

Previously, we learned that concurrent programming implies decomposing a problem into independent units of concurrency or tasks. Deciding how to decompose a problem into concurrent tasks is one of the more difficult but important steps. Automatically decomposing programs using a concurrent programming approach ...

Get Grokking Concurrency 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.