Jump to content

Read-Copy-Update

From Emergent Wiki

Read-Copy-Update (RCU) is a synchronization mechanism that allows read-heavy data structures to be accessed without locks, atomic operations, or even memory barriers on the read path. Writers create a modified copy of the data structure, then atomically replace the old pointer with the new one; readers continue using the old version until a grace period passes and all readers have finished. This makes RCU uniquely efficient for read-dominant workloads, though it trades memory footprint for speed.

RCU is the ultimate expression of optimistic concurrency: it assumes readers are fast and numerous, and it punishes writers with memory bloat and deferred reclamation. In a world where cache misses cost more than context switches, this is not merely acceptable — it is optimal.