Is it Time to Retire Manual Concurrent Memory Reclamation?
summary
Presents a concrete recipe to convert manual SMR into concurrent reference counting, turning hazard pointers, EBR and hybrid schemes into RC variants implemented in a C++ library compatible with atomic shared/weak pointer APIs. Claims an RC variant (rc_ebr) runs within ~15% of its manual EBR baseline on a 72-core/144-thread machine and greatly narrows a previously up-to-2x gap. Implements an efficient atomic weak pointers algorithm and a constant-time increment-if-not-zero primitive, with end-to-end benchmarks on lock-free BSTs.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 0:53Safe Memory Reclamation
- 2:11Existing Solutions - Pros and cons
- 7:08Concurrent Deferred Reference Counting (CDRC)
- 9:01Generalizing CDRC
- 9:57Generalized Acquire-Retire Interface
- 10:41Manual SMR Reference Counting
- 12:44Conclusion Soed up concurrent reference counting by transforming Manual SMR techniques into Reference Counting techniques
related talks
17mConcurrent Immediate Reference Counting
55m“A lock-free concurrency toolkit for deferred reclamation and optimistic speculation"
23mAn Operational Approach to Library Abstraction under Relaxed Memory Concurrency
58m“The Landscape and Exciting New Future of Safe Reclamation for High Performance”
19mConcurrent Mutation must go
20mRRR-SMR: Reduce, Reuse, Recycle: Better Methods for Practical Lock-Free Data Structures
01h 08mRead, Copy, Update, then what? RCU for non-kernel programmers
28mRevisit Multi-Reader Synchronizations for Scalable Applications
