当前位置: X-MOL 学术IEEE Trans. Parallel Distrib. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Fast and Portable Concurrent FIFO Queues With Deterministic Memory Reclamation
IEEE Transactions on Parallel and Distributed Systems ( IF 5.3 ) Pub Date : 2021-07-19 , DOI: 10.1109/tpds.2021.3097901
Oliver Giersch , Jorg Nolte

In this article we present an algorithm for a high performance, unbounded, portable, multi-producer/multi-consumer, lock-free FIFO (first-in first-out) queue. Aside from its competitive performance on current hardware, it is further characterized by its integrated memory reclamation mechanism, which is able to reliably and deterministically de-allocate nodes as soon as the final operation with a reference has concluded, similar to reference counting . This differentiates our approach from most other lock-free data structures, which usually require external (generic) memory reclamation or garbage collection mechanisms such as hazard pointers . Our deterministic memory reclamation mechanism completely prevents the build up of memory awaiting reclamation and is hence very memory efficient, yet it does not introduce any substantial performance overhead. By utilizing concrete knowledge about the internal structure and access patterns of our queue, we are able to construct and constrain the reclamation mechanism in such a way that keeps the overhead for memory management almost entirely out of the common fast path. The presented algorithm is portable to all modern 64-bit processor architectures, as it only relies on the commonly available and lock-free atomic synchronization primitives compare-and-swap and fetch-and-add .

中文翻译:

具有确定性内存回收功能的快速便携式并发 FIFO 队列

在本文中,我们提出了一种用于高性能、无界、可移植、多生产者/多消费者、无锁 FIFO(先进先出)队列的算法。除了在当前硬件上的竞争性能外,它还具有集成内存回收机制的特点,该机制能够在具有参考的最终操作结束后立即可靠且确定地取消分配节点,类似于引用计数。这将我们的方法与大多数其他无锁数据结构区分开来,后者通常需要外部(通用)内存回收或垃圾收集机制,例如危险指针。我们的确定性内存回收机制完全防止了等待回收的内存的积累,因此内存效率非常高,但它不会引入任何实质性的性能开销。通过利用关于我们队列的内部结构和访问模式的具体知识,我们能够以这样一种方式构建和约束回收机制,使内存管理的开销几乎完全不在常见的快速路径之外。所提出的算法可移植到所有现代 64 位处理器架构,因为它仅依赖于常用和无锁原子同步原语比较和交换和 获取并添加。
更新日期:2021-08-13
down
wechat
bug