Shared Memory Consistency From Scratch Part 1: Causality
Summary
An in-depth primer on shared memory consistency and coherence, introducing novel hardware ideas and synchronization primitives (write atomicity, MCA, WA, nMCA) and walking through numerous litmus tests. It argues for a permissive memory model to illustrate C++11/20 challenges and outlines paths for Part 2.