[ntp:questions] Keeping NTP Honest

Miroslav Lichvar mlichvar at redhat.com
Wed Jul 15 15:02:40 UTC 2009


On Wed, Jul 15, 2009 at 01:47:17AM +0000, Unruh wrote:
> "David J Taylor" <david-taylor at blueyonder.not-this-part.nor-this.co.uk.invalid> writes:
> 
> >John Hasler wrote:
> >[]
> >> The Chrony source is available under the GPL.  I'm sure someone would
> >> be willing to port it for you for suitable compensation.
> 
> >If I were paying my money, I would rather it went towards improving the 
> >official NTP, to be honest.
> 
> That is fine, but there are decisions which were and are made re ntp
> which no amount of money will change-- decisions which severely limit
> the accuracy of ntp. For example, Lichvar in running tests with chrony
> and a gps refclock vs ntp found chrony to be about 20 times more
> accurate than ntp with a poll level of 4. I am dubious but I would
> certainly believe 3 times more accurate ( that was what I got in my
> tests). 

The signal noise in the tests was very low, so it was mainly about
handling temperature variations. And that's exactly where PLL doesn't
perform very well.

Assuming the frequency wanders in a constant rate, PLL as used in NTP
will eventually reach offset 290 us/ppm/hour (for poll 4). FLL is
about 15 times better, but it depends on how many samples the clock
filter drops. Decresing poll by one makes the offset four times
smaller.

> There is not terribly much that can at present be done to improve ntp so
> it would be hard to find ways of spending the money. 

For some users running systems where temperature varies a lot, it
might help if NTP allowed to adjust the PLL time constant. I've
proposed a simple patch that adds a new "tinker shifttc" command here:

http://bugs.ntp.org/1202

The only other option (beside using a shorter poll interval) seems to
be disabling kernel loop and forcing daemon loop to use FLL by
decreasing Allan intercept.

-- 
Miroslav Lichvar



More information about the questions mailing list