Simulating synchronized clocks and common knowledge in distributed systems

Time and knowledge are studied in synchronous and asynchronous distributed systems. A large class of problems that can be solved using logical clocks as if they were perfectly synchronized clocks is formally characterized. For the same class of problems, a broadcast primitive that can be used as if it achieves common knowledge is also proposed. Thus, logical clocks and the broadcast primitive simplify the task of designing and verifying distributed algorithms: The designer can assume that processors have access to perfectly synchronized clocks and the ability to achieve common knowledge.

[1]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[2]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[3]  Guy Lapalme,et al.  ENCHERE: A Distributed Auction Bidding System , 1982, ICDCS.

[4]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[5]  Nancy A. Lynch,et al.  A new fault-tolerant algorithm for clock synchronization , 1984, PODC '84.

[6]  Joseph Y. Halpern,et al.  Knowledge and common knowledge in a distributed environment , 1984, JACM.

[7]  K. Mani Chandy,et al.  How processes learn , 1985, PODC '85.

[8]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[9]  Ramaswamy Ramanujam,et al.  Distributed Processes and the Logic of Knowledge , 1985, Logic of Programs.

[10]  Ronald Fagin,et al.  An Internal Semantics for Modal Logic: Preliminary Report , 1985, STOC 1985.

[11]  Vassos Hadzilacos,et al.  Issues of fault tolerance in concurrent computations (databases, reliability, transactions, agreement protocols, distributed computing) , 1985 .

[12]  Carroll Morgan,et al.  Global and Logical Time in Distributed Algorithms , 1985, Inf. Process. Lett..

[13]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[14]  P. M. Melliar-Smith,et al.  Synchronizing clocks in the presence of faults , 1985, JACM.

[15]  Krzysztof Apt,et al.  Real time clocks versus virtual clocks , 1986 .

[16]  Ronald Fagin,et al.  An internal semantics for modal logic , 1985, STOC '85.

[17]  Sam Toueg,et al.  Optimal clock synchronization , 1985, PODC '85.

[18]  Neil Immerman,et al.  Foundations of Knowledge for Distributed Systems , 1986, TARK.

[19]  Sam Toueg,et al.  Distributed agreement in the presence of processor and communication faults , 1986, IEEE Transactions on Software Engineering.

[20]  Van Nguyen,et al.  Do We Really Know What Knowledge Is? , 1986, XP7.52 Workshop on Database Theory.

[21]  Yoram Moses,et al.  Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures , 1986, TARK.

[22]  T. K. Srikanth,et al.  Optimal clock synchronization , 1987, JACM.

[23]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[24]  Jennifer L. Welch,et al.  Simulating Synchronous Processors , 1987, Inf. Comput..

[25]  G. Neiger Knowledge Consistency: A Useful Suspension of Disbelief , 1988, TARK.

[26]  Joseph Y. Halpern,et al.  Modelling knowledge and action in distributed systems , 1988, Distributed Computing.

[27]  Nancy A. Lynch,et al.  A New Fault-Tolerance Algorithm for Clock Synchronization , 1988, Inf. Comput..

[28]  Gil Neiger,et al.  Common Knowledge and Consistent Simultaneous Coordination , 1990, WDAG.

[29]  Joseph Y. Halpern,et al.  A characterization of eventual Byzantine agreement , 1990, PODC '90.

[30]  Ronald Fagin,et al.  A model-theoretic analysis of knowledge , 1991, JACM.

[31]  Rida A. Bazzi,et al.  Using Knowledge to Optimally Achieve Coordination in Distributed Systems , 1992, Theor. Comput. Sci..