Last Updated:

synchronizing clocks

Ted Graham

One of my current projects distributes financial quotes world-wide as quickly as possible.  For the last month, I've been doing performance testing to measure the time needed from when we get the quote from the exchange to when we can deliver it to the client machine.  This time is sub-10 milliseconds, excluding the physical latency introduced by real-world distance.

Since the standard Windows clock has 16-millisecond resolution, even measuring these times is a little complex.  Traditionally, the RDTSC instruction was used for high-resolution timing.  As we move to a many-core world RDTSC failes.  Microsoft recommends using the Windows APIs QueryPerformanceCounter and QueryPerformanceFrequency instead.

To make these measurements easier, we need all the machines' clocks synchronized as closely as possible.  Tardis 2000