Book

Time, Clocks, and the Ordering of Events in a Distributed System

by Leslie Lamport

250 words

This paper introduces the concept of a "happened-before" relation, denoted by `->`, as a fundamental ordering mechanism for events in a distributed system, crucial when physical clocks are unreliable or absent. The central argument is that a logical ordering of events can be established even without a global time reference, enabling consistent system behavior. This logical ordering is derived from the causal relationships between events, such as message passing and direct execution.

The paper establishes a formal definition of this temporal ordering, distinguishing it from physical time. It presents a concrete algorithm for assigning logical timestamps to events, ensuring that if event `a` happened before event `b`, then the timestamp of `a` will be less than the timestamp of `b`. This method of ordering events is essential for understanding and constructing distributed systems where synchronization is a challenge.

Key concepts

  • Happned-before relation (`->`)A relation defining the causal ordering of events in a distributed system, indicating that one event directly or indirectly preceded another.
  • Logical clocksA mechanism for assigning timestamps to events in a distributed system to enforce causal ordering, independent of physical clock times.
  • Vector clocksAn extension of logical clocks that captures more precise causal relationships between events in a distributed system.
  • Causal orderingThe principle that events in a distributed system should be ordered according to their cause-and-effect dependencies.

Popular questions readers ask

AI insights about Time, Clocks, and the Ordering of Events in a Distributed SystemAccumulated AI commentary on this book, drawn from real reader chat sessions and updated as more readers engage.