1. Mounds: Array-Based Concurrent Priority Queues
- Author
-
Michael Spear and Yujie Liu
- Subjects
Concurrency control ,Linearizability ,Computational complexity theory ,Concurrent data structure ,Computer science ,Parallel computing ,Priority queue ,Abstract data type ,Lock (computer science) ,Heap (data structure) - Abstract
This paper introduces a concurrent data structure called the mound. The mound is a rooted tree of sorted lists that relies on randomization for balance. It supports O(log(log(N))) insert and O(log(N)) extract Min operations, making it suitable for use as a priority queue. We present two mound algorithms: the first achieves lock freedom via the use of a pure-software double-compare-and-swap (DCAS), and the second uses fine grained locks. Mounds perform well in practice, and support novel operations that we expect to be useful in parallel applications, such as extract Many and probabilistic extract Min.
- Published
- 2012