Simple atomic snapshots a linear complexity solution with unbounded time-stamps
Let X1, ..., X c be variables shared by a number of processes which operate in a totally asynchronous and wait-free manner. An operation by a process is either a write on one of the variables or a read of the values of all variables. All operations are assumed to be atomic, i.e. an execution of any number of them (including reads) must be serializable in a way compatible with the values returned by the reads. We give a new protocol implementing such operations for the case of a single-reader and one writer per variable. Our construction uses time-stamps that may take values as large as the number of operations performed. The advantagesof our construction over previous (bounded time-stamps) solutions are: (i) It has very simple semantics. (ii) The time complexity of an operation (i.e. the number of its sub-operations) and the space complexity of the construction (i.e. the number of subregisters used) are equal to the number of processes involved.
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
- L.M. Kirousis, P. Spirakis and Ph. Tsigas (1990): Reading Many Variables in One Atomic Operation: Solutions With Linear Complexity Technical Report, November 1990, Computer Technology Institute, Patras Google Scholar