Wait-free queues with multiple enqueuers and dequeuers

10 years 10 months ago
Wait-free queues with multiple enqueuers and dequeuers
The queue data structure is fundamental and ubiquitous. Lockfree versions of the queue are well known. However, an important open question is whether practical wait-free queues exist. Until now, only versions with limited concurrency were proposed. In this paper we provide a design for a practical wait-free queue. Our construction is based on the highly efficient lock-free queue of Michael and Scott. To achieve wait-freedom, we employ a prioritybased helping scheme in which faster threads help the slower peers to complete their pending operations. We have implemented our scheme on multicore machines and present performance measurements comparing our implementation with that of Michael and Scott in several system configurations. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features – Concurrent programming structures; E.1 [Data structures]: Lists, stacks, and queues General Terms Algorithms, Performance Keywords concurrent queues, wait-f...
Alex Kogan, Erez Petrank
Added 17 Sep 2011
Updated 17 Sep 2011
Type Journal
Year 2011
Authors Alex Kogan, Erez Petrank
Comments (0)