Abstract

We address the problem of reading more than one variables (components) X1,..., Xc, all in one atomic operation, by a process called the reader, while each of these variables 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. The previous algorithms for this problem require at best quadratic time and space complexity (the time complexity of a construction is the number of sub-operations of a high-level operation and its space complexity is the number of atomic shared variables it needs). We provide a (deterministic) solution which has linear (in the number of processes) space complexity, linear time complexity for a read operation and constant time complexity for a write. Our solution does not make use of time-stamps. Rather, it is the memory location where a write writes that differentiates it from the other writes. Now, introducing randomness in the location where a reader gets the value it returns, we get a conceptually very simple probabilistic algorithm. This is the first probabilistic algorithm for the problem. Its space complexity as well as the time complexity of a read operation are both sublinear. The time complexity of a write is still constant. On the other hand, under the Archimedean assumption, we get a protocol whose both time and space complexity do not depend on the number of writers but are linear in the number of components only (the time complexity of a write operation is still constant).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call