🤖 AI Summary
This work addresses the performance bottleneck of concurrent priority queues under insertion-intensive workloads. We propose the first strictly linearizable priority queue explicitly designed to maximize insertion parallelism—departing from conventional approaches that prioritize delete-min optimization. Our design employs a two-tier architecture: a lock-free, thread-local worker layer for high-throughput insertions, and a leader layer that maintains a compact global heap of high-priority elements to ensure low-latency delete-min operations. Fine-grained synchronization and ordered merge protocols guarantee strict linearizability while maximizing insertion throughput. Experimental evaluation demonstrates that our queue outperforms state-of-the-art alternatives by up to 3.2× under insertion-dominated workloads, and achieves superior scalability and consistency guarantees in real-world applications such as graph processing.
📝 Abstract
This paper presents PIPQ, a strict and linearizable concurrent priority queue whose design differs from existing solutions in literature because it focuses on enabling parallelism of insert operations as opposed to accelerating delete-min operations, as traditionally done. In a nutshell, PIPQ's structure includes two levels: the worker level and the leader level. The worker level provides per-thread data structures enabling fast and parallel insertions. The leader level contains the highest priority elements in the priority queue and can thus serve delete-min operations. Our evaluation, which includes an exploration of different data access patterns, operation mixes, runtime settings, and an integration into a graph-based application, shows that PIPQ outperforms competitors in a variety of cases, especially with insert-dominant workloads.