Abstract | ||
---|---|---|
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 non-blocking 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 log^3 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(log^3 p), with high probability, independent of the size of the list. Our experiments show that the relaxed semantics allow the data structure to scale for high thread counts, comparable to a classic unordered SkipList. Furthermore, we observe that, for reasonably parallel workloads, the scalability benefits of relaxation considerably outweigh the additional work due to out-of-order execution. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1145/2688500.2688523 | PPOPP |
Keywords | Field | DocType |
concurrent data structures,data structures,parallel algorithms | Bottleneck,Programming language,Computer science,Scheduling (computing),Theoretical computer science,Priority queue,Concurrent data structure,Distributed computing,Queue,Skip list,Parallel computing,Thread (computing),Discrete event simulation | Conference |
Volume | Issue | ISSN |
50 | 8 | 0362-1340 |
Citations | PageRank | References |
33 | 1.10 | 23 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Dan Alistarh | 1 | 341 | 42.64 |
Justin Kopinsky | 2 | 39 | 5.23 |
Jerry Li | 3 | 229 | 22.67 |
Nir Shavit | 4 | 3780 | 244.84 |