Physical Clocks, NTP, and variations

The notion of time and how to measure time is very nuanced across a single machine, a set of machines in a network, to a set of processors in a distributed system. Even as each machine in any of these settings is equipped with its own local clock, these clocks can experience varying degrees of drift resulting in divergence across the value of time across machines. So, it becomes challenging to arrive at a common value of time across machines in a network. This challenge is surmounted by means of protocols such as the Network Time Protocol (NTP) or by resorting to using only logical clocks as Lamport suggests in his seminal paper. The aim of this experiment is to understand the principles of time synchronization using NTP in distributed systems through an interactive experiment.