Simple and efficient bounded concurrent timestamping and the traceable use abstraction
Journal of the ACM (JACM)
On beyond registers: wait-free readable objects
Proceedings of the twentieth annual ACM symposium on Principles of distributed computing
Wait-free consensus with infinite arrivals
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Simple Wait-Free Multireader Registers
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
A Simple, Memory-Efficient Bounded Concurrent Timestamping Algorithm
ISAAC '02 Proceedings of the 13th International Symposium on Algorithms and Computation
Randomized protocols for asynchronous consensus
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Compositional competitiveness for distributed algorithms
Journal of Algorithms
Compositional competitiveness for distributed algorithms
Journal of Algorithms
Randomized consensus in expected O(n2) total work using single-writer registers
DISC'11 Proceedings of the 25th international conference on Distributed computing
The space complexity of unbounded timestamps
DISC'07 Proceedings of the 21st international conference on Distributed Computing
Hi-index | 0.00 |
A snapshot scan algorithm produces an "instantaneous" picture of a region of shared memory that may be updated by concurrent processes. Many complex shared memory algorithms can be greatly simplified by structuring them around the snapshot scan abstraction. Unfortunately, the substantial decrease in conceptual complexity quite often is counterbalanced by an increase in computational complexity. In this paper, we introduce the notion of a weak snapshot scan, a slightly weaker primitive that has a more efficient implementation. We propose the following methodology for using this abstraction: first, design and verify an algorithm using the more powerful snapshot scan; second, replace the more powerful but less efficient snapshot with the weaker but more efficient snapshot, and show that the weaker abstraction nevertheless suffices to ensure the correctness of the enclosing algorithm. We give two examples of algorithms whose performance is enhanced while retaining a simple modular structure: bounded concurrent timestamping and bounded randomized consensus. The resulting timestamping protocol dominates all other currently known timestamping protocols: it matches the speed of the fastest known bounded concurrent timestamping protocol while actually reducing the register size by a logarithmic factor. The resulting randomized consensus protocol matches the computational complexity of the best known protocol that uses only bounded values.