Back to Search Start Over

Fast and lock-free concurrent priority queues for multi-thread systems

Authors :
Sundell, Håkan
Tsigas, Philippas
Source :
Journal of Parallel & Distributed Computing. May2005, Vol. 65 Issue 5, p609-627. 19p.
Publication Year :
2005

Abstract

Abstract: We present an efficient and practical lock-free implementation of a concurrent priority queue that is suitable for both fully concurrent (large multi-processor) systems as well as pre-emptive (multi-process) systems. Many algorithms for concurrent priority queues are based on mutual exclusion. However, mutual exclusion causes blocking which has several drawbacks and degrades the overall performance of the system. Non-blocking algorithms avoid blocking, and several implementations have been proposed. Previously known non-blocking algorithms of priority queues did not perform well in practice because of their complexity, and they are often based on non-available atomic synchronization primitives. Our algorithm is based on the randomized sequential list structure called Skiplist, and a real-time extension of our algorithm is also described. In our performance evaluation we compare our algorithm with a well-representable set of earlier known implementations of priority queues. The experimental results clearly show that our lock-free implementation outperforms the other lock-based implementations in practical scenarios for 3 threads and more, both on fully concurrent as well as on pre-emptive systems. [Copyright &y& Elsevier]

Details

Language :
English
ISSN :
07437315
Volume :
65
Issue :
5
Database :
Academic Search Index
Journal :
Journal of Parallel & Distributed Computing
Publication Type :
Academic Journal
Accession number :
17656932
Full Text :
https://doi.org/10.1016/j.jpdc.2004.12.005