【24h】

Safe Memory Reclamation for Dynamic Lock-Free Objects Using Atomic Reads and Writes

机译:使用原子读写的动态无锁对象的安全内存回收

获取原文
获取原文并翻译 | 示例

摘要

A major obstacle to the wide use of lock-free data structures, despite their many performance and reliability advantages, is the absence of a practical lock-free method for reclaiming the memory of dynamic nodes removed from dynamic lock-free objects for arbitrary reuse. The only prior lock-free memory reclamation method depends on the DCAS atomic primitive, which is not supported on any current processor architecture. Other memory management methods are blocking, require special operating system support, or do not allow arbitrary memory reuse. This paper presents the first lock-free memory management method for dynamic lock-free objects that allows arbitrary memory reuse, and does not require special operating system or hardware support. It guarantees an upper bound on the number of removed nodes not yet freed at any time, regardless of thread failures and delays. Furthermore, it is wait-free, it is only logarithmically contention-sensitive, and it uses only atomic reads and writes for its operations. In addition, it can be used to prevent the ABA problem for pointers to dynamic nodes in most algorithms, without requiring extra space per pointer or per node.
机译:尽管无锁数据结构具有许多性能和可靠性优势,但它们仍被广泛使用的主要障碍是,缺少一种实用的无锁方法来回收从动态无锁对象中删除的动态节点的内存以进行任意重用。唯一现有的无锁内存回收方法取决于DCAS原子原语,当前任何处理器体系结构均不支持该原语。其他内存管理方法正在阻止,需要特殊的操作系统支持或不允许任意使用内存。本文提出了第一种用于动态无锁对象的无锁内存管理方法,该方法允许任意使用内存,并且不需要特殊的操作系统或硬件支持。它保证了无论何时线程失败和延迟,任何时候都无法释放的已删除节点的数量上限。此外,它是免等待的,仅对数竞争敏感,并且仅对其操作使用原子读取和写入。另外,在大多数算法中,它可以用于防止指向动态节点的指针的ABA问题,而无需每个指针或每个节点额外的空间。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号