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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
J.H. Anderson: Composite registers, Proceedings of the 9th ACM Symposium on Principles of Distributed Computing, 1990, pp. 15–30.
J.H. Anderson and M.G. Gouda: A Criterion for Atomicity, Formal Aspects of Computing: The International Journal of Formal Methods, 4(3), 1992.
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.
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.
M. Herlihy: Randomized wait-free concurrent objects, Proceedings of the 10th A CM Symposium on Principles of Distributed Computing, 1991, pp. 11–21.
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.
A. Israeli and M. Li: Bounded time-stamps, Proceedings of the 28th Symposium on Foundations of Computer Science, 1987, pp. 371–382.
A. Israeli and A. Shaham: Optimal multi-writer, multi-reader atomic register Proceedings of the 11th ACM Symposium on Principles of Distributed Computing, 1992.
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.
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.
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.
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.
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.
L. Lamport: On interprocess communication, part i: basic formalism, part ii: basic algorithms, Distributed Computing 1, 1986, pp. 77–101.
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.
C. Papadimitriou: The Theory of Database Concurrency Control, Computer Science Press, 1986.
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.
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.
K. Vidyasankar: Concurrent reading while writing revisited, Distributed Computing 4, 1990, pp. 81–85.
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.
Author information
Authors and Affiliations
Editor information
Rights 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