Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: cake@lists.bufferbloat.net
Subject: [Cake] Testing variants of the MTU latency scaling
Date: Sun, 22 Apr 2018 22:46:48 +0200	[thread overview]
Message-ID: <87a7tv3r5z.fsf@toke.dk> (raw)

[-- Attachment #1: Type: text/plain, Size: 1872 bytes --]

So as promised I ran a bunch of tests with different variants of the MTU
minimum queue occupancy scaling feature that we were discussing.

I added instrumentation so the scaling can be turned on and off and set
at various levels (see the test-instrumentation branch). I then ran
tests with the minimum queue level (i.e., where the AQM turns off) set
to, respectively:

- 1 MTU
- 2 MTU
- 2 MTU x number of flows
- 4 MTU
- 4 MTU x number of flows

The "x number of flows" tests are referred to as "scaling" in the
dataset.

I ran the RRUL test and 32-flow TCP download and upload tests on a setup
where I installed Cake before the bottleneck link on upstream and on an
IFB in 'ingress' mode. The other side of the bottleneck link was a TBF
1000-packet FIFO with the same bandwidth setting. Cake had Ethernet
overhead compensation turned on, which kept the bottleneck under control
(as you can see by the latency results).

Full dataset is here:
https://kau.toke.dk/experiments/cake/cake-mtuscale.tar.gz



Takeaways (see attached plots):

- The MTU scaling does indeed give a nice benefit in egress mode
  "tcp-download-totals" plot. From just over 6 Mbps to just over 8 Mbps
  of goodput on the 10 Mbit link. There is not a large difference
  between 2MTU and 4MTU, except that 4MTU hurts inter-flow latency
  somewhat.

- The effect for upload flows (where Cake is before the bottleneck;
  10mbit-upload.png) is negligible.

- The MTU scaling really hurts TCP RTT (intra-flow latency;
  tcp-upload-tcprtt-10mbit.png and rrul-tcprtt.png).

- For bidirectional traffic the combined effect is also negligible.


Based on all this, I propose we change the scaling mechanism so that it
is only active in egress mode, and change it from 4 MTUs to 2. I'll
merge Kevin's patch to do this unless someone complains loudly :)

If you want me to run other tests, let me know.

-Toke


[-- Attachment #2: 10mbit-upload.png --]
[-- Type: image/png, Size: 135745 bytes --]

[-- Attachment #3: rrul-box.png --]
[-- Type: image/png, Size: 62707 bytes --]

[-- Attachment #4: rrul-icmp-cdf.png --]
[-- Type: image/png, Size: 55056 bytes --]

[-- Attachment #5: rrul-tcprtt.png --]
[-- Type: image/png, Size: 44198 bytes --]

[-- Attachment #6: tcp-download-totals.png --]
[-- Type: image/png, Size: 129915 bytes --]

[-- Attachment #7: tcp-upload-tcprtt-10mbit.png --]
[-- Type: image/png, Size: 386028 bytes --]

             reply	other threads:[~2018-04-22 20:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-22 20:46 Toke Høiland-Jørgensen [this message]
2018-04-22 21:09 ` Jonathan Morton
2018-04-22 21:31   ` Toke Høiland-Jørgensen
2018-04-23 11:23   ` Jonas Mårtensson
2018-04-24 11:45     ` Toke Høiland-Jørgensen
2018-04-24 19:04       ` Jonas Mårtensson
2018-04-24 19:22         ` Kevin Darbyshire-Bryant
2018-04-24 20:27           ` Jonas Mårtensson
2018-04-24 21:11             ` Sebastian Moeller
2018-04-23  9:52 ` Jonathan Morton
2018-04-23 10:13   ` Toke Høiland-Jørgensen
2018-04-23 10:50     ` Jonathan Morton
2018-04-24  8:11       ` Kevin Darbyshire-Bryant
2018-04-24  8:14         ` Jonathan Morton
2018-04-24  8:29           ` Kevin Darbyshire-Bryant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a7tv3r5z.fsf@toke.dk \
    --to=toke@toke.dk \
    --cc=cake@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox