Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fast randomized consensus using shared memory
Journal of Algorithms
Atomic snapshots of shared memory
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Obstruction-Free Synchronization: Double-Ended Queues as an Example
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Errata to "Atomic shared register access by asynchronous hardware," FOGS '86
SFCS '87 Proceedings of the 28th Annual Symposium on Foundations of Computer Science
Randomized consensus in expected O(n log n) individual work
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
The complexity of obstruction-free implementations
Journal of the ACM (JACM)
Max registers, counters, and monotone circuits
Proceedings of the 28th ACM symposium on Principles of distributed computing
Approximate shared-memory counting despite a strong adversary
ACM Transactions on Algorithms (TALG)
Linearizable implementations do not suffice for randomized distributed computation
Proceedings of the forty-third annual ACM symposium on Theory of computing
Sub-logarithmic test-and-set against aweak adversary
DISC'11 Proceedings of the 25th international conference on Distributed computing
Hi-index | 0.00 |
Herlihy and Wing [11] established that the set of possible outcomes of a shared memory distributed algorithm remains unchanged when atomic objects are replaced by their linearizable implementations. Since then, linearizability has been the correctness condition of choice for distributed algorithm designers. In 2011, however, Golab, Higham and Woelfel [9] showed that, if an algorithm employs randomization, then the probability distribution over the set of possible outcomes can differ between the atomic and implemented versions. They also proved that a stronger condition, called strong linearizability, is necessary and sufficient to guarantee the same probability distributions for these two cases when the randomized algorithm is under the control of an adaptive adversary. Therefore, we are motivated to construct strongly linearizable implementations of common distributed objects whenever possible. In this paper we prove • for several objects including multi-writer registers, max-registers, snapshots, and counters there is no strongly linearizable, non-blocking implementation from multi-reader/single-writer atomic registers, even though each of these objects has a linearizable implementation meeting the stronger wait-free progress requirement. • There is a universal strongly linearizable obstruction-free implementation of any object from multi-reader/single-writer atomic registers. • There is a strongly linearizable wait-free implementation of bounded max-registers from multi-reader/multi-writer atomic registers.