equivariant

Distributed systems: vector clocks

These are my notes for Lindsey Kupuer's spring 2020 distributed systems course.

  1. Lecture 3/4 - partial orders and Lamport clocks
  2. Lecture 5 - vector clocks
  3. Lecture 6 - delivery guarantees
  4. Lecture 7 - causal broadcast

Vector clocks are similar to Lamport clocks, but make a stronger guarantee: for events AA and BB, ABA \to B if and only if VC(A)<VC(B)\operatorname{VC}(A) < \operatorname{VC}(B). Vector clocks are assigned as follows:

If VC(A)\operatorname{VC}(A) and VC(B)\operatorname{VC}(B) are vector clocks, then we define VC(A)<VC(B)\operatorname{VC}(A) < \operatorname{VC}(B) if and only if VC(A)iVC(B)i\operatorname{VC}(A)_i \le \operatorname{VC}(B)_i for all ii and VC(A)VC(B)\operatorname{VC}(A) \ne \operatorname{VC}(B).

References

  1. UCSC CSE138 spring 2020 lecture 5: vector clocks [video]