Distributed Foundations: Time & Ordering

1 / 6

Why time is hard

  • No global clock
  • Network delays and reordering
  • We need causal ordering
2 / 6

Lamport clocks

  • Local / Send: +1
  • Receive: max(local, msg) + 1
  • If A happened-before B, then L(A) < L(B)
3 / 6

Limitations

  • Different timestamps can still be concurrent
  • Vector clocks fix this
4 / 6

HLC

  • Physical time + logical counter
  • Preserves causality with low skew
5 / 6

Build

  • Lamport timestamps
  • Vector clock comparison
  • Causal delivery check
  • Causal broadcast delivery ordering
  • HLC updates
  • Consistent cut check
6 / 6
Use arrow keys or click edges to navigate. Press H to toggle help, F for fullscreen.