paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Family of Fast and Memory Efficient Lock- and Wait-Free Reclamation

一族快速且内存高效的无锁与无等待内存回收方案
PLDI 8(PLDI)2024匹配度 1/10 · 该论文属于并发内存管理与运行时系统,关注非阻塞内存回收方案,与用户画像中的静态分析、LLM/Agent、浮点程序分析、贝叶斯程序分析等核心方向没有直接交集;仅在“PL/系统”大领域上有非常宽泛的关联。引用 8 inbox
Ruslan Nikolaev, Binoy Ravindran
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出 Crystalline 系列非阻塞内存回收方案,同时实现高吞吐、高内存效率与完全无等待性。

无锁引用计数等传统内存管理在读密集负载下效率低:EBR 性能好但内存可能无界而阻塞,HP 非阻塞、内存效率高却较慢且通用情形仅 lock-free;WFE 无等待但内存效率与超订阅表现不佳,Hyaline 高效却缺少无等待性。本文提出 Crystalline 系列非阻塞回收方案,兼求高吞吐、高内存效率与完全无等待:线程动态回收时仍保证完全无等待,支持异步回收(任意线程可回收其他线程退休的内存),并使回收负载跨线程近乎均衡。方案在 x86-64 与 ARM64 上实现,随线程数增长吞吐超过 EBR 等快速方案,并为多数据结构场景提供严格非阻塞保证。

问题
现有内存回收方案难以同时满足高性能、高内存效率与非阻塞(尤其是无等待)保证:EBR 阻塞且内存可能无界,HP 较慢且通用情形仅 lock-free,WFE 与 Hyaline 也各有短板。
方法
提出 Crystalline 系列非阻塞内存回收方案,在线程可动态回收的前提下保证完全无等待,采用异步回收使任意线程可回收其他线程退休的内存,并使回收负载在所有线程间近乎均衡。
评估
在 x86-64 与 ARM64 架构上实现该方案,与 EBR、HP、WFE、Hyaline 等方案比较吞吐与内存效率;结果表明随线程数增长其吞吐优于 EBR 等快速方案,并解决多数据结构使用时的严格非阻塞问题。
原文摘要(Abstract)

Historically, memory management based on lock-free reference counting was very inefficient, especially for read-dominated workloads. Thus, approaches such as epoch-based reclamation (EBR), hazard pointers (HP), or a combination thereof have received significant attention. EBR exhibits excellent performance but is blocking due to potentially unbounded memory usage. In contrast, HP are non-blocking and achieve good memory efficiency but are much slower. Moreover, HP are only lock-free in the general case. Recently, several new memory reclamation approaches such as WFE and Hyaline have been proposed. WFE achieves wait-freedom, but is less memory efficient and performs suboptimally in oversubscribed scenarios; Hyaline achieves higher performance and memory efficiency, but lacks wait-freedom. We present a family of non-blocking memory reclamation schemes, called Crystalline, that simultaneously addresses the challenges of high performance, high memory efficiency, and wait-freedom. Crystalline can guarantee complete wait-freedom even when threads are dynamically recycled, asynchronously reclaims memory in the sense that any thread can reclaim memory retired by any other thread, and ensures (an almost) balanced reclamation workload across all threads. The latter two properties result in Crystalline’s high performance and memory efficiency. Simultaneously ensuring all three properties requires overcoming unique challenges. Crystalline supports ubiquitous x86-64 and ARM64 architectures, while achieving superior throughput than prior fast schemes such as EBR as the number of threads grows. We also accentuate that many recent approaches, unlike HP, lack strict non-blocking guarantees when used with multiple data structures. By providing full wait-freedom, Crystalline addresses this problem as well.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{NikolaevR24,
  title = {A Family of Fast and Memory Efficient Lock- and Wait-Free Reclamation},
  author = {Ruslan Nikolaev and Binoy Ravindran},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {PLDI},
  year = {2024},
  doi = {10.1145/3658851}
}