2002 · 15 citations · 11 references
ComputingComputer ScienceComputer SystemsDistributed SystemsFault ToleranceParallel ComputingConcurrency ControlConcurrent ProgrammingConsensus ProtocolsData SynchronizationDistributed ComputingDistributed ConsensusDistributed Data StructuresInterferenceLinda Tuple SpacesParallel ProgrammingParallel SystemRead-modify-write OperationsShared-memory Data StructuresWait-free Algorithms
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.
11
Maurice Herlihy · ACM Transactions on Programming Languages and Systems · 1991 · 1.8K citations · Full text
Hierarchical correctness proofs for distributed algorithms
Nancy Lynch, Mark R. Tuttle · 1987 · 767 citations · Full text
How to write parallel programs: a first course
Choice Reviews Online · 1991 · 288 citations