Multi-queues can be state-of-the-art priority schedulers
Anastasiia Postnikova, Nikita Koval, Giorgi Nadiradze, Dan Alistarh
Abstract
Designing and implementing efficient parallel priority schedulers is an active research area. An intriguing proposed design is the Multi-Queue: given n threads and m ≥ n distinct priority queues, task insertions are performed uniformly at random, while, to delete, a thread picks two queues uniformly at random, and removes the observed task of higher priority. This approach scales well, and has probabilistic rank guarantees: roughly, the rank of each task removed, relative to remaining tasks in all other queues, is O(m) in expectation. Yet, the performance of this pattern is below that of well-engineered schedulers, which eschew theoretical guarantees for practical efficiency. We investigate whether it is possible to design and implement a Multi-Queue-based task scheduler that is both highly-efficient and has analytical guarantees. We propose a new variant called the Stealing Multi-Queue (SMQ), a cache-efficient variant of the Multi-Queue, which leverages both queue affinity-each thread has a local queue, from which tasks are usually removed; but, with some probability, threads also attempt to steal higher-priority tasks from the other queues-and task batching, that is, the processing of several tasks in a single insert / remove step. These ideas are well-known for task scheduling without priorities; our theoretical contribution is showing that, despite relaxations, this design can still provide rank guarantees, which in turn implies bounds on total work performed. We provide a general SMQ implementation which can surpass state-of-the-art schedulers such as Galois and PMOD in terms of performance on popular graph-processing benchmarks. Notably, the performance improvement comes mainly from the superior rank guarantees provided by our scheduler, confirming that analytically-reasoned approaches can still provide performance improvements for priority task scheduling.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers2
- A scalable architecture for reprioritizing ordered parallelismGilead Posluns, Yan Zhu, Guowei Zhang, Mark C. JeffreyISCA 2022 · 8 citations
- Balanced Allocations over Efficient Queues: A Fast Relaxed FIFO QueueKåre von Geijer, Philippas Tsigas, Elias Johansson, Sebastian HermanssonPPoPP 2025 · 2 citations
Builds on1
Related papers
- BWoS: Formally Verified Block-based Work Stealing for Parallel ProcessingJiawei Wang, Bohdan Trach, Ming Fu, Diogo Behrens et al.OSDI 2023 · 5 citations
- Cache-Efficient Fork-Processing Patterns on Large GraphsShengliang Lu, Shixuan Sun, Johns Paul, Yuchen Li et al.SIGMOD 2021 · 10 citations
- Orinoco: Ordered Issue and Unordered Commit with Non-Collapsible QueuesDibei Chen, Tairan Zhang, Yi Huang, Jianfeng Zhu et al.ISCA 2023 · 1 citation
- Sharded Elimination and Combining for Highly-Efficient Concurrent StacksAjay Singh, Nikos Metaxakis, Panagiota FatourouPPoPP 2026
- Large-Scale Graph Processing on FPGAs with Caches for Thousands of Simultaneous MissesMikhail Asiatici, Paolo IenneISCA 2021 · 28 citations
