Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Pete Heist <peteheist@gmail.com>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] Cake latency update
Date: Fri, 10 Feb 2017 11:05:42 +0100	[thread overview]
Message-ID: <4B18C549-4CEF-4275-B9B3-CB8A046EB4EC@gmail.com> (raw)
In-Reply-To: <5BE2A225-4B9C-4F0F-ACC5-C23CCC873DF5@gmail.com>

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


> On Feb 10, 2017, at 10:29 AM, Jonathan Morton <chromatix99@gmail.com> wrote:
> 
>> On 10 Feb, 2017, at 11:21, Pete Heist <peteheist@gmail.com> wrote:
>> 
>> Here are the results at various bitrates (all half-duplex rate limiting on this CPU).
> 
> Hold on a minute.  What does “half-duplex rate limiting” mean exactly?
> 
> - Jonathan Morton
> 

Yes, that’s a good point, I probably invented the phrase “half-duplex rate limiting". :) It means that both the ingress and egress have been redirected over the same IFB device and QoS'd together. This seems to work better for the half-duplex nature of Wi-Fi, because then you can use soft rate limiting to control the queue and keep latency low while still allowing almost the full one-directional throughput. You made the suggestion earlier on the Cake list to try it, and it does work for me.

By the way, in case you want to see the qdisc setup, it’s there for each host under the qos_* sections on each page. The AP router is “mbp”, which I use for half-duplex limiting, then for full-duplex limiting it’s done both ends of the link- “mini” and “mbp”. And if you want to see the QoS setup script, it’s here:

http://www.drhleny.cz/bufferbloat/qos.sh <http://www.drhleny.cz/bufferbloat/qos.sh>

But what I hadn’t noticed before is that I so far haven’t seen the same throughput shifts in the so-called "full-duplex” rate limiting results, meaning I’m just limiting on the egress of both ends of the point-to-point link.

http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_10mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_10mbit/index.html>

http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_20mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_20mbit/index.html>

http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_30mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_30mbit/index.html>

http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_40mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_40mbit/index.html>

http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_45mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_45mbit/index.html>

http://www.drhleny.cz/bufferbloat/cake_fd-eth-ap_70ms_40mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-ap_70ms_40mbit/index.html>

And “full-duplex limiting” for fq_codel:

http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_10mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_10mbit/index.html>

http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_20mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_20mbit/index.html>

http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_30mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_30mbit/index.html>

http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_40mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_40mbit/index.html>

http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_45mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_fd-eth-both_45mbit/index.html>

But what I _do_ see now in the full-duplex limiting results is not throughput shifts, but occasional latency shifts for individual flows, like in the 30 Mbit full-duplex Cake result:

http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_30mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-both_30mbit/index.html>

and when I was testing lowering Cake’s rtt parameter I saw it (perhaps unrelated to changing the rtt parameter), so here’s rtt 70ms, bandwidth 40 Mbit:

http://www.drhleny.cz/bufferbloat/cake_fd-eth-ap_70ms_40mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_fd-eth-ap_70ms_40mbit/index.html>

I’m still parsing all of these results and haven’t figured everything out yet, so thanks for making me look at that again. It does appear that the throughput shifts may be related to rate limiting both egress and ingress over the same IFB device. However, I have not seen such throughput shifts for HTB+fq_codel when rate limited in the same way...

Pete


[-- Attachment #2: Type: text/html, Size: 6157 bytes --]

  reply	other threads:[~2017-02-10 10:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-09 16:36 Pete Heist
2017-02-09 20:52 ` Jonathan Morton
2017-02-10  8:04   ` Pete Heist
2017-02-10  8:49     ` Jonathan Morton
2017-02-10  9:21       ` Pete Heist
2017-02-10  9:29         ` Jonathan Morton
2017-02-10 10:05           ` Pete Heist [this message]
2017-02-10 10:31             ` Jonathan Morton
2017-02-10 11:08               ` Pete Heist
2017-02-10 11:35                 ` Sebastian Moeller
2017-02-10 12:21                   ` Pete Heist
2017-02-12 12:43                     ` Pete Heist
2017-02-12 13:08                       ` Dave Taht
2017-02-12 14:12                         ` Pete Heist
2017-02-12 16:37                           ` Pete Heist
2017-02-12 16:41                           ` Jonathan Morton
2017-02-12 17:15                             ` Pete Heist
2017-02-14 10:02                               ` Pete Heist

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=4B18C549-4CEF-4275-B9B3-CB8A046EB4EC@gmail.com \
    --to=peteheist@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    /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