Issue No. 07 - July (1994 vol. 5)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.296315
<p>We address the problem of reading several variables (components) X/sub 1/,...,X/sub c/,all in one atomic operation, by only one process, called the reader, while each of thesevariables 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. For this problem, only algorithmsthat require at best quadratic time and space complexity can be derived from the existingliterature. (The time complexity of a construction is the number of suboperations of ahigh-level operation and its space complexity is the number of atomic shared variables itneeds) In this paper, we provide a deterministic protocol that has linear (in the number ofprocesses) space complexity, linear time complexity for a read operation, and constanttime complexity for a write. Our solution does not make use of time-stamps. Rather, it isthe memory location where a write writes that differentiates it from the other writes.Also, introducing randomness in the location where the reader gets the value that itreturns, we get a conceptually very simple probabilistic algorithm. This algorithm has anoverwhelmingly small, controllable probability of error. Its space complexity, and also the time complexity of a read operation, are sublinear. The time complexity of a write is constant. On the other hand, under the Archimedean time assumption, we get a protocol whose time and space complexity do not depend on the number of writers, but are linearin the number of components only. (The time complexity of a write operation is stillconstant).</p>
Index Termscomputational complexity; distributed algorithms; protocols; atomic operation; sublinear complexity; linear complexity; space complexity; time complexity; deterministic protocol; memory location; probabilistic algorithm; Archimedean time assumption
P. Spirakis, L. Kirousis and P. Tsigas, "Reading Many Variables in One Atomic Operation: Solutions with Linear or Sublinear Complexity," in IEEE Transactions on Parallel & Distributed Systems, vol. 5, no. , pp. 688-696, 1994.