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) per operation in worst-case executions, where p is the number of processes that access the queue. Our new wait-free queue takes O(logp) steps per enqueue and O(log2p+logq) steps per dequeue, where q is the size of the queue. A bounded-space version of the implementation has O(logplog(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