Re: [chrony-dev] temperature compensation

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


On Tue, Apr 13, 2010 at 09:43:16AM -0700, Bill Unruh wrote:
> I am confused. You have T0 as 26000 degrees-- far higher than the temp in the
> interior of the sun. 

It's 26 degrees, but it's reported by kernel as 26000 (probably to
to keep it always in integer).

> Also, I am confused as to the philosophy. This program
> operates behind the scenes and measures the temp, and alters the freq of the
> computer clock directly it seems. But this is a direct fight with chrony. This
> program assumes that there is some zero rate to the clock (ie k0, although k0
> and T0 are ambiguous with respect to each other). and keeps trying to set that
> rate. But chrony is measuring that zero rate and altering it. Thus the two
> routines would seem to be fighting each other as to what the zero rate is.

I don't think they are in conflict. The temperature corrections are
not visible to upper layers as the local module adjust the frequency
in both directions. When sourcestats sets the frequency to f and local
module corrects it by c, it will get only f when reading frequency
back. Also, the temperature corrections are done independently from
source updates and they may (or should?) happen more frequently. One
of the main points is that reading temperature is cheaper than
querying NTP server.

If everything works well, the frequency plot created from tracking.log
should be closer to a straight line. And plot from tempcomp data is
something close to what would be tracking plot if compensation was
disabled.

The k0 coefficient is there only to keep the corrections below +-10ppm limit,
it's possible it will be never used.

> It would seem to me that if you are going to have a temp compensation it
> really needs to be integrated with the frequency and offset fitting routine.
> Ie, each time an offset packet comes in from some source, the temp needs to be
> measured as well, and then a 2D fit made to the offset and temp as a function
> of time. That can then be used to set the clock. Ie, there is no value for k0
> that can be fed in initially. At best you can have a value for k1 (the
> derivative of rate with temp), and then compensate for changes in the temp.

I don't follow. That would be needed only in an adaptive system which
would work out the coefficients automatically, or not?

-- 
Miroslav Lichvar

---
To unsubscribe email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "unsubscribe" in the subject.
For help email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "help" in the subject.
Trouble?  Email listmaster@xxxxxxxxxxxxxxxxxxxx.


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