arXiv · 2504.06254
Fixing Non-blocking Data Structures for Better Compatibility with Memory Reclamation Schemes
Abstract
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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Md Amit Hasan Arovi, Ruslan Nikolaev. 2025-04-08. Fixing Non-blocking Data Structures for Better Compatibility with Memory Reclamation Schemes. https://doi.org/10.1145/3774934.3786455
Cite the original work for its findings. Save a collection to share your selection of sources.