Resilient distributed objects: Basic results and application to shared tuple spaces - Segall, E.J. (Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing, 1995)
Given a shared, atomic read-modify-write register r with deterministic operations, Herlihy (1991) has defined an interference condition on the operations of r and shown that this condition must be satisfied for r to support wait-free consensus. We extend this interference condition to general linearizable shared objects with nondeterministic operations. The extension is applicable to the entire set of objects shared by a parallel programming system, so long as there exists a linearizable implementation of the system. We illustrate this by applying it to Tuple Space, the shared data structure implemented by the Linda coordination language, and show that the standard set of Tuple Space operations cannot support wait-free consensus. This result holds even if the underlying architecture does support consensus, and establishes that previous efforts to construct resilient implementations of Tuple Space are incapable of solving consensus in the face of application-level process failures. Finally, we extend Linda with a new Tuple Space operation that supports consensus, and discuss efficient wait-free and non-wait-free implementations of the new operation and the architectural features required to support them.