On processor coordination using asynchronous hardware
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Converting Lamport's regular register to atomic register
Information Processing Letters
On achieving consensus using a shared memory
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Atomic snapshots of shared memory
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
Randomized protocols for asynchronous consensus
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Distributed Computing
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
Atomic shared register access by asynchronous hardware
SFCS '86 Proceedings of the 27th Annual Symposium on Foundations of Computer Science
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Sub-logarithmic test-and-set against aweak adversary
DISC'11 Proceedings of the 25th international conference on Distributed computing
A tight RMR lower bound for randomized mutual exclusion
STOC '12 Proceedings of the forty-fourth annual ACM symposium on Theory of computing
Faster randomized consensus with an oblivious adversary
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
Strongly linearizable implementations: possibilities and impossibilities
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
RMR-efficient randomized abortable mutual exclusion
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Randomized loose renaming in o(log log n) time
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Hi-index | 0.00 |
Linearizability is the gold standard among algorithm designers for deducing the correctness of a distributed algorithm using implemented shared objects from the correctness of the corresponding algorithm using atomic versions of the same objects. We show that linearizability does not suffice for this purpose when processes can exploit randomization, and we discuss the existence of alternative correctness conditions. This paper makes the following contributions: 1. Various examples demonstrate that using well-known linearizable implementations of objects (e.g., snapshots) in place of atomic objects can change the probability distribution of the outcomes that the adversary is able to generate. In some cases, an oblivious adversary can create a probability distribution of outcomes for an algorithm with implemented, linearizable objects, that not even a strong adversary can generate for the same algorithm with atomic objects. 2. A new correctness condition for shared object implementations, called strong inearizability, is defined. We prove that a strong adversary (i.e., one that sees the outcome of each coin flip immediately) gains no additional power when atomic objects are replaced by strongly linearizable implementations. In general, no strictly weaker correctness condition suffices to ensure this. We also show that strong linearizability is a local and composable property. 3. In contrast to the situation for the strong adversary, for a natural weaker adversary (one that cannot see a process' coin flip until its next operation on a shared object) we prove that there is no correspondingly general correctness condition. Specifically, any linearizable implementation of counters called terminating. from atomic registers and load-linked/store-conditional objects, that satisfies a natural locality property, necessarily gives the weak adversary more power than it has with atomic counters.