Interval-based memory reclamation

Interval-based memory reclamation
复制标题

基于间隔的内存回收

DOI:
10.1145/3178487.3178488
复制
发表时间:
2018
期刊:
Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
影响因子:
--
通讯作者:
Scott, Michael L.
Scott, Michael L.
中科院分区:
--
文献类型:
--
作者:
Wen, Haosen;Izraelevitz, Joseph;Cai, Wentao;Beadle, H. Alan;Scott, Michael L.

文献摘要

参考文献

被引文献

相似文献

本文提出了一种在非阻塞并发数据结构中安全回收非连接内存块的新方法--基于区间的回收方法。安全回收是一个难题:线程在释放一个块之前,必须确保没有其他线程正在访问该块;所需的同步往往代价高昂。与基于纪元的回收(其中线程保留在特定时间之后创建的所有块)或基于指针的回收(例如,危险指针)(其中线程保留单个块)不同,IBR允许线程保留在限定时间间隔内已知的所有块。通过将线程的保留间隔与已分离但尚未回收的块的生存期进行比较,系统可以确定该块是否可以安全释放。与危险指针一样,IBR避免了单个停滞线程可能保留无限数量的块的可能性;与危险指针不同,它避免了对大多数指针跟随操作的内存隔离。它还避免了显式地“取消保留”不再需要的指针的需要。我们描述了三个具体的IBR方案(一个有几个变体),它们权衡了性能、适用性和空间要求。IBR不需要特殊的硬件或操作系统支持。在数据结构微基准的实验中,它(在时间和空间上)也优于其他最先进的方法,使其成为并发数据结构库的一个有吸引力的替代方案。
In this paper we presentinterval-based reclamation(IBR), a new approach to safe reclamation of disconnected memory blocks in nonblocking concurrent data structures. Safe reclamation is a difficult problem: a thread, before freeing a block, must ensure that no other threads are accessing that block; the required synchronization tends to be expensive. In contrast with epoch-based reclamation, in which threads reserve all blocks created after a certain time, or pointer-based reclamation (e.g., hazard pointers), in which threads reserve individual blocks, IBR allows a thread to reserve all blocks known to have existed in a boundedintervalof time. By comparing a thread's reserved interval with the lifetime of a detached but not yet reclaimed block, the system can determine if the block is safe to free. Like hazard pointers, IBR avoids the possibility that a single stalled thread may reserve an unbounded number of blocks; unlike hazard pointers, it avoids a memory fence on most pointer-following operations. It also avoids the need to explicitly "unreserve" a no-longer-needed pointer.We describe three specific IBR schemes (one with several variants) that trade off performance, applicability, and space requirements. IBR requires no special hardware or OS support. In experiments with data structure microbenchmarks, it also compares favorably (in both time and space) to other state-of-the-art approaches, making it an attractive alternative for libraries of concurrent data structures.
无等待引用计数和内存管理
DOI: 10.1109/ipdps.2005.451
发表时间: 2005
期刊: 19th IEEE International Parallel and Distributed Processing Symposium
影响因子: --
作者:
H. Sundell
通讯作者: H. Sundell
DOI: 10.1145/2694344.2694374
发表时间: 2015-03
期刊: Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子: --
作者:
Adam Morrison;Y. Afek
通讯作者: Adam Morrison;Y. Afek
DOI: --
发表时间: 1995-12
期刊: --
影响因子: --
作者:
Maged M. Michael;M. Scott
通讯作者: Maged M. Michael;M. Scott
为无锁数据结构回收内存:必须有更好的方法
DOI: 10.1145/2767386.2767436
发表时间: 2015
期刊: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing
影响因子: --
作者:
Trevor Brown
通讯作者: Trevor Brown
DOI: 10.1145/1993806.1993821
发表时间: 2011
期刊: Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
影响因子: --
作者:
A. Dragojevic;Maurice Herlihy;Yossi Lev;Mark Moir
通讯作者: Mark Moir