Computing with faulty shared objects

Yehuda Afek, David S. Greenberg, Michael Merritt, Gadi Taubenfeld · Journal of the ACM · 1995

This paper investigates the effects of the failure of shared objects on distributed systems.First the notion of a faulty shared object is introduced.Then upper and lower bounds on the space complexity of implementing reliable shared objects are provided, Shared object failures are modeled as instantaneous and arbitraty changes to the state of the object.Several constructions of nonfaulty wait-free shared objects from a set of shared objects, some of which may suffer any number of faults, are presented.Three of these constructions are: (1) A reliable atomic read/write register from 20~+ 8 atomic read/write registers ~of which may be faulty, (2) a reliable test& set register for n processes from n + 10 primitive test & set registers, one of which may be faulty, and 3n + 13 reliable atomic registers, and (3) a reliable consensus object from 2f + 1 read-modify-write registers when f of these may be faulty.Using these constructions a universal construction of any linearizable shared object from a set of either A preliminary version of the results presented in this paper appeared in

Read the paper · More papers on PaperTik