Introduction to Epoch-Based Memory Reclamation
summary
Epoch-based reclamation tracks threads with an epoch counter: threads increment a current-epoch counter on entry and decrement on exit, retired nodes go into three bins tied to epoch rotations, and when a bin’s thread count hits zero its nodes are freed. Compared to hazard pointers (which record addresses — often two pointers per list traversal), epoch methods claim lower per-access overhead but can hold an unbounded amount of retired memory if threads are swapped or die. Practical notes: linked lists need only a few protected nodes, balanced trees may require protecting ~log n nodes, and a metrics-collection prototype using epoch bins proves the approach feasible.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 1:00Agenda
- 1:33Memory Reclamation
- 3:33Memory Reclamation Example
- 4:35Hazard Pointers
- 6:07Epic Based Memory Reclamation
- 9:01References
- 15:47Questions
related talks
17mConcurrent Immediate Reference Counting
20mRevisiting Partial Tracing for Safe, Efficient, and Concurrent Garbage Collection in(…)
55mAbusing Your Memory Model for Fun and Profit
21mEvery Data Structure Deserves Lock-Free Memory Reclamation
01h 15mWait-free memory reclamation and data structures
20mRRR-SMR: Reduce, Reuse, Recycle: Better Methods for Practical Lock-Free Data Structures
55m“A lock-free concurrency toolkit for deferred reclamation and optimistic speculation"
58m“The Landscape and Exciting New Future of Safe Reclamation for High Performance”
