Sciweavers

PPOPP
2015
ACM

The SprayList: a scalable relaxed priority queue

8 years 6 months ago
The SprayList: a scalable relaxed priority queue
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 past a number of threads in the single digits. This is because of the sequential bottleneck in accessing the elements at the head of the queue in order to perform a DeleteMin operation. In this paper, we present the SprayList, a scalable priority queue with relaxed ordering semantics. Starting from a nonblocking SkipList, the main innovation behind our design is that the DeleteMin operations avoid a sequential bottleneck by “spraying” themselves onto the head of the SkipList list in a coordinated fashion. The spraying is implemented using a carefully designed random walk, so that DeleteMin returns an element among the first O(p log3 p) in the list, with high probability, where p is the number of threads. We prove that the running time of a DeleteMin operation is O(log3 p), with high p...
Dan Alistarh, Justin Kopinsky, Jerry Li, Nir Shavi
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where PPOPP
Authors Dan Alistarh, Justin Kopinsky, Jerry Li, Nir Shavit
Comments (0)