The Community for Technology Leaders
Parallel and Distributed Processing Symposium, International (2008)
Miami, FL, USA
Apr. 14, 2008 to Apr. 18, 2008
ISBN: 978-1-4244-1693-6
pp: 1-6
Daniel Bauer , IBM Research Laboratory Zurich, Switzerland
Kristijan Dragicevic , IBM Research Laboratory Zurich, Switzerland
ABSTRACT
Algorithms for concurrent data structures have gained attention in recent years as multi-core processors have become unbiquitous. Using the example of a concurrent priority queue, this paper investigates different synchonization methods and concurrent algorithms. It covers traditional lock-based approaches, non-blocking algorithms as well as a method based on software transactional memory. Besides discussing correctness criteria for the various approaches, we also present performance results for all algorithms as well as a method based on software transactional memory. Besides discussing correctness criteria for the various approaches, we also present performance results for all algorithms for various scenarios. Somewhat surprisingly, we find that a simple lock-based approach performs reasonable well, even though it does not scale with the number of threads. Better scalability is achieved by non-blocking approaches.
INDEX TERMS
CITATION
Daniel Bauer, Kristijan Dragicevic, "A survey of concurrent priority queue algorithms", Parallel and Distributed Processing Symposium, International, vol. 00, no. , pp. 1-6, 2008, doi:10.1109/IPDPS.2008.4536331
97 ms
(Ver 3.3 (11022016))