Three key ideas:
- Happened-Before Relation (→): Defines causal relationships between events. Some events are causally ordered, while others are concurrent.
- Logical Clocks: Assign numerical timestamps to events to preserve causal ordering without relying on physical time.
- Total Ordering: Combines logical timestamps with process IDs to create a consistent sequence of events across distributed systems.
Key equation:
\[
a \rightarrow b \implies C(a)<C(b)
\]
If event A causally precedes event B, A must have a smaller logical timestamp. The reverse is not necessarily true.
Why it matters: These concepts underpin distributed databases, synchronization, and event coordination.
Main takeaway: In distributed systems, causal relationships matter more than physical timestamps. Computers can coordinate by tracking the order of events rather than agreeing on the exact time.