[Bloat] Graph of bloat
Alan Jenkins
alan.christopher.jenkins at gmail.com
Wed Jul 8 15:09:13 EDT 2015
On 08/07/15 17:29, Jan Ceuleers wrote:
> On 08/07/15 18:11, Jan Ceuleers wrote:
>> On 08/07/15 17:55, Dave Taht wrote:
>>> 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?
>> If there is a consistent asymmetrical delay then yes.
> 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.
<googles>. Ouch, I see Dave's point, I had hoped it was unfounded.
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.
You mean "ntpd is given permission to step the time, by *not* passing -x".
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.
(ow ow ow)
[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.
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.
http://phk.freebsd.dk/time/20141024.html
> 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.
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...
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
http://www.dslreports.com/speedtest/results/bufferbloat).
Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/bloat/attachments/20150708/1d102913/attachment-0003.html>
More information about the Bloat
mailing list