3 ms·
If you want consistency in a distributed system, you have to establish a consistent ordering of events across the system. In absence of synchronized clocks you
by danbruc 9y ago
If you want consistency in a distributed system, you have to establish a consistent ordering of events across the system. In absence of synchronized clocks you bounce back and forth logical timestamps, essentially numbers increasing whenever an event occurs because you only really care whether A happend before or after B, not how much time elapsed in between. This adds latency for the additional communication and usually scales not well with the number of processes you have to synchronize. See for example Lamport or vector clocks.
With accurate enough clocks you can establish a global event order simply by time stamping events with the actual time. If you want to process events at really high frequency, you need a correspondingly accurate synchronization between the clocks. The idea is decades old, I guess it is more of an engineering challenge. With the number of systems Google operates at least a few things will break all the time and you have to be able to tolerate that. But I think I just skimmed the paper when it came out and might therefore be unaware of some important details.