Pay Migration Tax to Homeland: Anchor-based Scalable Reference Counting for Multicores
summary
PAYGO implements an anchor counter plus per-core local counters so increments use fast non-atomic updates and only migrated threads pay an atomic “migration tax” by touching the anchor, enabling immediate reclamation of zero local entries. It is implemented in the Linux page cache and tested on a 96-core machine against ext4, F2FS, btrfs and XFS; results show near-linear scaling under strong contention and much less throughput loss than prior hash- or cache-affinity schemes for large-working-set workloads.
AI-written summary · about
chapters (13)
- 0:00Start
- 1:32Known scalability issues of reference counting in Linux
- 3:44Overhead analysis of prior proposals (cont.)
- 10:28Challenges for the space-time tradeoff (cont.)
- 12:05Our solution to this issue...
- 15:00Issue for a single local counter
- 19:52Overhead Analysis for a Reference Counter
- 21:48Extending PayGo design to support user-level objects
- 23:05Experimental Setup
- 23:26Scalability Comparison of the Linux Page Cache
- 24:11Performance Spectrum on Varying Contention Levels
- 25:06Scalability of User-level Paygo
- 25:57Conclusion
related talks
42mCombining and Aggregating for Fast Synchronization
17mConcurrent Immediate Reference Counting
24mScalability solutions for the mmap_lock - Maple Tree and per-VMA locks
19mDo nothing fast: How to scale idle cpus?
52mSecrets of high performance in multicore systems ☠️
25mTackling Contention : The Monster in sync.Locker
44mRestartable Sequences: Scheduler-Aware Scaling of Memory Use on Many-Core Systems
35mAutomatic Parallelism Management
