Concurrent Immediate Reference Counting
Jaehwang Jung, Jeonghyeon Kim, Matthew J. Parkinson, Jeehoon Kang
摘要
Memory management for optimistic concurrency in unmanaged programming languages is challenging. Safe memory reclamation (SMR) algorithms help address this, but they are difficult to use correctly. Automatic reference counting provides a simpler interface, but it has been less efficient than SMR algorithms. Recently, there has been a push to apply the optimizations used in garbage collectors for managed languages to elide reference count updates from local references. Notably, Fast Reference Counter, OrcGC, and Concurrent Deferred Reference Counting use SMR algorithms to protect local references by deferring decrements or reclamation. While they show a significant performance improvement, their use of deferral may result in growing memory usage due to slow reclamation of linked structures, and suboptimal performance in update-heavy workloads. We present Concurrent Immediate Reference Counting (CIRC), a new combination of SMR algorithms with reference counting. CIRC employs deferral like other modern methods, but it avoids their problems with novel algorithms for (1) immediately reclaiming linked structures recursively by tracking the reachability of each object, and (2) applying decrements immediately and deferring only the reclamation. Our experiments show that CIRC’s memory usage does not grow over time and is only slightly higher than the underlying SMR. Moreover, CIRC further narrows the performance gap between the underlying SMR, positioning it as a promising solution to safe automatic memory management for highly concurrent data structures in unmanaged languages.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper2
- Leveraging Immutability to Validate Hazard Pointers for Optimistic TraversalsJanggun Lee, Jeonghyeon Kim, Jeehoon KangPLDI 2025 · 被引用 2 次
- RRR-SMR: Reduce, Reuse, Recycle: Better Methods for Practical Lock-Free Data StructuresMd Amit Hasan Arovi, Ruslan NikolaevPLDI 2025 · 被引用 2 次
它引用的顶会 Paper5
- Concurrent deferred reference counting with constant-time overheadDaniel Anderson, Guy E. Blelloch, Yuanhao WeiPLDI 2021 · 被引用 26 次
- Low-latency, high-throughput garbage collectionWenyu Zhao, Stephen M. Blackburn, Kathryn S. McKinleyPLDI 2022 · 被引用 24 次
- OrcGC: automatic lock-free memory reclamationAndreia Correia, Pedro Ramalhete, Pascal FelberPPoPP 2021 · 被引用 19 次
- Snapshot-free, transparent, and robust memory reclamation for lock-free data structuresRuslan Nikolaev, Binoy RavindranPLDI 2021 · 被引用 18 次
- Turning manual concurrent memory reclamation into automatic reference countingDaniel Anderson, Guy E. Blelloch, Yuanhao WeiPLDI 2022 · 被引用 14 次
相关 Paper
- Revisiting Partial Tracing for Safe, Efficient, and Concurrent Garbage Collection in Unmanaged LanguagesJeonghyeon Kim, Jongse Park, Youngjin Kwon, Jeehoon KangPLDI 2026
- A marriage of pointer- and epoch-based reclamationJeehoon Kang, Jaehwang JungPLDI 2020 · 被引用 25 次
- Pointer life cycle types for lock-free data structures with memory reclamationRoland Meyer, Sebastian WolffPOPL 2020 · 被引用 7 次
- Fixing Non-blocking Data Structures for Better Compatibility with Memory Reclamation SchemesMd Amit Hasan Arovi, Ruslan NikolaevPPoPP 2026 · 被引用 1 次
- NBR: neutralization based reclamationAjay Singh, Trevor Brown, Ali José MashtizadehPPoPP 2021 · 被引用 23 次
