# Skiplist-based concurrent priority queues

@article{Shavit2000SkiplistbasedCP, title={Skiplist-based concurrent priority queues}, author={Nir Shavit and Itay Lotan}, journal={Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000}, year={2000}, pages={263-268} }

This paper addresses the problem of designing scalable concurrent priority queues for large scale multiprocessors machines with up to several hundred processors. [... ] Key Method To this end, we show that a concurrent skiplist structure, following a simple set of modifications, provides a concurrent priority queue with a higher level of parallelism and significantly less contention than the fastest known heap-based algorithms. Our initial empirical evidence, collected on a simulated 256 node shared memory… Expand

## 107 Citations

Practical Concurrent Priority Queues

- Computer ScienceArXiv
- 2015

Three major ideas within the field of concurrent priority queues are discussed: fine-grained locking employs multiple locks to avoid a single bottleneck within the queue; SkipLists are search structures which use randomization and therefore do not require elaborate reorganization schemes; and relaxed data structures trade semantic guarantees for improved scalability.

The Contention Avoiding Concurrent Priority Queue

- Computer ScienceLCPC
- 2016

This work presents the contention avoiding concurrent priority queue (CA-PQ), a data structure that functions as a linearizable concurrent priority with traditional semantics under low contention, but activates contention avoiding techniques that give it more relaxed semantics when high contention is detected.

MultiQueues: Simpler, Faster, and Better Relaxed Concurrent Priority Queues

- Computer ScienceArXiv
- 2014

This work focuses on scheduling of jobs with priorities in data managementsystems to support quality of service guarantees (Service Level Agreements) and turns out to outperform previous more complicated data structures while at the same time improving the quality of the returned elements.

Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues

- Computer ScienceESA
- 2021

This paper introduces MultiQueues as a natural approach to relaxed priority queues based on multiple sequential priority queues and employs 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.

A Skiplist-Based Concurrent Priority Queue with Minimal Memory Contention

- Computer ScienceOPODIS
- 2013

This work presents a linearizable, lock-free, concurrent priority queue algorithm, based on skiplists, which minimizes the contention for shared memory that is caused by the DeleteMin operation.

Priority Queues Are Not Good Concurrent Priority Schedulers

- Computer ScienceEuro-Par
- 2015

This paper shows that by exploiting the fact that algorithms amenable to priority scheduling are often robust to small deviations from a strict priority order, and by optimizing the scheduler for the cache hierarchy of current multicore and NUMA processors, this work can implement concurrent priority schedulers that improve the end-to-end performance of complex irregular benchmarks by orders of magnitude.

The SprayList : a scalable relaxed priority queue Citation

- Computer Science
- 2014

The SprayList is presented, a scalable priority queue with relaxed ordering semantics that is comparable to a classic unordered SkipList, and it is proved that the running time of a DeleteMin operation is O(log p), with high probability, independent of the size of the list.

The SprayList: a scalable relaxed priority queue

- Computer SciencePPoPP 2015
- 2015

The SprayList is presented, a scalable priority queue with relaxed ordering semantics that is comparable to a classic unordered SkipList, and it is proved that the running time of a DeleteMin operation is O(log^3 p), with high probability, independent of the size of the list.

Non-~blocking Priority Queue based on Skiplists with Relaxed Semantics

- Computer Science
- 2017

This work presents a relaxed non-blocking priority queue based on skiplists that addresses all the design issues mentioned above in the priority queue.

A Lock-Free Priority Queue Design Based on Multi-Dimensional Linked Lists

- Computer ScienceIEEE Transactions on Parallel and Distributed Systems
- 2016

A quiescently consistent lock-free priority queue based on a multi-dimensional list that guarantees worst-case search time of O(logN) for key universe of size N is proposed and achieves an average of 50 percent speedup over the state of the art approaches under high concurrency.

## References

SHOWING 1-10 OF 52 REFERENCES

Scalable concurrent priority queue algorithms

- Computer SciencePODC '99
- 1999

This paper addresses the problem of designing bounded range priority queues, that is, queues that support a fixed range of priorities and presents two simple new algorithms, LinearFunnels and FunnelTree, that provide true scalability throughout the concurrency range.

An evaluation of concurrent priority queue algorithms

- Computer ScienceProceedings of the Third IEEE Symposium on Parallel and Distributed Processing
- 1991

This paper describes the design and experimental evaluation of two novel concurrent priority queue algorithms, a parallel Fibonacci heap and a concurrent priority pool, and compares them with the…

An Efficient Algorithm for Concurrent Priority Queue Heaps

- Computer ScienceInf. Process. Lett.
- 1996

Concurrent Access of Priority Queues

- Computer ScienceIEEE Trans. Computers
- 1988

Experimental results on the BBN Butterfly parallel processor demonstrate that the use of concurrent-heap algorithms in parallel branch-and-bound improves its performance substantially.

LR-algorithm: concurrent operations on priority queues

- Computer ScienceProceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990
- 1990

The paper proposes a new method, the LA-algorithm, which allows concurrent insertions on priority queues, which directs any two consecutive insertion requests to two different subtrees and thus provides a possibility to perform these insertions in parallel.

Parallel heap: A practical priority queue for fine-to-medium-grained applications on small multiprocessors

- Computer ScienceProceedings.Seventh IEEE Symposium on Parallel and Distributed Processing
- 1995

An efficient implementation of the parallel heap data structure on a bus-based Silicon Graphics multiprocessor GTX/4D achieving speedups of two to four using six processors relative to the best sequential execution times is presented.

Randomized Priority Queues for Fast Parallel Access

- Computer ScienceJ. Parallel Distributed Comput.
- 1998

This work presents simple randomized algorithms for parallel priority queues on distributed memory machines that improve over the best previously known algorithms for many interconnection networks and even matches the speed of the best known PRAM algorithms.

Parallelism and locality in priority queues

- Computer Science, MathematicsProceedings of 1994 6th IEEE Symposium on Parallel and Distributed Processing
- 1994

It is shown that using a d-dimensional array (constant d) of P processors the authors can insert or delete the smallest P elements from a heap in time O(P/sup 1/d/log/Sup 1-1/ d/ P), where the number of elements in the heap is assumed to be polynomial in P.

Optimal Parallel Initialization Algorithms for a Class of Priority Queues

- Computer ScienceIEEE Trans. Parallel Distributed Syst.
- 1991

An adaptive parallel algorithm for inducing a priority queue structure on an n-element array is presented. The algorithm is extended to provide optimal parallel construction algorithms for three…