论文标题

WCQ:一个快速的无等待队列,具有有限的内存使用情况

wCQ: A Fast Wait-Free Queue with Bounded Memory Usage

论文作者

Nikolaev, Ruslan, Ravindran, Binoy

论文摘要

并发文献提出了许多用于构建非阻滞,FIFO,多生产者和多重消费者(MPMC)队列的方法。但是,只有一小部分具有高性能。此外,许多队列设计,例如LCRQ,贸易记忆使用情况,以提高性能。最近提出的SCQ设计既可以达到记忆效率又可以达到出色的性能。不幸的是,LCRQ和SCQ仅无锁。另一方面,现有的无等待队列要么表现不太表现,要么遭受潜在的无限内存使用量。严格描述的是,后者的队列,例如Yang&Mellor-Crummey(YMC)队列,在记忆耗尽时会被没收时,它们会阻止它们。 我们提出了一个无等待的队列,称为WCQ。 WCQ基于SCQ,并使用其自身的快速路径路径方法的变体来实现wait-freedom和绑定的内存使用情况。我们对X86和PowerPC体系结构的实验研究验证了WCQ的出色性能和记忆效率。他们还表明,WCQ的性能通常与最著名的并发队列设计相当。

The concurrency literature presents a number of approaches for building non-blocking, FIFO, multiple-producer and multiple-consumer (MPMC) queues. However, only a fraction of them have high performance. In addition, many queue designs, such as LCRQ, trade memory usage for better performance. The recently proposed SCQ design achieves both memory efficiency as well as excellent performance. Unfortunately, both LCRQ and SCQ are only lock-free. On the other hand, existing wait-free queues are either not very performant or suffer from potentially unbounded memory usage. Strictly described, the latter queues, such as Yang & Mellor-Crummey's (YMC) queue, forfeit wait-freedom as they are blocking when memory is exhausted. We present a wait-free queue, called wCQ. wCQ is based on SCQ and uses its own variation of fast-path-slow-path methodology to attain wait-freedom and bound memory usage. Our experimental studies on x86 and PowerPC architectures validate wCQ's great performance and memory efficiency. They also show that wCQ's performance is often on par with the best known concurrent queue designs.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源