Sciweavers

SPAA
2005
ACM

Using elimination to implement scalable and lock-free FIFO queues

13 years 10 months ago
Using elimination to implement scalable and lock-free FIFO queues
This paper shows for the first time that elimination, a scaling technique formerly applied only to counters and LIFO structures, can be applied to FIFO data structures, specifically, to linearizable FIFO queues. We show how to transform existing nonscalable FIFO queue implementations into scalable implementations using the elimination technique, while preserving lock-freedom and linearizablity. We apply our transformation to the FIFO queue algorithm of Michael and Scott, which is included in the JavaTM Concurrency Package. Empirical evaluation on a state-ofthe-art CMT multiprocessor chip shows that by using elimination as a backoff technique for the Michael and Scott queue algorithm, we can achieve comparable performance at low loads, and improved scalability as load increases. Categories and Subject Descriptors E.1 [Data]: Data Structures General Terms Algorithms, Design, Theory, Verification Keywords Multiprocessors, nonblocking synchronization, scalability, elimination, lock-fr...
Mark Moir, Daniel Nussbaum, Ori Shalev, Nir Shavit
Added 26 Jun 2010
Updated 26 Jun 2010
Type Conference
Year 2005
Where SPAA
Authors Mark Moir, Daniel Nussbaum, Ori Shalev, Nir Shavit
Comments (0)