Subhash Suri, Marcel Waldvogel, et al.
Computer Communications
Algorithms for concurrent data structures have gained attention in recent years as multi-core processors have become ubiquitous. Using the example of a concurrent priority queue, this paper investigates different synchronization 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 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. ©2008 IEEE.
Subhash Suri, Marcel Waldvogel, et al.
Computer Communications
Daniel Bauer, Ilias Iliadis, et al.
Multimedia Tools and Applications
Anamitra Roy Choudhury, Alan King, et al.
IPDPS 2008
Dong Ryu Kyung, David Daly, et al.
IPDPS 2008