Abstract
We address the problem of reading more than one variables (components) X 1,..., X c, 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).
This research was partially supported by the ESPRIT II Basic Research Actions Program of the EC under contract no. 3075 (project ALCOM).
Preview
Unable to display preview. Download preview PDF.
References
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.
J.H. Anderson (1990): Composite registers, Proceedings of the 9th ACM Symposium on Principles of Distributed Computing, Quebec City, Quebec, Canada.
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.
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.
L. Lamport (1986): On interprocess communication, part i: basic formalism, part ii: basic algorithms, Distributed Computing 1, 77–101.
J.H. Reif and P. Spirakis (1984): “Real-time synchronization of interprocess communication”, ACM Transactions on Programming Languages and Systems 6, 215–238.
P. Vitányi (1984): Distributed elections in an Archimedean ring of processors, Proc. 16th Ann. ACM Symp. on Theory of Computing, 542–547.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kirousis, L.M., Spirakis, P., Tsigas, P. (1992). Reading many variables in one atomic operation solutions with linear or sublinear complexity. In: Toueg, S., Spirakis, P.G., Kirousis, L. (eds) Distributed Algorithms. WDAG 1991. Lecture Notes in Computer Science, vol 579. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022450
Download citation
DOI: https://doi.org/10.1007/BFb0022450
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55236-9
Online ISBN: 978-3-540-46789-2
eBook Packages: Springer Book Archive