BQ: A Lock-Free Queue with Batching

BQ: A Lock-Free Queue with Batching
复制标题

BQ:带批处理的无锁队列

DOI:
10.1145/3210377.3210388
复制
发表时间:
2018
期刊:
Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures
影响因子:
--
通讯作者:
E. Petrank
E. Petrank
中科院分区:
--
文献类型:
--
作者:
Gal Milman;Alex Kogan;Yossi Lev;Victor Luchangco;E. Petrank

文献摘要

被引文献

相似文献

并发数据结构为并发编程提供了基本的构建块。标准并发数据结构可以通过允许将操作顺序作为批量提交,以供以后执行。然后,与一次操作的标准执行相比,可以更有效地执行此类操作的序列。在本文中,我们开发了一种新颖的算法扩展,以利用这种批处理方案的流行的FIFO队列数据结构。与以前的队列实现相比,多核心中C ++的实现表明,高达16倍的性能改善(取决于批处理长度)。
Concurrent data structures provide fundamental building blocks for concurrent programming. Standard concurrent data structures may be extended by allowing a sequence of operations to be submitted as a batch for later execution. A sequence of such operations can then be executed more efficiently than the standard execution of one operation at a time. In this paper we develop a novel algorithmic extension to the prevalent FIFO queue data structure that exploits such batching scenarios. An implementation in C++ on a multicore demonstrates a significant performance improvement of up to 16x (depending on batch lengths), compared to previous queue implementations.