Logical clock

Uses your system voice; voice and rate in settings.

Snapshot

≈ 2 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

A logical clock is a mechanism for capturing chronological and causal relationships in a distributed system. Often, distributed systems may have no physically synchronous global clock. In many applications (such as distributed GNU make), if two processes never interact, the lack of synchronization is unobservable and in these applications it is enough for the processes to agree on the event ordering (i.e., logical clock) rather than the wall-clock time. The idea of logical clocks is due to Leslie Lamport, who introduced it in 1978 with his system of timestamps.

A logical clock is a mechanism for capturing chronological and causal relationships in a distributed system. Often, distributed systems may have no physically synchronous global clock. In many applications (such as distributed GNU make), if two processes never interact, the lack of synchronization is unobservable and in these applications it is enough for the processes to agree on the event ordering (i.e., logical clock) rather than the wall-clock time. The idea of logical clocks is due to Leslie Lamport, who introduced it in 1978 with his system of timestamps. ==Local vs global time== In logical clock systems each process has two data structures: logical local time and logical global time. Logical local time is used by the process to mark its own events, and logical global time is the local information about global time. A special protocol is used to update logical local time after each local event, and logical global time when processes exchange data. ==Applications== Logical clocks are useful in computation analysis, distributed algorithm design, individual event tracking, and exploring computational progress. ==Algorithms== Some noteworthy logical clock algorithms are: Lamport timestamps, which are monotonically increasing software counters. Vector clocks, that allow for partial ordering of events in a distributed system. Version vectors, order replicas, according to updates, in an optimistic replicated system. Matrix clocks, an extension of vector clocks that also contains information about other processes' views of the system. ==References== ==External links== Distributed System Logical Time // Roberto Baldoni, Silvia Bonomi. MIDLAB, Sapienza University of Rome Chapter 3: Logical Time // Ajay Kshemkalyani and Mukesh Singhal, Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press, 2008 Distributed Systems 06. Logical Clocks // Paul Krzyzanowski, Rutgers University, Fall 2014

Text derived from https://en.wikipedia.org/w/index.php?oldid=1359048597 under CC BY-SA 4.0; modifications have been made.

Sources cited in this revision

Extracted from the cited revision's reference blocks; absent citations are not invented.