Durable Algorithms for Writable LL/SC and CAS with Dynamic Joining
Prasad Jayanti, Siddhartha Jayanti, Sucharita Jayanti

TL;DR
This paper introduces durable, writable implementations of CAS and LLSC primitives that support dynamic joining, have constant time operations, and adapt space complexity based on active processes, advancing the state-of-the-art in durability and efficiency.
Contribution
It presents the first durable CAS algorithms supporting dynamic joining and the first durable LLSC objects, with adaptive space complexities.
Findings
DuraCAS supports $O(m + n)$ space for $m$ objects and $n$ processes.
DuraLL requires $O(m + n + C)$ space, where $C$ is total contexts.
EC Writable-LLSC is ABA-free with $O(m + n)$ space.
Abstract
We present durable implementations for two well known universal primitives -- CAS (compare-and-swap), and its ABA-free counter-part LLSC (load-linked, store-conditional). All our implementations are: writable, meaning they support a Write() operation; have constant time complexity per operation; allow for dynamic joining, meaning newly created processes (a.k.a. threads) of arbitrary names can join a protocol and access our implementations; and have adaptive space complexities, meaning the space use scales in the number of processes that actually use the objects, as opposed to previous protocols which are designed for a maximum number of processes . Our durable Writable-CAS implementation, DuraCAS, requires space to support objects that get accessed by processes, improving on the state-of-the-art . By definition, LLSC objects must store "contexts" in…
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.
