[ntp:questions] dispersion has high peak when reference clock first appears

Brian Utterback brian.utterback at oracle.com
Tue Apr 9 14:33:51 UTC 2013

On 04/08/13 08:03, Nickolay Orekhov wrote:
> Hello!
> I've got external util that estimates quality of synchronization. One of
> the clues that it uses is current sys peer dispersion.
> When clock goes down for a long period of time it's dispersion filter gets
> filled with MAXDISPERSE ( 16.0 )
> And than there's a peak dispersion when clock goes up again and get's
> selected.
> In general I don't think that's logical. Because I have very good
> synchronization with low self dispersion and than there will be a peak just
> because some clock appeared from nowhere.
> I'm thinking about some additional code. For example, one can delay clock
> selection until all filter will be filled with good dispersion, which is
> not equal to MAXDISPERSE. It will smooth the moment of clock appearance.

That's pretty much how it works now. The dispersion is calculated using 
all 8 pieces of polling data in the billboard. If a clock has been off 
the air too long, all of the data regarding the clock times out or is 
cleared and the billboard doesn't have any polled data for the clock and 
the dispersion is calculated as the max for all eight pieces of data. As 
each new piece of polling data is entered the dispersion is 
re-calculated and because the data is weighted by age each piece of data 
has the effect of approximately reducing the dispersion by half. But 
ntpd will not select a clock with dispersion over one second. This is 
the main reason that iburst was created, to allow the billboard to be 
filled quickly with valid data, reducing the dispersion below one second 
and allowing the clock to be selected. Before iburst you had to wait for 
5 polling periods.


Always code as if the guy who ends up maintaining your code will be a
violent psychopath who knows where you live. - Martin Golding
Brian Utterback - Solaris RPE, Oracle Corporation.
Ph:603-262-3916, Em:brian.utterback at oracle.com

More information about the questions mailing list