Reading Many Variables in One Atomic Operation: Solutions with Linear or Sublinear Complexity

  • Authors:
  • L. M. Kirousis;P. Spirakis;P. Tsigas

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 1994

Quantified Score

Hi-index 0.02

Visualization

Abstract

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