Title :
Mounds: Array-Based Concurrent Priority Queues
Author :
Liu, Yujie ; Spear, Michael
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.
Keywords :
abstract data types; computational complexity; concurrency control; parallel processing; DCAS; O(log(N)) extract Min operations; O(log(log(N))) insert Min operation; array-based concurrent priority queues; concurrent data structure; fine grained locks; lock freedom; mound algorithms; parallel applications; pure-software double-compare-and-swap; randomization; rooted tree; Arrays; Complexity theory; Indexes; Parallel processing; Radiation detectors; Scalability; Heap; Linearizability; Lock-Freedom; Priority Queue; Randomization; Synchronization;
Conference_Titel :
Parallel Processing (ICPP), 2012 41st International Conference on
Conference_Location :
Pittsburgh, PA
Print_ISBN :
978-1-4673-2508-0
DOI :
10.1109/ICPP.2012.42