Computable obstructions to wait-free computability

  • Authors:
  • John Havlicek

  • Affiliations:
  • Department of Computer Sciences, The University of Texas at Austin, Austin, TX

  • Venue:
  • Distributed Computing
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

We present an algorithmic test for deterministic wait-free solvability of decision tasks in asynchronous distributed systems whose processes communicate via read-write shared memory. Input to the test is a formal representation of the decision task as a triple (I, O, Δ), where I and O are simplicial complexes specifying the inputs and outputs of the task and Δ is the input-output relation of the task. The form of I, O, and Δ fixes the system size (i.e., number of processes). The result of the test is either (1) that there is no wait-free solution to the decision task for the given system size or (2) inconclusive Incompleteness of the test is unavoidable since wait-free solvability of decision tasks is undecidable for a system of size at least three. The test is shown to detect the impossibility of wait-free consensus for all systems, and experimental results show that the test detects the impossibility of wait-free set consensus for systems of size at most five. A more complete description of the efficacy of the test remains open. The key new ingredient underlying the test is a simplicial complex T, the task complex, associated to Δ. There is a simplicial projection map α from T to I, and α induces a homomorphism α*, from H*(T) to H*(I), where H* denotes simplicial homology. Failure of α*, to surject on H*(I) implies that no wait-free protocol can solve the task. Put another way, the elements of H*(I) that are not in the image of α* are obstructions to solvability of the task. These obstructions are computable when using suitable homology coefficients. By passing to quotients of T and I by well-behaved group actions, the test can be adapted to check the impossibility of solution of a decision task by any wait-free protocol that is symmetric or anonymous relative to the group.