Smarter Cpp Atomic Smart Pointers - Efficient Concurrent Memory Management
summary
Argues that combining atomic shared_ptr semantics with deferred reclamation (Hazard pointers or RCU) yields RAII-style APIs that match deferred-reclamation throughput. Shows benchmarks on a 72-core machine with a 100k-key lock-free BST and 99% reads where atomic shared_ptr lags badly but the prototype “deferred shared pointer” using hazard‑ or RCU backends runs nearly on par with hazard pointers or RCU. Presents a GitHub research prototype, explains get_snapshot semantics, and notes it works but isn’t production quality yet.
AI-written summary · about
chapters (34)
- 0:00Introduction
- 0:17Who am I
- 0:36Agenda
- 1:36Smart Pointers
- 2:33Shared Ownership
- 2:44Concurrent Memory Management
- 3:53The Fundamental Problem
- 4:14Goals
- 5:01Memory Management Techniques
- 5:37Shared Pointer
- 6:29Thread Safe
- 7:53Atomic Shared Pointer
- 8:36Atomic Shared Pointer Benefits
- 9:26LockFree Memory Safe Stack
- 9:57LockFree Implementation
- 10:22Bad News
- 10:38Experiment
- 11:15Baseline
- 14:40Alternative Techniques
- 17:55Hazard Pointers
- 23:31Performance
- 24:23RCU
- 26:12Mental Model
- 27:28Graph
- 28:24State of Things
- 28:45RAII and Deferred Reclamation
- 30:25Snapshot Source
- 34:12Single Writer Linked List
- 39:43Hazard Pointer Errors
- 41:07Efficient Concurrent Memory Management
- 44:19Slide Code
- 48:02Performance Test
- 49:44Final Remarks
- 52:27Wrap Up
related talks
01h 02mLock-free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!
01h 13mC++ Memory Model Meets High-Update-Rate Data Structures
54mHazard Pointer Synchronous Reclamation Beyond Concurrency TS2
17mFat Pointers for Temporal Memory Safety of C
55mMemory Model: Get your shared data under control
54mThe Upcoming Concurrency TS Version 2 for Low-Latency and Lockless Synchronization
01h 02m“Lightweight Object Persistence With Relocatable Heaps in Modern C++"
01h 02mLock-free programming for real-time systems
