CS435 - Distributed Systems
with Dr. Basit Qureshi

Tutorial 6
_____________
Read through this tutorial on Clocks and Synchronization.

_____________

1. Describe some problems that may arise from leap second smearing. [S 15]

2. Why using System.nanoTime() is better compared to System.currentTimeMillis();? [S 16]

3. Assume a client and a server are using NTP to sync their clocks. What is the maximum possible error in the NTP clients estimate of skew with regard to one particular server, assuming that both nodes correctly follow the protocol? [S 33]

4. For the following happens-before relation example:



  • Give the causality of the following events (a, b, c, d, e and f)
  • Give the causality due to transitivity property (i.e. a implicitly causes c because a->b and b->c)
  • What events are concurrent?


  • 5. Given the sequence of messages in the following execution, show the Lamport timestamps at each send or receive event.

    6. For the above, show the vector clocks for each send or receive event.