[time-nuts] NIST time services

Chris Albertson albertson.chris at gmail.com
Sun Mar 23 13:24:58 EDT 2014

On Sun, Mar 23, 2014 at 9:26 AM, Jason Rabel
<jason at extremeoverclocking.com> wrote:

> If there was some sort of feature in NTP (maybe there already is???), or even a separate program that could "test" a list of NTP
> servers to try and pick the lowest latency, I think that could have a positive benefit on better time transfer.

Yes.  This is exactly how NTP works.  It constantly tests the servers
and selects the "best" subset of available reference clocks. This will
changes over time and it will change in real time.

There is a rather complex algorithm.  First the set of clocks is
thinned down to what the code calls "true tickers", those are the
clocks the generally agree with the rest of the clocks.   Then from
the clocks who are not "voted off the island" so to speak the time is
computed using a kind of weighting.

The assumption NTP makes is that  you can judge the quality of a
server by the variance (of "jitter") in the time it reports.

So yes, the problem the problem and the solution you thought of was
build into NTP about 30 years ago.  It fact that is the whole point of
it's being, to estimate the variance in round trip point times and use
this to determine how much to weight the results.   NOW, the key
assumption NTP makes might be wrong and this is a large source of
error.  It assumes the one-way jitter is 1/2 the round trip jitter.
If this is wrong it would give incorrect weight to a server.

NTP will eventually settle on the best few servers it finds but
continues to talk to all of them just because which are the "best"
will change over time.

A good example of this is a stratum 1 server that has a GPS connected.
  Almost certainly it will also connect to other NTP servers and get
time from them as well as the GPS.  Very quickly it will determine
that the GPS has the "best" performance and will use that.  But if you
disconnect the GPS antenna it will very quickly find the next best
source(s) of time.

Another example is an "island network".  Say you have five NTP servers
that are interconnected so that they each get time from the other
four.  Normally they also use some Internet servers but when the
Internet goes down NTP will find which of the local island servers has
the most stable clock and those will cary the most weight in the
calculation of "consensus time" which is a weighted time based on all
"true tickers".


Chris Albertson
Redondo Beach, California

More information about the time-nuts mailing list