Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues

07/03/2021
by   Marvin Williams, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/03/2018

Distributionally Linearizable Data Structures

Relaxed concurrent data structures have become increasingly popular, due...
research
04/28/2023

MCPrioQ: A lock-free algorithm for online sparse markov-chains

In high performance systems it is sometimes hard to build very large gra...
research
06/17/2019

Monotonically relaxing concurrent data-structure semantics for performance: An efficient 2D design framework

There has been a significant amount of work in the literature proposing ...
research
08/13/2018

Relaxed Schedulers Can Efficiently Parallelize Iterative Algorithms

There has been significant progress in understanding the parallelism inh...
research
05/15/2019

Quantifiability: Concurrent Correctness from First Principles

Architectural imperatives due to the slowing of Moore's Law, the broad a...
research
10/06/2018

Solving the clustered traveling salesman problem with d-relaxed priority rule

The Clustered Traveling Salesman Problem with a Prespecified Order on th...
research
07/03/2017

Checking Linearizability of Concurrent Priority Queues

Efficient implementations of concurrent objects such as atomic collectio...

Please sign up or login with your details

Forgot password? Click here to reset