Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: "Justin Kilpatrick" <justin@althea.net>
To: "Jonathan Morton" <chromatix99@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] Fighting bloat in the face of uncertinty
Date: Sun, 08 Sep 2019 10:29:09 -0400	[thread overview]
Message-ID: <a75b079e-8a29-46f1-9890-7eb73e18b0f2@www.fastmail.com> (raw)
In-Reply-To: <43F02160-E691-4393-A0C0-8AB4AD962700@gmail.com>

> The second-order effect I mentioned is related to the 'target' 
> parameter.  Checking the code, I am reminded that while Cake itself can 
> have 'target' set from userspace, there actually isn't a parameter to 
> the tc module which allows setting it independently of 'rtt'.  But 
> there *is* a table in q_cake.c (in tc) which you can temporarily extend 
> with the following entries for experimentation:

You are correct. My sampling was flawed and the 'metro' profile is not actually making any difference. 

the main contributor to bloat reduction was a  bandwidth parameter left over from too much use of `tc qdisc change` rather than add/del. 

> You could also set it back to 'internet' and progressively reduce the 
> bandwidth parameter, making the Cake shaper into the actual bottleneck. 
>  This is the correct fix for the problem, and you should notice an 
> instant improvement as soon as the bandwidth parameter is correct.

Hand tuning this one link is not a problem. I'm searching for a set of settings that will provide generally good performance across a wide range of devices, links, and situations. 

From what you've indicated so far there's nothing as effective as a correct bandwidth estimation if we consider the antenna (link) a black box. Expecting the user to input expected throughput for every link and then managing that information is essentially a non-starter. 

Radio tuning provides some improvement, but until ubiquiti starts shipping with Codel on non-router devices I don't think there's a good solution here. 

Any way to have the receiving device detect bloat and insert an ECN? I don't think the time spent in the intermediate device is detectable at the kernel level but we keep track of latency for routing decisions and could detect bloat with some accuracy, the problem is how to respond. 

-- 
  Justin Kilpatrick
  justin@althea.net

On Sat, Sep 7, 2019, at 8:59 PM, Jonathan Morton wrote:
> > On 8 Sep, 2019, at 3:03 am, Justin Kilpatrick <justin@althea.net> wrote:
> > 
> > So you believe that setting the target RTT closer to the path latency was not the main contributor to reducing bloat? Is there a configuration I could use to demonstrate that one way or the other? 
> 
> The second-order effect I mentioned is related to the 'target' 
> parameter.  Checking the code, I am reminded that while Cake itself can 
> have 'target' set from userspace, there actually isn't a parameter to 
> the tc module which allows setting it independently of 'rtt'.  But 
> there *is* a table in q_cake.c (in tc) which you can temporarily extend 
> with the following entries for experimentation:
> 
> static struct cake_preset presets[] = {
> 	{"datacentre",		5,		100},
> 	{"lan",			50,		1000},
> 	{"metro",		500,		10000},
> 	{"regional",		1500,		30000},
> 	{"internet",		5000,		100000},
> 	{"oceanic",		15000,		300000},
> 	{"satellite",		50000,		1000000},
> 	{"interplanetary",	50000000,	1000000000},
> +
> +	{"metro-loose",		5000,		10000},
> +	{"internet-tight",	500,		100000},
> };
> 
> If the effect is genuinely due to marking rate, then 'metro-loose' 
> should behave like 'metro' and 'internet-tight' should behave like 
> 'internet', to a first-order approximation.  If, on the other hand, 
> it's due to the second-order interaction with CPU scheduling latency, 
> the reverse may be true.  The latter is not something you should be 
> counting on, as it will insert random AQM marking even when the link is 
> not actually saturated.
> 
> You could also set it back to 'internet' and progressively reduce the 
> bandwidth parameter, making the Cake shaper into the actual bottleneck. 
>  This is the correct fix for the problem, and you should notice an 
> instant improvement as soon as the bandwidth parameter is correct.
> 
>  - Jonathan Morton

  reply	other threads:[~2019-09-08 14:29 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-07 22:42 Justin Kilpatrick
2019-09-07 23:09 ` Jonathan Morton
2019-09-07 23:31   ` Justin Kilpatrick
2019-09-07 23:42     ` Jonathan Morton
2019-09-08  0:03       ` Justin Kilpatrick
2019-09-08  0:59         ` Jonathan Morton
2019-09-08 14:29           ` Justin Kilpatrick [this message]
2019-09-08 17:27             ` Jonathan Morton
2019-09-16 10:21               ` [Cake] cake memory consumption Sebastian Gottschall
2019-09-16 12:00                 ` Dave Taht
2019-09-16 12:51                   ` Dave Taht
2019-09-16 13:31                     ` Sebastian Gottschall
2019-09-16 13:22                   ` Sebastian Gottschall
2019-09-16 13:28                     ` Justin Kilpatrick
2019-09-16 13:39                       ` Jonathan Morton
2019-09-16 13:54                         ` Sebastian Gottschall
2019-09-16 14:06                           ` Jonathan Morton
2019-09-17  5:10                             ` Sebastian Gottschall
2019-09-16 13:47                       ` Sebastian Gottschall
2019-09-16 12:08                 ` Toke Høiland-Jørgensen
2019-09-16 13:25                   ` Sebastian Gottschall
2019-09-16 14:01                     ` Toke Høiland-Jørgensen
2019-09-17  5:06                       ` Sebastian Gottschall
2019-09-17  5:21                       ` Sebastian Gottschall
2019-09-17  5:31                       ` Sebastian Gottschall
2019-09-17  9:21                         ` Jonathan Morton
2019-09-17  9:55                           ` Sebastian Gottschall
2019-09-17  5:33                       ` Sebastian Gottschall
2019-09-17  9:40                         ` Toke Høiland-Jørgensen
2019-09-18  7:19                           ` Sebastian Gottschall
2019-09-18  9:53                             ` Toke Høiland-Jørgensen
2019-09-18  9:57                               ` Sebastian Gottschall
2019-09-18 10:22                                 ` Toke Høiland-Jørgensen
2019-10-03 17:52               ` [Cake] Fighting bloat in the face of uncertinty Justin Kilpatrick
2019-10-03 18:41                 ` Dave Taht
2019-10-03 19:04                 ` Jonathan Morton

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=a75b079e-8a29-46f1-9890-7eb73e18b0f2@www.fastmail.com \
    --to=justin@althea.net \
    --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