[ntp:questions] Best solution for millisecond accuracy

Danny Mayer mayer at ntp.isc.org
Sun Mar 25 15:51:13 UTC 2007

edouard funke wrote:
> Hi,
> I am running several (less than 30) servers on LAN with these restrictions :
> - no Internet
> - Windows XP/2003
> - no GPS possible
> - I need less than a millisecond accuracy.

Submillisecond requires a refclock at a minimum. On a network even with
a refclock it's hard to achieve. If you can't get outside information
such as from GPS then you may have to go for an atomic clock onsite.
That's all very expensive. If you have this as a requirement for
whatever it is that you are doing then you need to have the kind of
money to spend on doing it. Nothing is free. The tighter your
requirements the more you need to spend to achieve them. For Windows you
will need to use ntpd and not w32ts since that cannot discipline the
clock like ntpd.

> 5 of them are on the same switch and two in an other building. Latency
> between buildings is less than 20ms. There _might_ be an internal NTP
> server synchronised to a server on internet but let say i dont have to
> count on it.

You should be setting up multiple ntpd servers in each building so you
are not too dependent on the network between. You assume that the
latency is enough but network congestion between the buildings and just
within the building will cause delays that will show up in the received
packets. ntpd is good at dealing with these kinds of issues but it will
reduce the perceived precision of the results.

> If :
> - i choose one "good" server as my time reference (local clock) and
> synchronised all the other clients to it
> - i put all servers in peer mode
> - i put a pci card that uses a TCXO to replace the hardware clock (any
> known vendors ? i dont care about GPS sync)
> - limit maxpoll (what is the impact ?)
> - change OS (again what is the impact ?)

Do you need everything to be in relative agreement with each other? You
certainly should have more than one server involved in this, in this
case at least 4 so that if one drops out for any reason (reboot,
maintenance, hardware problems, etc.) you still have 3 left for ntpd to
make a decision on which peer is giving the best information. Do NOT
modify maxpoll or minpool, it will cause more problems than you expect
since the algorithms use them do discipline the clock in a way that
provides the best convergence and keeps down overshoot. You really need
to understand how the algorithms work and your environment before you
mess with the polling intervals.

> is the accuracy of a millisecond "achievable" in those conditions ? If
> not, what can i do to achieve it ?

Under those conditions, no. Not with a multi-LAN network. You would need
to set up multiple ntpd servers in each location to get something close
to what you need.


More information about the questions mailing list