<div dir="ltr">I've been lurking on the bufferbloat mailing list for a while now, without volunteering in the same fashion as the core contributors.  But I do have some thoughts as someone who is not quite at the level of writing kernel drivers; maybe this is helpful when updating the definition.<div><br></div><div>I think we need to define what it is (in terms of user-perceivable experience) before we get to the causes and why it's a problem.</div><div>In essence, link it to what average people know already, and draw them in to the next level of detail.</div><div><br></div><div>To that end, I would propose the following for discussion:</div><div>Bufferbloat is the difference in latency for a connection when it is lightly loaded vs when it is fully loaded.  (Here, i am trying to provide terms that are somewhat clear and simple to an average user, that will connect them to things they do already i.e. fully use their internet connection for an upload or download.)</div><div><br></div><div>Then, I think it is useful to move into some examples of how it can be perceived (audio call stutter, video call stutter) especially in the presence of multiple competing users with different priorities (gaming vs. uploading documents or presentations).</div><div><br></div><div>And then we can dig into the causes (e.g. over-provisioned buffers, poor inter-flow management, etc), means of explicitly measuring it, approaches for mitigating or fixing it, etc.</div><div><br></div><div>I hope this is useful,</div><div>  Kelvin</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 5, 2021 at 11:24 AM David Lang <<a href="mailto:david@lang.hm">david@lang.hm</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On Mon, 5 Apr 2021, Stephen Hemminger wrote:<br>
<br>
> On Mon, 5 Apr 2021 08:46:15 -0400<br>
> Rich Brown <<a href="mailto:richb.hanover@gmail.com" target="_blank">richb.hanover@gmail.com</a>> wrote:<br>
><br>
>> Dave Täht has put me up to revising the current Bufferbloat article on Wikipedia (<a href="https://en.wikipedia.org/wiki/Bufferbloat" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Bufferbloat</a>)<br>
>> <br>
>> Before I get into it, I want to ask real experts for some guidance... Here goes:<br>
>> <br>
>> 1) What is *our* definition of Bufferbloat? (We invented the term, so I think we get to define it.) <br>
>> <br>
>> a) Are we content with the definition from the <a href="http://bufferbloat.net" rel="noreferrer" target="_blank">bufferbloat.net</a> site, "Bufferbloat is the undesirable latency that comes from a router or other network equipment buffering too much data." (This suggests bufferbloat is latency, and could be measured in seconds/msec.)<br>
>> <br>
>> b) Or should we use something like Jim Gettys' definition from the Dark Buffers article (<a href="https://ieeexplore.ieee.org/document/5755608" rel="noreferrer" target="_blank">https://ieeexplore.ieee.org/document/5755608</a>), "Bufferbloat is the existence of excessively large (bloated) buffers in systems, particularly network communication systems." (This suggests bufferbloat is an unfortunate state of nature, measured in units of "unhappiness" :-) <br>
>> <br>
>> c) Or some other definition?<br>
>> <br>
>> 2) All network equipment can be bloated. I have seen (but not really followed) controversy regarding the amount of buffering needed in the Data Center. Is it worth having the Wikipedia article distinguish between Data Center equipment and CPE/home/last mile equipment? Similarly, is the "bloat condition" and its mitigation qualitatively different between those applications? Finally, do any of us know how frequently data centers/backbone ISPs experience buffer-induced latencies? What's the magnitude of the impact?<br>
>> <br>
>> 3) The Wikipedia article mentions guidance that network gear should accommodate buffering 250 msec of traffic(!) Is this a real "rule of thumb" or just an often-repeated but unscientific suggestion? Can someone give pointers to best practices?<br>
>> <br>
>> 4) Meta question: Can anyone offer any advice on making a wholesale change to a Wikipedia article? Before I offer a fork-lift replacement I would a) solicit advice on the new text from this list, and b) try to make contact with some of the reviewers and editors who've been maintaining the page to establish some bona fides and rapport...<br>
>> <br>
>> Many thanks!<br>
>> <br>
>> Rich<br>
><br>
> I like to think of Bufferbloat as a combination of large buffers and how algorithms react to those buffers.<br>
<br>
I think there are two things<br>
<br>
1. what bufferbloat is<br>
<br>
    bufferbloat is the result of memory getting cheaper faster than bandwidth <br>
increased, combined with throughput benchmarking that drastically penalized <br>
end-to-end retries.<br>
<br>
I think this definition is pretty academic and not something to worry about <br>
using.<br>
<br>
2. why it's a problem<br>
<br>
the problems show up when the buffer represents too much time worth of data to <br>
transmit (the time between when the last byte in the buffer gets inserted into <br>
the buffer and when it gets transmitted)<br>
<br>
So in a high bandwidth environment (like a datacenter) you can use much larger <br>
buffers than when you are on a low bandwidth line<br>
<br>
David Lang_______________________________________________<br>
Bloat mailing list<br>
<a href="mailto:Bloat@lists.bufferbloat.net" target="_blank">Bloat@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/bloat" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/bloat</a><br>
</blockquote></div>