Technology
Hacker News

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

Source Entity

Hacker News

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

This review evaluates Paul E. McKenney's open-source textbook, 'Is Parallel Programming Hard, And, If So, What Can You Do About It?'. The author explores the book's technical depth, focusing on the expertise of its author, who is a key figure in Linux kernel development.

Assessing Technical Mastery in Parallel Computing

Paul E. McKenney’s textbook, Is Parallel Programming Hard, And, If So, What Can You Do About It?, serves as a significant contribution to the field of systems programming. As the primary architect behind the Linux kernel’s Read-Copy-Update (RCU) synchronization mechanism, McKenney brings unparalleled authority to the subject. The text functions not merely as an academic exercise but as a pragmatic guide for those navigating the complexities of multi-core processing and concurrency.

The Intersection of Theory and Practice

The review highlights a transition from the world of TLA+ and distributed systems toward the lower-level intricacies of parallel programming. This shift is common among systems engineers who seek to understand the fundamental building blocks of software execution. By focusing on the Linux kernel’s approach to synchronization, the book bridges the gap between high-level architectural design and the gritty, performance-critical reality of kernel-level threading.

Why Parallel Programming Remains Challenging

The title itself poses a rhetorical question that haunts many developers: is parallel programming inherently hard? The text suggests that the difficulty lies not just in the syntax or the APIs, but in the mental shift required to reason about non-deterministic execution. McKenney’s work is essential because it addresses the 'what can you do about it' aspect, providing concrete strategies to mitigate race conditions, deadlocks, and memory ordering issues that plague high-performance systems.

Contextualizing the Learning Journey

For the reviewer, reading this book represented a professional pivot point after a decade of working with formal methods like TLA+ and distributed systems. This reflects a broader industry trend where engineers are increasingly looking to deepen their grasp of hardware-software interaction as distributed systems become more complex. The emotional and professional turbulence described during this study period underscores the rigorous intellectual demand the book places on its readers.

Future Trends in Concurrency

As we move toward an era of increasingly heterogeneous computing, where specialized hardware accelerators and massive multi-core processors are the norm, the principles outlined by McKenney are more relevant than ever. Understanding RCU and other advanced synchronization mechanisms is no longer a niche skill for kernel developers; it is becoming a requirement for anyone building scalable, high-concurrency infrastructure. This textbook serves as a foundational resource for the next generation of systems architects.

Conclusion

Ultimately, the review frames McKenney’s textbook as a comprehensive, albeit demanding, resource. By distilling decades of experience into an accessible, open-source format, the author has created a vital bridge for developers looking to master the art of parallel computing. It stands as a testament to the importance of deep, technical literature in an industry often dominated by ephemeral documentation.

Verification Required?

Read the full report from the primary source

Go to Hacker News