LL/SC and Atomic Copy: Constant Time, Space Efficient Implementations using only pointer-width CAS
Guy E. Blelloch, Yuanhao Wei

TL;DR
This paper introduces a constant-time, space-efficient implementation of multiple LL/SC objects using only pointer-sized CAS, by developing a new primitive called Single-Writer Copy, improving concurrency control.
Contribution
It presents the first constant-time, space-efficient LL/SC implementation using only pointer-sized CAS and introduces the Single-Writer Copy primitive for concurrent algorithms.
Findings
Achieves constant time for M LL/SC objects with Θ(M+kP^2) space.
Supports L-word LL/SC objects in Θ(L) time and Θ((M+kP^2)L) space.
Introduces the Single-Writer Copy primitive for atomic copying with write restrictions.
Abstract
When designing concurrent algorithms, Load-Link/Store-Conditional (LL/SC) is often the ideal primitive to have because unlike Compare and Swap (CAS), LL/SC is immune to the ABA problem. However, the full semantics of LL/SC are not supported by any modern machine, so there has been a significant amount of work on simulations of LL/SC using Compare and Swap (CAS), a synchronization primitive that enjoys widespread hardware support. All of the algorithms so far that are constant time either use unbounded sequence numbers (and thus base objects of unbounded size), or require space for LL/SC object (where is the number of processes). We present a constant time implementation of LL/SC objects using space, where is the maximum number of overlapping LL/SC operations per process (usually a constant), and requiring only pointer-sized CAS objects. Our…
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.
