Skip to content
HSE · Lecture 02

Time and event ordering

Which dependencies can three nodes’ logs establish?

Distributed Systems · HSE · 02

Slide contents

  1. 1. Time and event ordering

    Which dependencies can three nodes’ logs establish?

  2. 2. A log can place receipt before sending

    A and B may have different clock offsets.

  3. 3. Event dates and durations need different clocks

    Monotonic clocks measure a duration within one process.

  4. 4. Synchronization bounds error under its assumptions

    Network behavior and drift affect time estimates.

  5. 5. Events belong to processes and messages

    A, B, and C have known local order.

  6. 6. Three rules construct happened-before

    Local order, messaging, and transitivity.

  7. 7. Concurrency means neither direction has a path

    It does not require equal physical times.

  8. 8. Increment the counter at every event

    On receipt, L := max(L, Lmsg) + 1.

  9. 9. Receiving m advances B to three

    A: a1=1, a2=2; B starts with b1=1.

  10. 10. A reply through C carries the bound back to A

    C starts at c1=1; A has L=3 after a3.

  11. 11. A smaller timestamp does not prove dependency

    L(c1)=1 < L(b3)=4, yet no path exists: the events are concurrent.

  12. 12. A total order adds a tie-breaking rule

    Compare the pair (L, processId).

  13. 13. A vector records known events of each process

    Three components correspond to A, B, and C.

  14. 14. Receipt merges knowledge and records a new step

    V := max(V,Vmsg); then V[self] += 1.

  15. 15. B merges its history with two events from A

    Before receipt: B=[0,1,0], m=[2,0,0].

  16. 16. The return message merges all three histories

    After a3, A has [3,0,0].

  17. 17. Vector order requires every component

    u < v: every component ≤ and at least one <.

  18. 18. Incomparable versions need an application decision

    A vector detects branches but cannot choose the right value.

  19. 19. Physical time can be returned as an interval

    TrueTime promises the actual instant lies inside.

  20. 20. Overlapping intervals leave order unknown

    Nonoverlap gives physical order, not a message path.

  21. 21. Waiting can turn a time bound into a guarantee

    With s=104 and earliest=103, it is too early to reply.

  22. 22. A log must preserve links, not only clock values

    Operation and message identifiers reconstruct a trace.

    Process + event ID

    Operation + attempt ID

    Send/receive linkage

    Clock and its semantics

  23. 23. A missing link limits an investigation’s conclusion

    Do not invent a dependency without send/receive evidence.

  24. 24. Compute clocks and find incomparable events

    A new trace has nine events and three messages.

  25. 25. Choose the clock for the system question

    Do not demand every guarantee from one timestamp.

  26. 26. Decisions for our service

    Compute Lamport timestamps and full vectors.

    Distinguish causal, total, and physical order.

    Identify conclusions a log cannot support.