[Bloat] Terminology for Laypeople

Aaron Wood woody77 at gmail.com
Sun May 16 17:32:49 EDT 2021


I think the "I Love Lucy" chocolate factory scene is perhaps a good analogy:

https://www.youtube.com/watch?v=WmAwcMNxGqM

The chocolates start to come in too fast, and they can't keep up, but
because they aren't telling the kitchen to slow down, they keep piling up
until it collapses into a mess.

Except with networks, many of the senders keep sending packets until the
receiver says that they've missed one (or three, or whatever it is), and
then the sender slows down again.  But if you're hoarding packets, that
signal to slow down is delayed.  And then that creates bufferbloat.

I also like to think of buffers as time.  The buffer in front of a link is
basically a bucket of time the size of the buffer divided by the speed of
the link.  1MB of buffer, in front of a 10Mbps link, is 800ms: (1,000,000
MB) * (8 bits/byte) / 10,000,000 bits /sec => 0.8 seconds.

And so the sender is going to keep sending faster and faster until they go
over 10Mbps, and start to fill that buffer, and then when they do fill it,
they have to resend the missing packets, AND cut their sending rate.

If the buffer is large enough (and therefore the delay long enough), the
sender "overshoots" by so far that they have to just sit and deal with all
the "hey, I missed packets after X" messages from the receiver, until
everything's caught up, and they they can start going faster again (we call
this congestion collapse, because the sender can't send anything new at
all, and once they've sorted out the state of things with the receiver,
they can start again (slowly)).

Congestion collapse is the candy factory from the above clip:  That mess
that needs to be cleaned up before things can start over again (slowly).




On Sun, May 16, 2021 at 1:44 PM Michael Richardson <mcr at sandelman.ca> wrote:

>
> Jonathan Morton <chromatix99 at gmail.com> wrote:
>     > So instead of just loading ready-made bags of firewood into my
> trailer,
>     > I have to wait for the trimming team to get around to taking the
>     > branches off "my" tree which is waiting behind a dozen others.  The
>     > branches then go into a big stack of branches waiting for the
> chopping
>     > machine.  When they eventually get around to chopping those, the
>     > firewood is carefully put in a separate pile, waiting for the
> weighing
>     > and bagging.
>
> Your analogy is definitely the result of optimizing for batches rather
> than latency.
> (JIT manufacturing in general and much of _The Goal_ talks about the
> business side of
> this, btw)
>
> But, I don't think that it's a great explanation for grandma.
> The fetching milk analogy is a bit better, but still not great.
>
> John at matrix8, how did it work for you?
>
> Explaining this is pretty important.
>
> (Thanks for the slide Jonathan)
>
> --
> ]               Never tell me the odds!                 | ipv6 mesh
> networks [
> ]   Michael Richardson, Sandelman Software Works        |    IoT
> architect   [
> ]     mcr at sandelman.ca  http://www.sandelman.ca/        |   ruby on
> rails    [
>
> _______________________________________________
> Bloat mailing list
> Bloat at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/bloat/attachments/20210516/fe87b066/attachment-0001.html>


More information about the Bloat mailing list