License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ESA.2021.81
URN: urn:nbn:de:0030-drops-146627
Go to the corresponding LIPIcs Volume Portal

Williams, Marvin ; Sanders, Peter ; Dementiev, Roman

Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues

LIPIcs-ESA-2021-81.pdf (1 MB)


Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or greedy algorithms. 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 relaxed semantics. We investigate the complementary quality criteria rank error (how close are deleted elements to the global minimum) and delay (for each element x, how many elements with lower priority are deleted before x). In this paper, we introduce MultiQueues as a natural approach to relaxed priority queues based on multiple sequential priority queues. Their naturally high theoretical scalability is further enhanced by using three orthogonal ways of batching operations on the sequential queues. Experiments indicate that MultiQueues present a very good performance-quality tradeoff and considerably outperform competing approaches in at least one of these aspects.
We employ a seemingly paradoxical technique of "wait-free locking" that might be of more general interest to convert sequential data structures to relaxed concurrent data structures.

BibTeX - Entry

  author =	{Williams, Marvin and Sanders, Peter and Dementiev, Roman},
  title =	{{Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues}},
  booktitle =	{29th Annual European Symposium on Algorithms (ESA 2021)},
  pages =	{81:1--81:17},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-204-4},
  ISSN =	{1868-8969},
  year =	{2021},
  volume =	{204},
  editor =	{Mutzel, Petra and Pagh, Rasmus and Herman, Grzegorz},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{},
  URN =		{urn:nbn:de:0030-drops-146627},
  doi =		{10.4230/LIPIcs.ESA.2021.81},
  annote =	{Keywords: concurrent data structure, priority queues, randomized algorithms, wait-free locking}

Keywords: concurrent data structure, priority queues, randomized algorithms, wait-free locking
Collection: 29th Annual European Symposium on Algorithms (ESA 2021)
Issue Date: 2021
Date of publication: 31.08.2021
Supplementary Material: The source code of our MultiQueue implementation as well as the code for the experimental evaluation can be found as follows:
Software (Experimental Evaluation):
Software (Archived Source Code and Experimental Data):

DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI