# 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

#### 105 Citations

Practical Concurrent Priority Queues

- Computer Science
- ArXiv
- 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. Expand

The Contention Avoiding Concurrent Priority Queue

- Computer Science
- LCPC
- 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. Expand

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

- Computer Science
- ArXiv
- 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. Expand

A Skiplist-Based Concurrent Priority Queue with Minimal Memory Contention

- Computer Science
- OPODIS
- 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. Expand

Priority Queues Are Not Good Concurrent Priority Schedulers

- Computer Science
- Euro-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. Expand

The SprayList : a scalable relaxed priority queue Citation

- 2014

High-performance concurrent priority queues are essential for applications such as task scheduling and discrete event simulation. Unfortunately, even the best performing implementations do not scale… Expand

Fast and lock-free concurrent priority queues for multi-thread systems

- Computer Science
- J. Parallel Distributed Comput.
- 2005

We present an efficient and practical lock-free implementation of a concurrent priority queue that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptive… Expand

The SprayList: a scalable relaxed priority queue

- Computer Science
- PPoPP 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. Expand

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. Expand

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

- Computer Science
- IEEE 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. Expand

#### References

SHOWING 1-10 OF 53 REFERENCES

Scalable concurrent priority queue algorithms

- Computer Science
- PODC '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. Expand

An evaluation of concurrent priority queue algorithms

- Computer Science
- Proceedings 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… Expand

An Efficient Algorithm for Concurrent Priority Queue Heaps

- Computer Science
- Inf. Process. Lett.
- 1996

Experimental results on a Silicon Graphics Challenge multiprocessor demonstrate good overall performance for the new algorithm on small heaps, and significant performance improvements over known alternatives on large heaps with mixed insertion/deletion workloads. Expand

Concurrent Access of Priority Queues

- Computer Science
- IEEE 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. Expand

LR-algorithm: concurrent operations on priority queues

- Computer Science
- Proceedings 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. Expand

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

- Computer Science
- Proceedings.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. Expand

Randomized Priority Queues for Fast Parallel Access

- Computer Science
- J. 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. Expand

Parallelism and locality in priority queues

- Computer Science
- Proceedings 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. Expand

Parallel Priority Queues

- Computer Science
- Inf. Process. Lett.
- 1991

This paper introduces the Parallel Priority Queue (PPQ) abstract data type, and shows that insertion of n new items in a PPQ of m elements can be performed in parallel time O(h +log n), where h = log(m/n), while deletion of the n smallest items can be performing in time O (h+ log log n). Expand

Optimal Parallel Initialization Algorithms for a Class of Priority Queues

- Computer Science
- IEEE 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… Expand