Abstract:
The throughput of concurrent priority queues is pivotal to multiprocessor applications such as discrete event simulation, best-first search and task scheduling. Existing ...Show MoreMetadata
Abstract:
The throughput of concurrent priority queues is pivotal to multiprocessor applications such as discrete event simulation, best-first search and task scheduling. Existing lock-free priority queues are mostly based on skiplists, which probabilistically create shortcuts in an ordered list for fast insertion of elements. The use of skiplists eliminates the need of global rebalancing in balanced search trees and ensures logarithmic sequential search time on average, but the worst-case performance is linear with respect to the input size. In this paper, we propose a quiescently consistent lock-free priority queue based on a multi-dimensional list that guarantees worst-case search time of \mathcal {O}(\log N) for key universe of size N. The novel multi-dimensional list (MDList) is composed of nodes that contain multiple links to child nodes arranged by their dimensionality. The insertion operation works by first injectively mapping the scalar key to a high-dimensional vector, then uniquely locating the target position by using the vector as coordinates. Nodes in MDList are ordered by their coordinate prefixes and the ordering property of the data structure is readily maintained during insertion without rebalancing nor randomization. In our experimental evaluation using a micro-benchmark, our priority queue achieves an average of 50 percent speedup over the state of the art approaches under high concurrency.
Published in: IEEE Transactions on Parallel and Distributed Systems ( Volume: 27, Issue: 3, 01 March 2016)
Funding Agency:
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Priority Queue ,
- Throughput ,
- Data Structure ,
- Sequence Search ,
- Child Nodes ,
- Tree Search ,
- Log Time ,
- Task Scheduling ,
- Discrete Event Simulation ,
- Worst-case Time ,
- Insertion Operator ,
- Semantic ,
- Scalable ,
- Search Algorithm ,
- Dimensional Vector ,
- Reachable ,
- Root Node ,
- Coordinate Vector ,
- Dashed Arrows ,
- Search Operations ,
- Head Node ,
- Linearizable ,
- Key-value Pairs ,
- Consecutive Nodes ,
- Minimum Node ,
- Affine Space ,
- Top Nodes ,
- Abstract States ,
- Performance Penalty
- Author Keywords
- Author Free Keywords
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Priority Queue ,
- Throughput ,
- Data Structure ,
- Sequence Search ,
- Child Nodes ,
- Tree Search ,
- Log Time ,
- Task Scheduling ,
- Discrete Event Simulation ,
- Worst-case Time ,
- Insertion Operator ,
- Semantic ,
- Scalable ,
- Search Algorithm ,
- Dimensional Vector ,
- Reachable ,
- Root Node ,
- Coordinate Vector ,
- Dashed Arrows ,
- Search Operations ,
- Head Node ,
- Linearizable ,
- Key-value Pairs ,
- Consecutive Nodes ,
- Minimum Node ,
- Affine Space ,
- Top Nodes ,
- Abstract States ,
- Performance Penalty
- Author Keywords
- Author Free Keywords