General list for discussing Bufferbloat
 help / color / mirror / Atom feed
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



  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