2015
DOI: 10.1145/2858788.2688523
|View full text |Cite
|
Sign up to set email alerts
|

The SprayList: a scalable relaxed priority queue

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 nonblocking Ski… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
12
0

Year Published

2015
2015
2021
2021

Publication Types

Select...
4
4
2

Relationship

1
9

Authors

Journals

citations
Cited by 21 publications
(12 citation statements)
references
References 29 publications
0
12
0
Order By: Relevance
“…Another technique which has proved effective for such data structures is flat combining [25]. A further avenue which has been pursued in recent years in order to reduce the contention for any particular node in such structures is to relax the semantics of the data structure operations [4,12,62]. …”
Section: Experimentationmentioning
confidence: 99%
“…Another technique which has proved effective for such data structures is flat combining [25]. A further avenue which has been pursued in recent years in order to reduce the contention for any particular node in such structures is to relax the semantics of the data structure operations [4,12,62]. …”
Section: Experimentationmentioning
confidence: 99%
“…Prior work has developed shared-memory priority queues that scale with the number of cores [2,75], but they do so by relaxing priority order. This restricts them to benchmarks that admit order violations, and loss of order means threads often execute useless work far from the critical path [33,34].…”
Section: Additional Related Workmentioning
confidence: 99%
“…The priority queues are protected by a lock. Lock-free implementations for approximate priority queues [7] can be employed for cases of numerous short-lived tasks where synchronization becomes a bottleneck. This is not the case for our experiments, mainly due to the concurrency hint (of our previous work [28]) that dynamically adjusts the task granularity of analytical operations, including scans, depending on the workload concurrency.…”
Section: Task Scheduler Infrastructurementioning
confidence: 99%