English

Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues

Data Structures and Algorithms 2025-04-17 v1 Distributed, Parallel, and Cluster Computing Performance

Abstract

Priority queues are used in a wide range of applications, including prioritized online scheduling, discrete event simulation, and greedy algorithms. In parallel settings, classical priority queues often become a severe bottleneck, resulting in low throughput. Consequently, there has been significant interest in concurrent priority queues with relaxed semantics. In this article, we present the MultiQueue, a flexible approach to relaxed priority queues that uses multiple internal sequential priority queues. The scalability of the MultiQueue is enhanced by buffering elements, batching operations on the internal queues, and optimizing access patterns for high cache locality. We investigate the complementary quality criteria of rank error, which measures how close deleted elements are to the global minimum, and delay, which quantifies how many smaller elements were deleted before a given element. Extensive experimental evaluation shows that the MultiQueue outperforms competing approaches across several benchmarks. This includes shortest-path and branch-and-bound benchmarks that resemble real applications. Moreover, the MultiQueue can be configured easily to balance throughput and quality according to the application's requirements. We employ a seemingly paradoxical technique of wait-free locking that might be of broader interest for converting sequential data structures into relaxed concurrent data structures.

Keywords

Cite

@article{arxiv.2504.11652,
  title  = {Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues},
  author = {Marvin Williams and Peter Sanders},
  journal= {arXiv preprint arXiv:2504.11652},
  year   = {2025}
}

Comments

40 pages, extended journal version of arXiv:2107.01350

R2 v1 2026-06-28T22:59:50.366Z