[ntp:questions] frequency adjusting only

David Woolley david at ex.djwhome.demon.co.uk.invalid
Sat Apr 19 09:34:42 UTC 2008

Unruh wrote:
> Harlan Stenn <stenn at ntp.org> writes:
>>>>> In article <dda529d0804160332l3bcb4e43l5623478bcd8f4fa at mail.gmail.com>, m.louvel at gmail.com (maxime louvel) writes:
>> maxime> Hi, I would like to know if NTP (and particularly ntpd) is able to
>> maxime> synchronise a clock, only playing with the frequency.  I want to
>> maxime> avoid any step in the clock that would probably screw up my network
>> maxime> appli.
>> It's *possible* and it can be a really bad idea.
>> For most folks, only steps *backward* are a problem.
> Actually, ntp does synchronize the clock by "playing with the frequency
> only" unless the step size is so large (128ms by default but up to 600sec
> by option) that it will step. 

There are two supported settings for this limit, 128ms and 600,000ms, 
but you can set other values, including infinite, with an option that 
comes with severe health warnings.  If you set a value of more than 
500ms on systems that implement part of the clock discipline in the 
kernel, you will force them not to use that mechanism, and therefore get 
lower quality time.

There are also options, unfortunately also with health warnings, that 
can effectively eliminate the main legitimate cause of this, which is 
high asymmetric traffic loads on medium speed internet connections which 
have not been traffic shaped for NTP.  If you suffer large steps for 
other reasons, you should fix the underlying cause.  Fixing asymmetric 
load can have commercial implications, as only high value ISP accounts 
are likely to support the necessary traffic shaping.

(Another source of steps is lost clock ticks, but that generally only 
gives the, relatively benign, positive steps.)

Systems which suffer large steps and aren't allowed to step have been 
reported to hunt (in the control theory sense) rather badly.

Note, the subject is a little confusing as it could be read as meaning 
that steps are allowed to remain uncorrected.  That would be 
unacceptable for a protocol where every node is both client and server. 
  That would be like if you had to drive 30 miles and insisted that you 
drove at 30 mph, but you were delayed by a traffic jam, and still 
declared the journey complete after exactly one hour.

More information about the questions mailing list