Title
Priority Queues Are Not Good Concurrent Priority Schedulers
Abstract
The need for priority scheduling arises in many algorithms. In these algorithms, there is a dynamic pool of lightweight, unordered tasks, and some execution orders are more efficient than others. Therefore, each task is given an application-specific priority that is a heuristic measure of its importance for early scheduling, and the runtime system schedules these tasks roughly in this order. Concurrent priority queues are not suitable for this purpose. We show 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, we can implement concurrent priority schedulers that improve the end-to-end performance of complex irregular benchmarks by orders of magnitude compared to using state-of-the-art concurrent priority queues.
Year
DOI
Venue
2015
10.1007/978-3-662-48096-0_17
Lecture Notes in Computer Science
Field
DocType
Volume
Priority ceiling protocol,Scheduling (computing),Computer science,Parallel computing,Deadline-monotonic scheduling,Priority inversion,Priority queue,Schedule,Priority inheritance,Runtime system,Distributed computing
Conference
9233
ISSN
Citations 
PageRank 
0302-9743
11
0.74
References 
Authors
16
3
Name
Order
Citations
PageRank
Andrew Lenharth145619.94
Donald Nguyen241917.94
Keshav Pingali33056256.64