The power of logical clock abstractions

Abstract.Vector and matrix clocks are extensively used in asynchronous distributed systems. This paper asks, “how does the clock abstraction generalize?” To address this problem, the paper motivates and proposes logical clocks of arbitrary dimensions. It then identifies and explores the conceptual link between such clocks and knowledge. It establishes the necessary and sufficient conditions on the size and dimension of clocks required to attain any specified level of knowledge about the timestamp of the most recent system state for which this is possible without using any messages in the clock protocol. The paper then gives algorithms to determine the timestamp of the latest system state about which a specified level of knowledge is attainable in a given system state, and to compute the timestamp of the earliest system state in which a specified level of knowledge about a given system state is attainable. The results are applicable to applications that deal with a certain class of properties, identified as monotonic properties.

[1]  Mustaque Ahamad,et al.  Plausible clocks: constant size logical clocks for distributed systems , 1996, Distributed Computing.

[2]  Ajay D. Kshemkalyani Concurrent Knowledge and Logical Clock Abstractions , 2000, FSTTCS.

[3]  Nancy A. Lynch,et al.  Discarding Obsolete Information in a Replicated Database System , 1987, IEEE Transactions on Software Engineering.

[4]  Divyakant Agrawal,et al.  Disconnection Modes for Mobile Databases , 2002, Wirel. Networks.

[5]  MatternFriedemann,et al.  Detecting causal relationships in distributed computations , 1994 .

[6]  Bernadette Charron-Bost,et al.  Concerning the Size of Logical Clocks in Distributed Systems , 1991, Inf. Process. Lett..

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

[8]  Arthur J. Bernstein,et al.  Bounded ignorance: a technique for increasing concurrency in a replicated system , 1994, TODS.

[9]  K. Mani Chandy,et al.  How processes learn , 1985, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

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

[11]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[12]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[13]  Frédéric Ruget,et al.  Cheaper Matrix Clocks , 1994, WDAG.

[14]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[15]  Ronald Fagin,et al.  Reasoning about knowledge , 1995 .

[16]  Kim Taylor,et al.  The Inhibition Spectrum and the Achievement of Causal Consistency , 1990, PODC.

[17]  Friedemann Mattern,et al.  Detecting causal relationships in distributed computations: In search of the holy grail , 1994, Distributed Computing.

[18]  Ronald Fagin,et al.  Modelling knowledge and action in distributed systems , 2005, Distributed Computing.

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

[20]  Sriram Sankar,et al.  Exploiting locality in maintaining potential causality , 1991, PODC '91.

[21]  Ajay D. Kshemkalyani,et al.  An Efficient Implementation of Vector Clocks , 1992, Inf. Process. Lett..

[22]  Prakash Panangaden,et al.  Concurrent common knowledge: defining agreement for asynchronous systems , 2005, Distributed Computing.

[23]  Ronald Fagin,et al.  A formal model of knowledge, action, and communication in distributed systems: preliminary report , 1985, PODC '85.

[24]  Kenneth P. Bogart,et al.  Introductory Combinatorics , 1977 .