<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 08/07/15 17:29, Jan Ceuleers wrote:<br>
<blockquote cite="mid:559D4FFC.9090207@gmail.com" type="cite">
<pre wrap="">On 08/07/15 18:11, Jan Ceuleers wrote:
</pre>
<blockquote type="cite">
<pre wrap="">On 08/07/15 17:55, Dave Taht wrote:
</pre>
<blockquote type="cite">
<pre wrap="">That is a very interesting graph! Does ntp adjust system time backward
based on getting nearly all it's samples with well over a 1/2 second
of induced delay?
</pre>
</blockquote>
<pre wrap="">If there is a consistent asymmetrical delay then yes.
</pre>
</blockquote>
<pre wrap="">Let me qualify that "yes".
Normally ntpd will ensure that the system time as observed by the kernel
and applications always increases monotonically. The exception is where
the system time differs too much from what ntpd considers to be the
correct time and where ntpd is given permission to step the time (e.g.
using the -g command-line switch). In this case ntpd can step backwards.</pre>
</blockquote>
<br>
<googles>. Ouch, I see Dave's point, I had hoped it was
unfounded.<br>
<br>
You don't mean -g, that applies to startup (the "panic threshold"
offset of 1000 seconds). Note startup also waits 900 seconds before
allowing a step, explicitly in case of transient bufferbloat.<br>
<br>
You mean "ntpd is given permission to step the time, by *not*
passing -x".<br>
<dl compact="compact">
<dd>Normally, the time is slewed if the offset is less than the
step threshold, which is 128 ms by default, and stepped if above
the threshold.</dd>
</dl>
(ow ow ow)<br>
<dl compact="compact">
<dd>[The -x] option
sets the threshold to 600 s, which is well within the accuracy
window to set the clock manually. Note: Since the slew rate of
typical Unix kernels is limited
to 0.5 ms/s, each second of adjustment requires an amortization
interval of 2000 s. Thus, an adjustment as much as 600 s will
take almost 14 days to complete.</dd>
</dl>
<p><br>
I also looked at phk's blog for the ntimed project again.
Apparently everyone filters ntp samples, which suggests massive
delays would need to affect more than one sample/poll interval.
But I don't know how many more than one, or what patterns it would
filter in general. (Would it miss bufferbloat less than some X
but greater than the 128ms threshold?). Apparently the filters
are the hard part - makes sense but sounds like hard work to
analyze.</p>
<p><a class="moz-txt-link-freetext" href="http://phk.freebsd.dk/time/20141024.html">http://phk.freebsd.dk/time/20141024.html</a><br>
<br>
</p>
<blockquote cite="mid:559D4FFC.9090207@gmail.com" type="cite">
<pre wrap="">What I meant in my previous message is that ntpd's idea of true time is
arrived at based on the assumption that the network delay is the same in
both directions to its servers. So if there is a systematically
different delay in one direction relative to the other then this
assumption falls down and ntpd's assessment of true time will be skewed.
The huff-n-puff filter helps in cases where the asymmetry in the delay
is not systematic, e.g. where the upstream channel does not suffer from
bufferbloat.
</pre>
</blockquote>
<br>
I see that's a tinker option which is not enabled by default,
requires manual tuning, is documented as experimental and being
designed for dialup :-P. IOW in a way it's less about bloat
awareness and more the general problem with NTP (like other
projects) being under-resourced global infrastructure...<br>
<br>
PHK's post definitely suggests he's aware of asymmetry in delay
events and exploiting it in the Ntimed filters. OTOH the graphs
there don't seem to represent much bufferbloat. Maybe he could
benefit from seeing Hal's awesome graph (and for context, the
equally awesome graphs at
<a class="moz-txt-link-freetext" href="http://www.dslreports.com/speedtest/results/bufferbloat">http://www.dslreports.com/speedtest/results/bufferbloat</a>).<br>
<br>
Alan<br>
</body>
</html>