[Cake] [Bloat] [Make-wifi-fast] The most wonderful video ever about bufferbloat

Sebastian Moeller moeller0 at gmx.de
Tue Oct 11 13:26:28 EDT 2022


Hi Bob,

Sweet, thanks! Will go and set this up in my home network, but that will take a while. Also any proposal how to convert the output into some graphs by any chance?

Regards
        Sebastian

On 11 October 2022 18:58:05 CEST, Bob McMahon <bob.mcmahon at broadcom.com> wrote:
>> Saturate a link in both directions simultaneously with multiple greedy
>flows while measuring load-dependent latency changes for small isochronous
>probe flows.
>
>This functionality is released in iperf 2.1.8 per the bounceback feature
>but, unfortunately, OpenWRT doesn't maintain iperf 2 as a package anymore
>and uses 2.0.13
>CLIENT SPECIFIC OPTIONS*--bounceback[=**n**]*run a TCP bounceback or rps
>test with optional number writes in a burst per value of n. The default is
>ten writes every period and the default period is one second (Note: set
>size with -l or --len which defaults to 100 bytes)
>*--bounceback-congest[=up|down|bidir][*,*n**]*request a concurrent working
>load or TCP stream(s), defaults to full duplex (or bidir) unless the *up*
> or *down* option is provided. The number of TCP streams defaults to 1 and
>can be changed via the n value, e.g. *--bounceback-congest=down,4* will use
>four TCP streams from server to the client as the working load. The IP ToS
>will be BE (0x0) for working load traffic.*--bounceback-hold **n*request
>the server to insert a delay of n milliseconds between its read and write
>(default is no delay)*--bounceback-period[=**n**]*request the client
>schedule its send(s) every n seconds (default is one second, use zero value
>for immediate or continuous back to back)*--bounceback-no-quickack*request
>the server not set the TCP_QUICKACK socket option (disabling TCP ACK
>delays) during a bounceback test (see NOTES)*--bounceback-txdelay **n*request
>the client to delay n seconds between the start of the working load and the
>bounceback traffic (default is no delay)
>
>On Tue, Oct 11, 2022 at 12:15 AM Sebastian Moeller <moeller0 at gmx.de> wrote:
>
>> Hi Bob,
>>
>> On 11 October 2022 02:05:40 CEST, Bob McMahon <bob.mcmahon at broadcom.com>
>> wrote:
>> >It's too big because it's oversized so it's in the size domain. It's
>> >basically Little's law's value for the number of items in a queue.
>> >
>> >*Number of items in the system = (the rate items enter and leave the
>> >system) x (the average amount of time items spend in the system)*
>> >
>> >
>> >Which gets driven to the standing queue size when the arrival rate
>> >exceeds the service rate - so the driving factor isn't the service and
>> >arrival rates, but *the queue size *when *any service rate is less than an
>> >arrival rate.*
>>
>> [SM] You could also argue it is the ratio of arrival to service rates,
>> with the queue size being a measure correlating with how long the system
>> will tolerate ratios larger than one...
>>
>>
>> >
>> >In other words, one can find and measure bloat regardless of the
>> >enter/leave rates (as long as the leave rate is too slow) and the value of
>> >memory units found will always be the same.
>> >
>> >Things like prioritizations to jump the line are somewhat of hacks at
>> >reducing the service time for a specialized class of packets but nobody
>> >really knows which packets should jump.
>>
>> [SM] Au contraire most everybody 'knows' it is their packets that should
>> jump ahead of the rest ;) For intermediate hop queues however that endpoint
>> perception is not really actionable due to lack of robust and reliable
>> importance identifiers on packets. In side a 'domain' dscps might work if
>> treated to strict admission control, but that typically will not help
>> end2end traffic over the internet. This is BTW why I think FQ is a great
>> concept, as it mostly results in the desirable outcome of not picking
>> winners and losers (like arbitrarily starving a flow), but I digress.
>>
>> >Also, nobody can define what
>> >working conditions are so that's another problem with this class of tests.
>>
>> [SM] While real working conditions will be different for each link and
>> probably vary over time, it seems achievable to come up with a set of
>> pessimistic assumptions how to model a challenging work condition against
>> which to test potential remedies, assuming that such remedies will also
>> work well under less challenging conditions, no?
>>
>>
>> >
>> >Better maybe just to shrink the queue and eliminate all unneeded queueing
>> >delays.
>>
>> [SM] The 'unneeded' does a lot of work in that sentence ;). I like Van's?
>> Description of queues as shock absorbers so queue size will have a lower
>> acceptable limit assuming users want to achieve 'acceptable' throughput
>> even with existing bursty senders. (Not all applications are suited for
>> pacing so some level of burstiness seems unavoidable).
>>
>>
>> > Also, measure the performance per "user conditions" which is going
>> >to be different for almost every environment (and is correlated to time
>> and
>> >space.) So any engineering solution is fundamentally suboptimal.
>>
>> [SM] A matter of definition, if the requirement is to cover many user
>> conditions the optimality measure simply needs to be changed from per
>> individual condition to over many/all conditions, no?
>>
>> >Even
>> >pacing the source doesn't necessarily do the right thing because that's
>> >like waiting in the waitlist while at home vs the restaurant lobby.
>>
>> [SM] +1.
>>
>> > Few
>> >care about where messages wait (unless the pitch is AQM is the only
>> >solution that drives to a self-fulfilling prophecy - that's why the tests
>> >have to come up with artificial conditions that can't be simply defined.)
>>
>> Hrm, so the RRUL test, while not the end all of bufferbloat/working
>> conditions tests, is not that complicated:
>> Saturate a link in both directions simultaneously with multiple greedy
>> flows while measuring load-dependent latency changes for small isochronous
>> probe flows.
>>
>> Yes, the it would be nice to have additional higher rate probe flows also
>> bursty ones to emulate on-linev games, and 'pumped' greedy flows to emulate
>> DASH 'streaming', and a horde of small greedy flows that mostly end inside
>> the initial window and slow start. But at its core existing RRUL already
>> gives a useful estimate on how a link behaves under saturating loads all
>> the while being relatively simple.
>> The responsiveness under working condition seems similar in that it tries
>> to saturate a link with an increasing number of greedy flows, in a sense to
>> create a reasonable bad case that ideally rarely happens.
>>
>> Regards
>>       Sebastian
>>
>>
>> >
>> >Bob
>> >
>> >On Mon, Oct 10, 2022 at 3:57 PM David Lang <david at lang.hm> wrote:
>> >
>> >> On Mon, 10 Oct 2022, Bob McMahon via Bloat wrote:
>> >>
>> >> > I think conflating bufferbloat with latency misses the subtle point in
>> >> that
>> >> > bufferbloat is a measurement in memory units more than a measurement
>> in
>> >> > time units. The first design flaw is a queue that is too big. This
>> >> youtube
>> >> > video analogy doesn't help one understand this important point.
>> >>
>> >> but the queue is only too big because of the time it takes to empty the
>> >> queue,
>> >> which puts us back into the time domain.
>> >>
>> >> David Lang
>> >>
>> >> > Another subtle point is that the video assumes AQM as the only
>> solution
>> >> and
>> >> > ignores others, i.e. pacing at the source(s) and/or faster service
>> >> rates. A
>> >> > restaurant that let's one call ahead to put their name on the waitlist
>> >> > doesn't change the wait time. Just because a transport layer slowed
>> down
>> >> > and hasn't congested a downstream queue doesn't mean the e2e latency
>> >> > performance will meet the gaming needs as an example. The delay is
>> still
>> >> > there it's just not manifesting itself in a shared queue that may or
>> may
>> >> > not negatively impact others using that shared queue.
>> >> >
>> >> > Bob
>> >> >
>> >> >
>> >> >
>> >> > On Mon, Oct 10, 2022 at 2:40 AM Sebastian Moeller via Make-wifi-fast <
>> >> > make-wifi-fast at lists.bufferbloat.net> wrote:
>> >> >
>> >> >> Hi Erik,
>> >> >>
>> >> >>
>> >> >>> On Oct 10, 2022, at 11:32, Taraldsen Erik <
>> erik.taraldsen at telenor.no>
>> >> >> wrote:
>> >> >>>
>> >> >>> On 10/10/2022, 11:09, "Sebastian Moeller" <moeller0 at gmx.de> wrote:
>> >> >>>
>> >> >>>    Nice!
>> >> >>>
>> >> >>>> On Oct 10, 2022, at 07:52, Taraldsen Erik via Cake <
>> >> >> cake at lists.bufferbloat.net> wrote:
>> >> >>>>
>> >> >>>> It took about 3 hours from the video was release before we got the
>> >> >> first request to have SQM on the CPE's  we manage as a ISP.  Finally
>> >> >> getting some customer response on the issue.
>> >> >>>
>> >> >>>       [SM] Will you be able to bump these requests to higher-ups
>> and at
>> >> >> least change some perception of customer demand for tighter latency
>> >> >> performance?
>> >> >>>
>> >> >>> That would be the hope.
>> >> >>
>> >> >>         [SM} Excellent, hope this plays out as we wish for.
>> >> >>
>> >> >>
>> >> >>>  We actually have fq_codel implemented on the two latest
>> generations of
>> >> >> DSL routers.  Use sync rate as input to set the rate.  Works quite
>> well.
>> >> >>
>> >> >>         [SM] Cool, if I might ask what fraction of the sync are you
>> >> >> setting the traffic shaper for and are you doing fine grained
>> overhead
>> >> >> accounting (or simply fold that into a grand "de-rating"-factor)?
>> >> >>
>> >> >>
>> >> >>> There is also a bit of traction around speedtest.net's inclusion of
>> >> >> latency under load internally.
>> >> >>
>> >> >>         [SM] Yes, although IIUC they are reporting the interquartile
>> >> mean
>> >> >> for the two loaded latency estimates, which is pretty conservative
>> and
>> >> only
>> >> >> really "triggers" for massive consistently elevated latency; so I
>> expect
>> >> >> this to be great for detecting really bad cases, but I fear it is too
>> >> >> conservative and will make a number of problematic links look OK. But
>> >> hey,
>> >> >> even that is leaps and bounds better than the old only idle latency
>> >> report.
>> >> >>
>> >> >>
>> >> >>> My hope is that some publication in Norway will pick up on that
>> score
>> >> >> and do a test and get some mainstream publicity with the results.
>> >> >>
>> >> >>         [SM] Inside the EU the challenge is to get national
>> regulators
>> >> and
>> >> >> the BEREC to start bothering about latency-under-load at all, "some
>> >> >> mainstream publicity" would probably help here as well.
>> >> >>
>> >> >> Regards
>> >> >>         Sebastian
>> >> >>
>> >> >>
>> >> >>>
>> >> >>> -Erik
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >> _______________________________________________
>> >> >> Make-wifi-fast mailing list
>> >> >> Make-wifi-fast at lists.bufferbloat.net
>> >> >> https://lists.bufferbloat.net/listinfo/make-wifi-fast
>> >> >
>> >> >_______________________________________________
>> >> Bloat mailing list
>> >> Bloat at lists.bufferbloat.net
>> >> https://lists.bufferbloat.net/listinfo/bloat
>> >>
>> >
>>
>> --
>> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>>
>
>-- 
>This electronic communication and the information and any files transmitted 
>with it, or attached to it, are confidential and are intended solely for 
>the use of the individual or entity to whom it is addressed and may contain 
>information that is confidential, legally privileged, protected by privacy 
>laws, or otherwise restricted from disclosure to anyone else. If you are 
>not the intended recipient or the person responsible for delivering the 
>e-mail to the intended recipient, you are hereby notified that any use, 
>copying, distributing, dissemination, forwarding, printing, or copying of 
>this e-mail is strictly prohibited. If you received this e-mail in error, 
>please return the e-mail to the sender, delete it from your computer, and 
>destroy any printed copy of it.

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20221011/1b7f487f/attachment-0001.html>


More information about the Cake mailing list