Book review: Is parallel programming hard, and, if so, what can you do about it?
3 days ago
- The reviewer was motivated by a conference talk about lock-free garbage collection, which highlighted their limited understanding of concurrency despite expertise in TLA+ and distributed systems.
- The textbook links are excessive and annoying on e-readers, making navigation difficult, though knowledge-check questions are a positive feature.
- The content starts with accessible introductions, then covers CPU hardware and cache effects, with a missed opportunity in not explaining the MESI protocol earlier.
- Chapter 4 reveals how compilers and CPUs can perform surprising optimizations, but focuses heavily on Linux kernel specifics, lacking detailed coverage of C/C++ memory models.
- Chapter 5 on counting methods is a standout, demonstrating performance issues with atomic increments and false sharing, though the signal-theft limit counter is complex.
- After the first five chapters, the reviewer skimmed other topics and plans to move to a dedicated lock-free programming textbook.
- The textbook is praised for sparking enthusiasm to learn more about parallel programming, despite being read only partially.