Affiliation:
1. University of Rome Tor Vergata, Italy
2. Lockless S.r.l., Italy
Abstract
In the last two decades, great attention has been devoted to the design of non-blocking and linearizable data structures, which enable exploiting the scaled-up degree of parallelism in off-the-shelf shared-memory multi-core machines. In this context, priority queues are highly challenging. Indeed, concurrent attempts to extract the highest-priority item are prone to create detrimental thread conflicts that lead to abort/retry of the operations. In this article, we present the first priority queue that jointly provides: i) lock-freedom and linearizability; ii) conflict resiliency against concurrent extractions; iii) adaptiveness to different contention profiles; and iv) amortized constant-time access for both insertions and extractions. Beyond presenting our solution, we also provide proof of its correctness based on an assertional approach. Also, we present an experimental study on a 64-CPU machine, showing that our proposal provides performance improvements over state-of-the-art non-blocking priority queues.
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Theory and Mathematics,Computer Science Applications,Hardware and Architecture,Modeling and Simulation,Software
Reference33 articles.
1. The SprayList: a scalable relaxed priority queue
2. Rassul Ayani . 1990 . LR-Algorithm: concurrent operations on priority queues . In Proceedings of the 2nd IEEE Symposium on Parallel and Distributed Processing (SPDP). IEEE Computer Society , Dallas, TX, USA, 22–25. Rassul Ayani. 1990. LR-Algorithm: concurrent operations on priority queues. In Proceedings of the 2nd IEEE Symposium on Parallel and Distributed Processing (SPDP). IEEE Computer Society, Dallas, TX, USA, 22–25.
3. Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem
4. Aspect-oriented linearizability proofs