Concurrent Double-Ended Priority Queues

πŸ“… 2025-08-18
πŸ“ˆ Citations: 0
✨ Influential: 0
πŸ“„ PDF

career value

200K/year
πŸ€– AI Summary
This paper introduces the first general construction for concurrent double-ended priority queues (DEPQs), addressing the critical limitation of existing concurrent priority queuesβ€”namely, the lack of support for ExtractMax operations. Methodologically, it composes two linearizable single-consumer priority queues to design a lock-free, double-ended safe extraction mechanism, then extends this approach to multi-consumer settings using lock-based composition techniques. The contributions are threefold: (1) the first concurrent data structure explicitly designed for DEPQ semantics; (2) efficient, correct, and scalable concurrent execution supporting Insert, ExtractMin, and ExtractMax operations; and (3) formal verification of linearizability and empirical demonstration of high concurrency performance in a linked-list-based implementation.

Technology Category

Application Category

πŸ“ Abstract
This work provides the first concurrent implementation specifically designed for a double-ended priority queue (DEPQ). We do this by describing a general way to add an ExtractMax operation to any concurrent priority queue that already supports Insert and ExtractMin operations. The construction uses two linearizable single-consumer priority queues to build a linearizable dual-consumer DEPQ (only one process can perform Extract operations at each end). This construction preserves lock-freedom. We then describe how to use a lock-based combining scheme to allow multiple consumers at each end of the DEPQ. To illustrate the technique, we apply it to a list-based priority queue.
Problem

Research questions and friction points this paper is trying to address.

Concurrent double-ended priority queue implementation
Adding ExtractMax to existing concurrent priority queues
Enabling multiple consumers with lock-based combining
Innovation

Methods, ideas, or system contributions that make the work stand out.

Concurrent double-ended priority queue implementation
Combining two single-consumer queues for dual-consumer DEPQ
Lock-based combining scheme for multiple consumers
πŸ”Ž Similar Papers