Skip to main content

Efficient algorithms for checking the atomicity of a run of read and write operations

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

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

Included in the following conference series:

Abstract

Let X 1,..., X c be variables shared by a number of processors p 1, ..., P q which operate in a totally asynchronous and wait-free manner. An operation by a processor is either a write to one of the variables or a read of the values of all variables. Operations are not assumed to be instantaneous and may arbitrarily overlap in time. A succession of possibly overlapping operations a 1,..., a n (i.e., a run) is said to be atomic, if these operations can be serialized in a way compatible with any existing precedences among them and so that any read operation returns for each variable the value of the most recent —with respect to the serialization— write operation on this variable. This paper examines the complexity of the combinatorial problem of testing a run for atomicity. First it is pointed out that when there is only one shared variable or when only one processor is allowed to write to each variable, known theorems lead to polynomial-time algorithms for checking the atomicity of a run (the variable of the time-complexity function is the number of operations in the run). It is then proved that checking atomicity has polynomial-time complexity in the general case of more than one variables and with all procesors allowed to read and write. For the proof, the atomicity problem is reduced to the problem of consecutive 1s in matrices. The reduction entails showing a combinatorial result which might be interesting on its own.

The research of the first author was partially supported by the ESPRIT Basic Research Program of the European Communities under contracts 7141 (project ALCOM II) and 6019 (project Insight II).

The research of the second author was carried out while he was a student at the University of Patras and also during subsequent visits of his to Patras.

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

  1. Y. Afek, H. Attiya, D. Dolev, E. Gafni, M. Merritt and N. Shavit: Atomic snapshots of shared memory, Proceedings of the 9th ACM Symposium on Principles of Distributed Computing, 1990, pp. 1–14.

    Google Scholar 

  2. J.H. Anderson: Composite registers, Proceedings of the 9th ACM Symposium on Principles of Distributed Computing, 1990, pp. 15–30.

    Google Scholar 

  3. J.H. Anderson and M.G. Gouda: A Criterion for Atomicity, Formal Aspects of Computing: The International Journal of Formal Methods, 4(3), 1992.

    Google Scholar 

  4. B. Awerbuch, L. Kirousis, E. Kranakis and P. Vitányi: A prof technique for register atomicity (preliminary version), Foundations of Software Technology and Theoretical Computer Science, Proceedings 8th Conference (LNCS, Springer-Verlag), 1988, pp. 286–303.

    Google Scholar 

  5. K.S. Booth and G.S. Lueker: Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms, Journal of Computer and System Sciences 13, 1976, pp. 335–379.

    Google Scholar 

  6. M. Herlihy: Randomized wait-free concurrent objects, Proceedings of the 10th A CM Symposium on Principles of Distributed Computing, 1991, pp. 11–21.

    Google Scholar 

  7. M.P. Herlihy and M. Wing: Linearizability: a correctness condition for concurrent objects, ACM Transactions on Programming Languages and Systems 12, 1990, pp. 463–492.

    Google Scholar 

  8. A. Israeli and M. Li: Bounded time-stamps, Proceedings of the 28th Symposium on Foundations of Computer Science, 1987, pp. 371–382.

    Google Scholar 

  9. A. Israeli and A. Shaham: Optimal multi-writer, multi-reader atomic register Proceedings of the 11th ACM Symposium on Principles of Distributed Computing, 1992.

    Google Scholar 

  10. L.M. Kirousis, E. Kranakis and P.M.B Vitányi: Atomic multireader register Distributed Algorithms, Proceedings 2nd International Workshop (LNCS, Springer-Verlag), 1987, pp. 278–296.

    Google Scholar 

  11. L.M. Kirousis, P. Spirakis and Ph. Tsigas: Simple atomic snapshots: a solution with unbounded time-stamps, Advances in Computing and Information, Proceedings of International Conference on Computing and Information (LNCS, Springer-Verlag), 1991, pp. 582–587.

    Google Scholar 

  12. L.M. Kirousis, P. Spirakis and Ph. Tsigas: Reading many variables in one atomic operation: solutions with linear complexity, Distributed Algorithms, Proceedings 5th International Workshop, WDAG '91 (LNCS, Springer-Verlag), 1992, pp. 229–241.

    Google Scholar 

  13. L.M. Kirousis, Ph. Tsigas and A.G. Veneris: An atomicity criterion for composite registers, Proceedings of the 1991 IMACS/IFAC International Symposium on Parallel and Distributed Computing in Engineering Systems (North-Holland), 1992, pp. 31–34.

    Google Scholar 

  14. L.M. Kirousis and A.G. Veneris: Efficient Algorithms for checking the atomicity of a run of read and write operations, Technical Report 93.01.2, Computer Technology Institute, Patras, Greece, 1993.

    Google Scholar 

  15. L. Lamport: On interprocess communication, part i: basic formalism, part ii: basic algorithms, Distributed Computing 1, 1986, pp. 77–101.

    Google Scholar 

  16. M. Li, J. Tromp and P.M.B. Vitányi: How to share concurrent wait-free variables, ITLI Prepublication Series for Computation and Complexity Theory CT-91-02, University of Amsterdam, Amsterdam, The Netherlands, 1991.

    Google Scholar 

  17. C. Papadimitriou: The Theory of Database Concurrency Control, Computer Science Press, 1986.

    Google Scholar 

  18. G.L. Peterson and J.E. Burns: Concurrent reading while writing II: the multi-writer case, Proceedings of the 28th Symposium on Foundations of Computer Science, 1987, pp. 383–392.

    Google Scholar 

  19. A.K. Singh, J.H. Anderson and M.G. Gouda: The elusive atomic register revisited, Proceedings 6th ACM Symposium on Principles of Distributed Computing, 1987, pp.206–221.

    Google Scholar 

  20. K. Vidyasankar: Concurrent reading while writing revisited, Distributed Computing 4, 1990, pp. 81–85.

    Google Scholar 

  21. P. Vitányi and B. Awerbuch: Atomic shared register access by asynchronous hardware, Proc. 27th IEEE Symp. on Foundations of Computer Science, 1986, pp. 233–243.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

André Schiper

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kirousis, L.M., Veneris, A.G. (1993). Efficient algorithms for checking the atomicity of a run of read and write operations. In: Schiper, A. (eds) Distributed Algorithms. WDAG 1993. Lecture Notes in Computer Science, vol 725. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57271-6_27

Download citation

  • DOI: https://doi.org/10.1007/3-540-57271-6_27

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57271-8

  • Online ISBN: 978-3-540-48029-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics