PROGRAMMING SIMULTANEOUS ACTION USING COMMON KNOWLEDGE

  • Authors:
  • Y. Moses;M. R. Tuttles

  • Affiliations:
  • -;-

  • Venue:
  • PROGRAMMING SIMULTANEOUS ACTION USING COMMON KNOWLEDGE
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

This work applies the theory of knowledge in distributed systems to the design of efficient fault-tolerant protocols. We define a large class of problems requiring coordinated, simultaneous action in synchronous systems, and give a method of transforming specifications of such problems into protocols that are optimal in all runs: for every possible input to the system and faulty processor behavior, these protocols are guaranteed to perform the simultaneous actions as soon as any other protocol could possibly perform them. This transformation is performed in two steps. In the first step, we extract directly from the problem specification a high-level protocol programmed using explicit tests for common knowledge. In the second step, we carefully analyze when facts become common knowledge, thereby providing a method of efficiently implementing these protocols in many variants of the omissions failure model. In the generalized omissions model, however, our analysis shows that testing for common knowledge is NP-hard. Given the close correspondence between common knowledge and simultaneous actions, we are able to show that no optimal protocol for any such problem can be computationally efficient in this model. The analysis in this paper exposes many subtle differences between the failure models, including the precise point at which this gap in complexity occurs.