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)
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
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Wait-free data structures in the asynchronous PRAM model
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
Randomized wait-free concurrent objects (extended abstract)
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
Real-Time Synchronization of Interprocess Communications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simple Atomic Snapshots: A Linear Complexity Solution with Unbounded Time-Stamps
ICCI '91 Proceedings of the International Conference on Computing and Information: Advances in Computing and Information
Distributed elections in an archimedean ring of processors
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
Single-scanner multi-writer snapshot implementations are fast!
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
Time-optimal, space-efficient single-scanner snapshots & multi-scanner snapshots using CAS
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
The complexity of updating multi-writer snapshot objects
ICDCN'06 Proceedings of the 8th international conference on Distributed Computing and Networking
Faster than optimal snapshots (for a while): preliminary version
PODC '12 Proceedings of the 2012 ACM symposium on Principles of distributed computing
Hi-index | 0.02 |
We address the problem of reading several variables (components) X/sub 1/,...,X/sub c/,all in one atomic operation, by only one process, called the reader, while each of thesevariables are being written by a set of writers. All operations (i.e., both reads and writes)are assumed to be totally asynchronous and wait-free. For this problem, only algorithmsthat require at best quadratic time and space complexity can be derived from the existingliterature. (The time complexity of a construction is the number of suboperations of ahigh-level operation and its space complexity is the number of atomic shared variables itneeds) In this paper, we provide a deterministic protocol that has linear (in the number ofprocesses) space complexity, linear time complexity for a read operation, and constanttime complexity for a write. Our solution does not make use of time-stamps. Rather, it isthe memory location where a write writes that differentiates it from the other writes.Also, introducing randomness in the location where the reader gets the value that itreturns, we get a conceptually very simple probabilistic algorithm. This algorithm has anoverwhelmingly small, controllable probability of error. Its space complexity, and also the time complexity of a read operation, are sublinear. The time complexity of a write is constant. On the other hand, under the Archimedean time assumption, we get a protocol whose time and space complexity do not depend on the number of writers, but are linearin the number of components only. (The time complexity of a write operation is stillconstant).