A Wait-Free Stack
Seep Goel, Pooja Aggarwal, Smruti R. Sarangi

TL;DR
This paper introduces the first general-purpose wait-free stack algorithm, featuring a novel pop operation and lazy deletion to ensure wait-freedom, linearizability, and size control.
Contribution
It presents the first wait-free algorithm for a general-purpose stack, with a unique pop method and size management mechanism.
Findings
All operations are wait-free and linearizable.
The stack size is kept within a factor of W of the actual size.
The algorithm supports concurrent access efficiently.
Abstract
In this paper, we describe a novel algorithm to create a con- current wait-free stack. To the best of our knowledge, this is the first wait-free algorithm for a general purpose stack. In the past, researchers have proposed restricted wait-free implementations of stacks, lock-free implementations, and efficient universal constructions that can support wait-free stacks. The crux of our wait-free implementation is a fast pop operation that does not modify the stack top; instead, it walks down the stack till it finds a node that is unmarked. It marks it but does not delete it. Subsequently, it is lazily deleted by a cleanup operation. This operation keeps the size of the stack in check by not allowing the size of the stack to increase beyond a factor of W as compared to the actual size. All our operations are wait-free and linearizable.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Logic, programming, and type systems
