Skip to main content

Reading many variables in one atomic operation solutions with linear or sublinear complexity

  • Conference paper
  • First Online:
Distributed Algorithms (WDAG 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 579))

Included in the following conference series:

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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.

    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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Sam Toueg Paul G. Spirakis Lefteris Kirousis

Rights and permissions

Reprints 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

Publish with us

Policies and ethics