Sciweavers

PODC
1996
ACM

Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms

13 years 8 months ago
Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms
Drawing ideas from previous authors, we present a new non-blocking concurrent queue algorithm and a new twolock queue algorithm in which one enqueue and one dequeue can proceed concurrently. Both algorithms are simple, fast, and practical; we were surprised not to find them in the literature. Experiments on a 12-node SGI Challenge multiprocessor indicate that the new non-blocking queue consistently outperforms the best known alternatives; it is the clear algorithm of choice for machines that provide a universal atomic primitive (e.g. compare and swap or load linked/store conditional). The two-lock concurrent queue outperforms a single lock when several processes are competing simultaneously for access; it appears to be the algorithm of choice for busy queues on machines with non-universal atomic primitives (e.g. test and set). Since much of the motivation for non-blocking algorithms is rooted in their immunity to large, unpredictable delays in process execution,we report experimental ...
Maged M. Michael, Michael L. Scott
Added 08 Aug 2010
Updated 08 Aug 2010
Type Conference
Year 1996
Where PODC
Authors Maged M. Michael, Michael L. Scott
Comments (0)