MultiQueues: Simpler, Faster, and Better Relaxed Concurrent Priority Queues
Data Structures and Algorithms
2014-11-06 v1
Abstract
Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or branch-and-bound. However, a classical priority queue constitutes a severe bottleneck in this context, leading to very small throughput. Hence, there has been significant interest in concurrent priority queues with a somewhat relaxed semantics where deleted elements only need to be close to the minimum. In this paper we present a very simple approach based on multiple sequential priority queues. It turns out to outperform previous more complicated data structures while at the same time improving the quality of the returned elements.
Cite
@article{arxiv.1411.1209,
title = {MultiQueues: Simpler, Faster, and Better Relaxed Concurrent Priority Queues},
author = {Hamza Rihani and Peter Sanders and Roman Dementiev},
journal= {arXiv preprint arXiv:1411.1209},
year = {2014}
}