READING MANY VARIABLES IN ONE ATOMIC OPERATION - SOLUTIONS WITH LINEAR OR SUBLINEAR COMPLEXITY

Citation
Lm. Kirousis et al., READING MANY VARIABLES IN ONE ATOMIC OPERATION - SOLUTIONS WITH LINEAR OR SUBLINEAR COMPLEXITY, IEEE transactions on parallel and distributed systems, 5(7), 1994, pp. 688-696
Citations number
11
Categorie Soggetti
System Science","Engineering, Eletrical & Electronic","Computer Science Theory & Methods
ISSN journal
10459219
Volume
5
Issue
7
Year of publication
1994
Pages
688 - 696
Database
ISI
SICI code
1045-9219(1994)5:7<688:RMVIOA>2.0.ZU;2-C
Abstract
We address the problem of reading several variables (components) X1,.. ., X(c), all in one atomic operation, by only one process, called the reader, while each of these variables are being written by a set of wr iters. All operations (i.e., both reads and writes) are assumed to be totally asynchronous and wait-free. For this problem, only algorithms that require at best quadratic time and space complexity can be derive d from the existing literature. (The time complexity of a construction is the number of suboperations of a high-level operation and its spac e complexity is the number of atomic shared variables it needs.) In th is paper, we provide a deterministic protocol that has linear (in the number of processes) space complexity, linear time complexity for a re ad operation, and constant time complexity for a write. Our solution d oes not make use of time-stamps. Rather, it is the memory location whe re a write writes that differentiates it from the other writes. Also, introducing randomness in the location where the reader gets the value that it returns, we get a conceptually very simple probabilistic algo rithm. This algorithm has an overwhelmingly small, controllable probab ility of error. Its space complexity, and also the time complexity of a read operation, are sublinear. The time complexity of a write is con stant. On the other hand, under the Archimedean time assumption, we ge t a protocol whose time and space complexity do not depend on the numb er of writers, but are linear in the number of components only. (The t ime complexity of a write operation is still constant.)