Re: [chrony-dev] long time to re-sync with bad system clock

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-dev Archives ]



On Tue, 2 Feb 2010, Miroslav Lichvar wrote:

On Sun, Jan 31, 2010 at 11:51:02PM +0100, Håkan Johansson wrote:
To avoid having to do that, I'd like to propose something like:

If a new system (B) is to be elected reference source, taking over
from an old (A), then B must have made its last measurement at least
later than the current (half)span of A.  If it has not, a new
'check' measurement by B is provoked (without it gaining reference
status yet).

I'm planning to add some features to the source selection routine, but
I'm not sure it should be able to initiate a measurement.

In the case you describe, there are other things you can try beside
lowering maxpoll:
- set all NTP sources offline and make them online only when the GPS stops
- increase the virtual delay for the GPS refclock so it's not marked
 as falseticker so easily
- use only stratum 2 or higher as NTP sources, so they are marked as
 unreachable when synchronized to GPS

Ok, but I'm mostly interested in trying to devise a simple automated way. Bottom line would be that the current problem is sources with 'old' data disallowing 'newer' data sources just by being many and thereby winning the selection. As soon as the old data sources actually do a new measurement, they realize their error and drastically reduce their poll intervals. Effectively forcing a lot of new measurements, so doing an extra just earlier - if one can ensure that not to happen except when needed and limited, seems not to violate any network politeness to me.

I've looked at more transitions, and what is also happening rather often is that during a middle-period in the process, all sources are marked falsetickers, as there are two camps - old and new. I even had some network sources with maxpoll 6, but those were not enough to help against the bigger camp of long ones.

My first suggestion was not really nice as it was 'edge-triggered', trying to look for the change if reference source. Sometimes this change went in steps, from GPS to noone - to old-data source. Another idea:

If there are sources which disagree, and these have a smaller jitter (i.e. might be good) and also have a time-span of their active linear fit that is smaller (or let's say half-smaller) than the age of the most recent measurement from others, then provoke a check measurement from the old disagreeing one(s). Only if allowed by the minpoll by the old and not changing its poll. It can then not happen more often than (half) the span of the disagreeing one(s). Perhaps also require the disgreeing one to have held status as reference within the last poll interval of the old-data one.

Motto would be: if a source wants to disagree (with someone that was just recently trusted), it has to show some recent interest in verifying this.

Cheers,
Håkan


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/