English

A Wait-free Queue with Polylogarithmic Step Complexity

Distributed, Parallel, and Cluster Computing 2023-05-15 v1 Data Structures and Algorithms

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.

Cite

@article{arxiv.2305.07229,
  title  = {A Wait-free Queue with Polylogarithmic Step Complexity},
  author = {Hossein Naderibeni and Eric Ruppert},
  journal= {arXiv preprint arXiv:2305.07229},
  year   = {2023}
}

Comments

18 pages, 6 figures, to be published in Proceedings of the 2023 ACM Symposium on Principles of Distributed Computing