中文

以乐观访问释放内存:无锁程序中内存回收与分配的一种混合方法

分布式、并行与集群计算 2023-02-14 v1

摘要

无锁数据结构是开发并发程序的重要工具,因其提供可扩展性、低延迟并避免死锁、活锁与优先级反转。然而,它们需要某种额外的支持以保证内存回收。乐观访问(OA)方法具备内存回收所需的大部分理想性质,但由于它允许内存在被回收后仍被访问,故与传统内存管理模型不兼容。这使其无法将内存释放给内存分配器/操作系统,因而需要复杂的内存回收机制。在本文中,我们扩展无锁通用内存分配器LRMalloc以支持OA方法。借此,我们简化了内存回收方法的实现,并允许内存被同一进程的其他部分重用。我们进一步利用操作系统与硬件提供的虚拟内存系统,以使被回收内存得以释放给操作系统成为可能。

关键词

引用

@article{arxiv.2302.06520,
  title  = {Releasing Memory with Optimistic Access: A Hybrid Approach to Memory Reclamation and Allocation in Lock-Free Programs},
  author = {Pedro Moreno and Ricardo Rocha},
  journal= {arXiv preprint arXiv:2302.06520},
  year   = {2023}
}