Skip to main navigation Skip to search Skip to main content

Wait-free k-set agreement is impossible: The topology of public knowledge

  • Michael Saks
  • , Fotios Zaharoglou

Research output: Contribution to journalArticlepeer-review

Abstract

In the classical consensus problem, each of n processors receives a private input value and produces a decision value which is one of the original input values, with the requirement that all processors decide the same value. A central result in distributed computing is that, in several standard models including the asynchronous shared-memory model, this problem has no deterministic solution. The k-set agreement problem is a generalization of the classical consensus proposed by Chaudhuri, where the agreement condition is weakened so that the decision values produced may be different, as long as the number of distinct values is at most k. For n>k≥2 it was not known whether this problem is solvable deterministically in the asynchronous shared memory model. In this paper, we resolve this question by showing that for any k<n, there is no deterministic wait-free protocol for n processors that solves the k-set agreement problem. The proof technique is new: it is based on the development of a topological structure on the set of possible processor schedules of a protocol. This topological structure has a natural interpretation in terms of the knowledge of the processors of the state of the system. This structure reveals a close analogy between the impossibility of wait-free k-set agreement and the Brouwer fixed point theorem for the k-dimensional ball.

Original languageEnglish (US)
Pages (from-to)1449-1483
Number of pages35
JournalSIAM Journal on Computing
Volume29
Issue number5
DOIs
StatePublished - Mar 2000

All Science Journal Classification (ASJC) codes

  • General Computer Science
  • General Mathematics

Fingerprint

Dive into the research topics of 'Wait-free k-set agreement is impossible: The topology of public knowledge'. Together they form a unique fingerprint.

Cite this