A Textbook That Makes You Want to Learn Parallel Programming

Book review: Is parallel programming hard, and, if so, what can you do about it?

A Textbook That Makes You Want to Learn Parallel Programming

A review of Paul E. McKenney's free online textbook on parallel programming. The reviewer, a TLA⁺ expert, read the first five chapters in depth and found the book excellent, praising its clear explanations of CPU caches, compiler optimizations, and counting algorithms. Despite some quirks like excessive internal links, it sparked a thirst to learn more about lock-free programming and memory ordering.

There’s a goldmine of comedically unintuitive nonsense here.
  1. cbm-vic-20

    Should have been titled "Is Parallel Programming What Can You Hard, And, If So, Do About It?"

  2. criddell

    This review seems to equate parallelism and concurrency as the same thing and they are not.

    As I understand it, the parallelism is about task execution and concurrency is about task structure. Or, as Rob Pike said:

    "Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once."

    He said that in his Concurrency is not Parallelism talk.

  3. hoistway

    Spent days tracking down a deadlock that only manifested under specific load. Definitely hard, even with good tooling.

  4. bolangi

    The Raku language (formerly Perl 6) and its underlying VM has features to support parallel programming, concurrency and asynchrony, designed to make common cases relatively easy to code and avoid pitfalls.

    Jonathan Worthington, the author of the VM and these features, has given an excellent presentation on the concepts and their implementation.

    https://www.youtube.com/watch?v=JpqnNCx7wVY

  5. anonymousDan

    I would probably recommend the art of multiprocessor programming (herlihy and shavitz) as a good starting point for concurrent programming. There is also " A primer on memory consistency and cache coherence" (Nagarajan et al) if you want to get more into the interaction between memory consistency and coherence.

More from this day

2026-09-24