27
4

A Wait-free Queue with Polylogarithmic Step Complexity

Abstract

We present a novel linearizable wait-free queue implementation using single-word CAS instructions. Previous lock-free queue implementations from CAS all have amortized step complexity of Ω(p)\Omega(p) per operation in worst-case executions, where pp is the number of processes that access the queue. Our new wait-free queue takes O(logp)O(\log p) steps per enqueue and O(log2p+logq)O(\log^2 p +\log q) steps per dequeue, where qq is the size of the queue. A bounded-space version of the implementation has O(logplog(p+q))O(\log p \log(p+q)) amortized step complexity per operation.

View on arXiv
Comments on this paper