Fixing Non-blocking Data Structures for Better Compatibility with Memory Reclamation Schemes
We present a new technique, Safe Concurrent Optimistic Traversals (SCOT), to address a well-known problem related to optimistic traversals with classical and more recent safe memory reclamation (SMR) schemes, such as Hazard Pointers (HP), Hazard Eras (HE), Interval-Based Reclamation (IBR), and Hyaline. Unlike Epoch-Based Reclamation (EBR), these (robust) schemes protect against stalled threads but lack support for well-known data structures with optimistic traversals, e.g., Harris' list and the Natarajan-Mittal tree. Such schemes are either incompatible with them or need changes with performance trade-offs (e.g., the Harris-Michael list).
SCOT keeps existing SMR schemes intact and retains performance benefits of original data structures. We implement and evaluate SCOT with Harris' list and the Natarajan-Mittal tree, but it is also applicable to other data structures. Furthermore, we provide a simple modification for wait-free traversals. We observe similar performance speedups (e.g., Harris vs. Harris-Michael lists) that were previously available only to EBR users. Our version of the tree also achieves very high throughput, comparable to that of EBR, which is often treated as a practical upper bound.
Mon 2 FebDisplayed time zone: Hobart change
09:50 - 11:10 | |||
09:50 20mTalk | Binary Compatible Critical Section DelegationBest Paper Award Main Conference DOI | ||
10:10 20mTalk | Hapax Locks: Scalable Value-Based Mutual Exclusion Main Conference DOI | ||
10:30 20mTalk | Fixing Non-blocking Data Structures for Better Compatibility with Memory Reclamation Schemes Main Conference DOI | ||
10:50 20mTalk | Multiverse: Transactional Memory with Dynamic Multiversioning Main Conference Gaetano Coccimiglio University of Waterloo, Trevor Brown University of Waterloo, Srivatsan Ravi University of Southern California DOI | ||