A Skiplist-Based Concurrent Priority Queue with Minimal Memory Contention
- Cite this paper as:
- Lindén J., Jonsson B. (2013) A Skiplist-Based Concurrent Priority Queue with Minimal Memory Contention. In: Baldoni R., Nisse N., van Steen M. (eds) Principles of Distributed Systems. OPODIS 2013. Lecture Notes in Computer Science, vol 8304. Springer, Cham
Priority queues are fundamental to many multiprocessor applications. Several priority queue algorithms based on skiplists have been proposed, as skiplists allow concurrent accesses to different parts of the data structure in a simple way. However, for priority queues on multiprocessors, an inherent bottleneck is the operation that deletes the minimal element. We present a linearizable, lock-free, concurrent priority queue algorithm, based on skiplists, which minimizes the contention for shared memory that is caused by the DeleteMin operation. The main idea is to minimize the number of global updates to shared memory that are performed in one DeleteMin. In comparison with other skiplist-based priority queue algorithms, our algorithm achieves a 30 - 80% improvement.
KeywordsConcurrent Data Structures Priority Queue Lock-free Non-blocking Skiplist
Unable to display preview. Download preview PDF.