Using knowledge to optimally achieve coordination in distributed systems

Gil Neiger, Rida Bazzi

Research output: Contribution to journalArticlepeer-review

5 Scopus citations


A distributed computing system consists of a set of individual processors that communicate through some medium. Coordinating the actions of such processors is essential in distributed computing. Researchers have long endeavored to find efficient solutions to a variety of coordination problems. Recently, processor knowledge has been used to characterize such solutions and to derive more efficient ones. Most of this work has concentrated on the relationship between common knowledge and simultaneous coordination. This paper considers non-simultaneous coordination problems. The results of this paper add to our understanding of the relationship between knowledge and the different requirements of coordination problems. This paper considers the ideas of optimal and optimum solutions to a coordination problem and precisely characterizes the problems for which optimum solutions exist. This characterization is based on combinations of eventual common knowledge and continual common knowledge. The paper then considers more general problems, for which optimal, but no optimum, solutions exist. It defines a new form of knowledge, called extended knowledge, which combines eventual and continual knowledge, and shows how extended knowledge can be used to both characterize and construct optimal protocols for coordination.

Original languageEnglish (US)
Pages (from-to)31-65
Number of pages35
JournalTheoretical Computer Science
Issue number1
StatePublished - Jun 6 1999


  • Common knowledge
  • Distributed coordination
  • Knowledge
  • Optimal algorithms
  • Optimum algorithms

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Using knowledge to optimally achieve coordination in distributed systems'. Together they form a unique fingerprint.

Cite this