I see a common misconception here.   Most of the concepts about NTP
can be explained using a common wristwatch.

One is that more frequent checking to a standard keeps the time closer
to the standard.   That would be true only if you set your watch to
match the standard each time.  NTP does not do that.  It plays with
the "fast and slow" lever and adjusts the rate.  To set a rate the
longer you wait between checks the better.  It takes time to see it
you are running fast or slow.   Frequent jumping the clock to match a
standard while ignoring the rate adjustment produces a sawtooth shape
error function.  Making small adjustments to the rate is better and is
what NTP does.

NTP can't really know it's own absolute error from "true" UTC time.
It if did it would be simple enough to make it zero.  All it can do is
report statistics about how in the recent past it differed  along with
an "error bar" on that.    To really know how NTP is doing you need a
second local clock that is about at least an order of magnitude
better.  Practically speaking for most of us that means a timing grade
GPS receiver.   But how do you know you have that set up right and you
have accounted for the cable and internal delays.   You get a second
GPS, hopefully a different type.  The good news is that these GPSes
are dirt cheap.  Under $20 if you hunt around.

But it is absolutely true that unless you have access to "true UTC"
and also have a way to double/tripple check then you can never know if
your NTP server is accurate.  You will need a way to measure phase
differences in the PPS signals too.    None of this stuff is very
expensive and there seem to be endless supply from China.  But it
takes time to build up your ability to measure.  So if you want an NTP
server that works at the uS level, first assemble a timing lab that
can measure nS.   New modern timing grade receivers cost under $100
and are good for single digit nanoseconds.


Finally, you are ready to start.  Setting up an NTP server that does
better then 1uS requires a very stable internal clock in side the PC.
 Most PCs are unsuitable and their internal clock frequency will track
the building's air conditioning/heating cycles.   If these cycles are
faster than NTP's control loop there is not much the software can do.
People have resorted to hardware mods like temperature control and
upgrading the crystal clock on the computer main board.  I found an
Atom powered main board that does not need a heat sync, very stable.

The bottom line is that getting NTP to sub uS is entering the realm of
"rocket science".  You can do it but not by tweaking software
parameters and reading NTPs own status print outs.   That method is
fine for mS but not for uS

BTW there're some guys in a lab at work (not me) who are measuring
"femtoseconds".  I'm impressed.

-- 

Chris Albertson
Redondo Beach, California
_______________________________________________
questions mailing list
questions@lists.ntp.org
http://lists.ntp.org/listinfo/questions

Reply via email to