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. 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. In essence, link it to what average people know already, and draw them in to the next level of detail. To that end, I would propose the following for discussion: 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.) 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). 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. I hope this is useful, Kelvin On Mon, Apr 5, 2021 at 11:24 AM David Lang wrote: > On Mon, 5 Apr 2021, Stephen Hemminger wrote: > > > On Mon, 5 Apr 2021 08:46:15 -0400 > > Rich Brown wrote: > > > >> Dave Täht has put me up to revising the current Bufferbloat article on > Wikipedia (https://en.wikipedia.org/wiki/Bufferbloat) > >> > >> Before I get into it, I want to ask real experts for some guidance... > Here goes: > >> > >> 1) What is *our* definition of Bufferbloat? (We invented the term, so I > think we get to define it.) > >> > >> a) Are we content with the definition from the bufferbloat.net 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.) > >> > >> b) Or should we use something like Jim Gettys' definition from the Dark > Buffers article (https://ieeexplore.ieee.org/document/5755608), > "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" :-) > >> > >> c) Or some other definition? > >> > >> 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? > >> > >> 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? > >> > >> 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... > >> > >> Many thanks! > >> > >> Rich > > > > I like to think of Bufferbloat as a combination of large buffers and how > algorithms react to those buffers. > > I think there are two things > > 1. what bufferbloat is > > bufferbloat is the result of memory getting cheaper faster than > bandwidth > increased, combined with throughput benchmarking that drastically > penalized > end-to-end retries. > > I think this definition is pretty academic and not something to worry > about > using. > > 2. why it's a problem > > the problems show up when the buffer represents too much time worth of > data to > transmit (the time between when the last byte in the buffer gets inserted > into > the buffer and when it gets transmitted) > > So in a high bandwidth environment (like a datacenter) you can use much > larger > buffers than when you are on a low bandwidth line > > David Lang_______________________________________________ > Bloat mailing list > Bloat@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/bloat >