Re: [chrony-dev] [GIT] chrony/chrony.git branch, master, updated. 1.25-pre1-18-g20a4340

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


Ok I think I have figured out what is happening. The way in which the weights
are used in the program is as if a set of w_i measurements were made at the
point x_i, with each of them yielding the value y_i. But the estimate of the
standard deviation goes as 1/sqrt(N) where N is the total number of
measurements. Ie, as the w_i grow, the variance decreases as 1/W=1/sum W_i

As you say this is unstable. I think at present the best thing would be to
revert to the old 1+(distance_i-Min_dist)/Min_dist. Alternativey you could
use something like

M= (Min_dist+sd)
This essentially makes M the larger of the Min_dist and the standard
deviation and then divide by that instead of by Min_dist. This means that if
the stadard deviation is smaller than the min distance, then one uses the
min distance, but is the standard deviation is larger, then you use that.

Alternatively you could divide the weights by the mean weight to normalise
the weights. This should prevent the runaway, but it still leaves open why you
would divide by sd rather than by the min_dist

Ie, I am not at all clear on what the theory is that you are applying in
deciding that you want to use the standard deviation rather than the min-dist.


On Wed, 13 Apr 2011, Miroslav Lichvar wrote:

On Wed, Apr 13, 2011 at 11:16:48AM -0700, Bill Unruh wrote:
Adding a constant to the
distance (assuming this did not change the min_distance) still changes the
weights in yours (and a lot if sd gets small) .

I meant adding a constant to all distances.

If you wanted you
could put in sd+min_distance as the divisor. But this seems the
wrong thing to do anyway,
because really the importance of small differences in the distance should
always remain small.

Why? A significant part of the distance is static delay corresponding
to the length of the path which the signal has travel through. I just
wanted to remove that from the weight calculation.

Also, if a server is further away, it IS less reliable. There could be a
constant offset-- outgoing times being a set amount more than incoming. Ie, if
a server has a round trip of 1 sec, and another has a roundtrip of 1ms, even
with the same jitter I would trust the second more.

The selection algorithm takes care of that.

If there is a constant offset, no change in weight calculation will
help. But if the paths are symmetric, we'll track both sources equally
well, no matter how far it is.



--
William G. Unruh   |  Canadian Institute for|     Tel: +1(604)822-3273
Physics&Astronomy  |     Advanced Research  |     Fax: +1(604)822-5324
UBC, Vancouver,BC  |   Program in Cosmology |     unruh@xxxxxxxxxxxxxx
Canada V6T 1Z1     |      and Gravity       |  www.theory.physics.ubc.ca/

---
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/