SmartPQ: An Adaptive Concurrent Priority Queue for NUMA Architectures
Christina Giannoula, Foteini Strati, Dimitrios Siakavaras, Georgios, Goumas, Nectarios Koziris

TL;DR
SmartPQ is an adaptive concurrent priority queue designed for NUMA architectures that dynamically switches between NUMA-aware and NUMA-oblivious modes to optimize performance across different workloads.
Contribution
It introduces SmartPQ, which combines NUMA Node Delegation with a lightweight decision mechanism to adaptively optimize priority queue performance on NUMA systems.
Findings
Achieves 1.87x average performance improvement over SprayList.
Successfully adapts between modes with 87.9% success rate.
Maintains negligible overhead during mode switching.
Abstract
Concurrent priority queues are widely used in important workloads, such as graph applications and discrete event simulations. However, designing scalable concurrent priority queues for NUMA architectures is challenging. Even though several NUMA-oblivious implementations can scale up to a high number of threads, exploiting the potential parallelism of insert operation, NUMA-oblivious implementations scale poorly in deleteMin-dominated workloads. This is because all threads compete for accessing the same memory locations, i.e., the highest-priority element of the queue, thus incurring excessive cache coherence traffic and non-uniform memory accesses between nodes of a NUMA system. In such scenarios, NUMA-aware implementations are typically used to improve system performance on a NUMA system. In this work, we propose an adaptive priority queue, called SmartPQ. SmartPQ tunes itself by…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReal-Time Systems Scheduling · Embedded Systems Design Techniques · Petri Nets in System Modeling
