Strong Linearizability using Primitives with Consensus Number 2
Hagit Attiya, Armando Casta\~neda, Constantin Enea

TL;DR
This paper explores the possibility of implementing strongly-linearizable concurrent objects with primitives that have low consensus numbers, showing positive results for some objects and limitations for others.
Contribution
It demonstrates that many objects with consensus number 1 can be implemented strongly-linearly, and some with consensus number 2 can be implemented from primitives with the same consensus number, but not all.
Findings
Objects with consensus number 1 have wait-free strongly-linearizable implementations from fetch&add.
Objects with consensus number 2 can have implementations from other objects with consensus number 2.
Some objects with consensus number 2, like queues and stacks, cannot have lock-free strongly-linearizable implementations even with primitives like fetch&add, swap, and test&set.
Abstract
A powerful tool for designing complex concurrent programs is through composition with object implementations from lower-level primitives. Strongly-linearizable implementations allow to preserve hyper-properties, e.g., probabilistic guarantees of randomized programs. However, the only known wait-free strongly-linearizable implementations for many objects rely on compare&swap, a universal primitive that allows any number of processes to solve consensus. This is despite the fact that these objects have wait-free linearizable implementations from read / write primitives, which do not support consensus. This paper investigates a middle-ground, asking whether there are wait-free strongly-linearizable implementations from realistic primitives such as test&set or fetch&add, whose consensus number is 2. We show that many objects with consensus number 1 have wait-free strongly-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
TopicsAdvanced Algebra and Logic · Logic, Reasoning, and Knowledge · Computability, Logic, AI Algorithms
