Sciweavers

PPOPP
2015
ACM

Predicate RCU: an RCU for scalable concurrent updates

8 years 4 days ago
Predicate RCU: an RCU for scalable concurrent updates
Read-copy update (RCU) is a shared memory synchronization mechanism with scalable synchronization-free reads that nevertheless execute correctly with concurrent updates. To guarantee the consistency of such reads, an RCU update transitioning the data structure between certain states must wait for the completion of all existing reads. Unfortunately, these waiting periods quickly become a bottleneck, and thus RCU remains unused in data structures that require scalable, fine-grained, update operations. To solve this problem, we present Predicate RCU (PRCU), an RCU variant in which an update waits only for the reads whose consistency it affects, which are specified by a user-supplied predicate. We explore the trade-offs in implementing PRCU, describing implementations that reduce wait times by 10–100× with varying overhead on reads on modern x86 multiprocessor machines. We demonstrate the applicability of PRCU by applying it to two RCU-based concurrent algorithms—the CITRUS binary ...
Maya Arbel, Adam Morrison
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where PPOPP
Authors Maya Arbel, Adam Morrison
Comments (0)