Back to Search
Start Over
Fast and lock-free concurrent priority queues for multi-thread systems
- 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]
- Subjects :
- *ALGORITHMS
*PERFORMANCE
*SYNCHRONIZATION
*TIME measurements
Subjects
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