## Fault-tolerant semifast implementations of atomic read/write registers

##### Date

2009##### Source

Journal of Parallel and Distributed Computing##### Volume

69##### Issue

1##### Pages

62-79Google Scholar check

##### Keyword(s):

##### Metadata

Show full item record##### Abstract

This paper investigates time-efficient implementations of atomic read-write registers in message-passing systems where the number of readers can be unbounded. In particular we study the case of a single writer, multiple readers, and S servers, such that the writer, any subset of the readers, and up to t servers may crash. A recent result of Dutta et al. [P. Dutta, R. Guerraoui, R.R. Levy, A. Chakraborty, How fast can a distributed atomic read be? In: Proceedings of the 23rd ACM Symposium on Principles of Distributed Computing, 2004, pp. 236-245] shows how to obtain fast implementations in which both reads and writes complete in one communication round-trip, under the constraint that the number of readers is less than frac(S, t) - 2, where t < frac(S, 2). In that same paper the authors pose a question of whether it is possible to relax the bound on readers, and at what cost, if semifast implementations are considered, i.e., implementations that have fast reads or fast writes. This paper provides an answer to this question. It is shown that one can obtain implementations where all writes are fast, i.e., involving a single communication round-trip, and where reads complete in one to two communication round-trips under the assumption that no more than t < frac(S, 2) servers crash. Simulated scenarios included in this paper indicate that only a small fraction of reads require a second communication round-trip. Interestingly the correctness of the implementation does not depend on the number of concurrent readers in the system. The solution is obtained with the help of non-unique virtual ids assigned to each reader, where the readers sharing a virtual id form a virtual node. For the proposed definition of semifast implementations it is shown that implementations satisfying certain assumptions are semifast if and only if the number of virtual ids in the system is less than frac(S, t) - 2. This result is proved to be tight in terms of the required communication. It is shown that only a single complete two communication round-trip read operation may be necessary for each write operation. It is furthermore shown that no semifast implementation exists for the multi-reader, multi-writer model. © 2008 Elsevier Inc. All rights reserved.