Reading many variables in one atomic operation solutions with linear or sublinear complexity
We address the problem of reading more than one variables (components) X1,..., Xc, all in one atomic operation, by a process called the reader, while each of these variables 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. The previous algorithms for this problem require at best quadratic time and space complexity (the time complexity of a construction is the number of sub-operations of a high-level operation and its space complexity is the number of atomic shared variables it needs). We provide a (deterministic) solution which has linear (in the number of processes) space complexity, linear time complexity for a read operation and constant time complexity for a write. Our solution does not make use of time-stamps. Rather, it is the memory location where a write writes that differentiates it from the other writes. Now, introducing randomness in the location where a reader gets the value it returns, we get a conceptually very simple probabilistic algorithm. This is the first probabilistic algorithm for the problem. Its space complexity as well as the time complexity of a read operation are both sublinear. The time complexity of a write is still constant. On the other hand, under the Archimedean assumption, we get a protocol whose both time and space complexity do not depend on the number of writers but are linear in the number of components only (the time complexity of a write operation is still constant).
Unable to display preview. Download preview PDF.
- Y. Afek, H. Attiya, D. Dolev, E. Gafni, M. Merritt and N. Shavit (1990): Atomic snapshots of shared memory, Proceedings of the 9th ACM Symposium on Principles of Distributed Computing, Quebec City, Quebec, Canada.Google Scholar
- J.H. Anderson (1990): Composite registers, Proceedings of the 9th ACM Symposium on Principles of Distributed Computing, Quebec City, Quebec, Canada.Google Scholar
- J. Aspnes and M.P. Herlihy (1990): Wait-free data structures in the asynchronous PRAM model, Proceedings of the 7th ACM Symposium on Parallel Algorithms and ArchitectÚres, Greece, 1990.Google Scholar
- L.M. Kirousis, P. Spirakis, Ph. Tsigas (1991): Simple atomic snapshots: a linear complexity solution with unbounded time-stamps, Proceedings of the International Conference on Computing and Information, Ottawa, Canada, 1991.Google Scholar
- L. Lamport (1986): On interprocess communication, part i: basic formalism, part ii: basic algorithms, Distributed Computing 1, 77–101.Google Scholar
- J.H. Reif and P. Spirakis (1984): “Real-time synchronization of interprocess communication”, ACM Transactions on Programming Languages and Systems 6, 215–238.Google Scholar
- P. Vitányi (1984): Distributed elections in an Archimedean ring of processors, Proc. 16th Ann. ACM Symp. on Theory of Computing, 542–547.Google Scholar