Using Knowledge to Optimally Achieve Coordination in Distributed Systems
Abstract
The problem of coordinating the actions of individual processors is
fundamental in distributed computing. Researchers have long endeavored
to find efficient solutions to a variety of problems involving
coordination. 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 takes an alternative
approach, considering problems in which coordinated actions need not be
performed simultaneously. This approach permits better understanding
of the relationship between knowledge and the different requirements of
coordination problems. This paper defines 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 common knowledge, which combines eventual
and continual knowledge, and shows how extended common knowledge can be
used to both characterize and construct optimal protocols for coordination.