From: Sebastian Moeller <moeller0@gmx.de>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: "Dave Täht" <dave.taht@gmail.com>,
"David Collier-Brown" <davec-b@rogers.com>,
"Rich Brown via Bloat" <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] Comcast & L4S
Date: Sat, 1 Feb 2025 19:05:00 +0100 [thread overview]
Message-ID: <DE13E270-095D-4DE3-91DF-BB3CB607CF8E@gmx.de> (raw)
In-Reply-To: <4B1379B8-7EF6-4D34-8091-451A48585811@gmail.com>
Hi Jonathan...
> On 1. Feb 2025, at 18:26, Jonathan Morton <chromatix99@gmail.com> wrote:
>
>> On 1 Feb, 2025, at 7:06 pm, Sebastian Moeller <moeller0@gmx.de> wrote:
>>
>>> As with NQB, Cake already does essentially what L4S requires, except for default-configured Codel being less than ideal as an AQM for producing congestion signals for a DCTCP-type response. I have no intention of modifying Cake to *specifically* accommodate L4S in any way. If their crap doesn't work properly in a standards-compliant environment, that's THEIR problem.
>>
>> Now, as advocatus diabolical, the way CoDel works we have interval and/or target as configurable parameters and a trade-off between maintaining utilisation over the wider internet and keeping the signalling reactive for closer by flows, maybe we could teach cake to allow a second set of interval/(automatically calculated) target to optimise for local and non local traffic, and use a proper (configurable and maskable) DSCP/TOS to steer packets into this? Maybe CS7 would do to signal its intent for local delivery?
>
> Codel's default 5ms target is already pretty tight,
I am more concerned about the 100ms interval (target is linked to that), waiting 100ms before engaging is not great if the true RTT is in the low single digits...
> about as tight as you can reasonably make it while still accommodating typical levels of link-level jitter.
Not sure, in a LAN with proper back pressure I would guess lower than 5ms to be achievable. This does not need to go crazy low, so 1 ms would likely do well, with an interval of 10ms... or if 5 ms is truly a sweet spot, maybe decouple interval and target so these can be configured independently (in spite of the theory that recommends target to be 5-10% of interval).
> And COBALT does already find and maintain the appropriate marking rate for DCTCP when required - it just takes a little while to ramp up, so there is a noticeable hump in the delay curve during flow startup. I don't see any low-hanging fruit there; Codel is simply not designed for that congestion response style.
Fair, and I am not after DCTCP style here (L4S would be) but simply allowing a parallel codel for a tighter target.
> DelTiC is a bit more flexible in this respect. I don't however plan to add DelTiC to Cake. Rather, I'm building a new qdisc that does some of the same things as Cake, but using more advanced technology and generally learning some object lessons from the experience.
Great! May I propose something for you to ponder, assuming DelTic will also include a traffic shaper?
One thing great with cake is the built-in traffic shaper, making setting it up a breeze. However that shaper tends to be relatively CPU-hungry (as shapers tend to be) and at the same time once it runs itself out of CPU cycles tends to not honor its latency target as well HTB+fq_codel tend to do. IIRC with HTB+fq_codel if you are CPI limited latency stays low, throughput takes a hit, with cake it is more that latency increases (not atrociously, even in that mode having cake is IMHO better than no cake) while thropughput takes a smaller hit. Not sure that this is something that can be easily addressed, but IMHO I prefer HTB+fq_codels behaviour in that regards.
>
> - Jonathan Morton
next prev parent reply other threads:[~2025-02-01 18:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-31 13:20 Rich Brown
2025-01-31 13:27 ` Sebastian Moeller
2025-01-31 23:57 ` Dave Taht
2025-02-01 0:40 ` David Collier-Brown
2025-02-01 0:49 ` Dave Taht
2025-02-01 14:33 ` Sebastian Moeller
2025-02-01 14:51 ` Jonathan Morton
2025-02-01 17:06 ` Sebastian Moeller
2025-02-01 17:26 ` Jonathan Morton
2025-02-01 18:05 ` Sebastian Moeller [this message]
2025-02-02 0:09 ` Jonathan Morton
2025-02-02 11:39 ` Sebastian Moeller
2025-02-03 14:04 ` Jonathan Morton
2025-02-01 13:35 ` Sebastian Moeller
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/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DE13E270-095D-4DE3-91DF-BB3CB607CF8E@gmx.de \
--to=moeller0@gmx.de \
--cc=bloat@lists.bufferbloat.net \
--cc=chromatix99@gmail.com \
--cc=dave.taht@gmail.com \
--cc=davec-b@rogers.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