[Bloat] Comcast & L4S
Sebastian Moeller
moeller0 at gmx.de
Sat Feb 1 13:05:00 EST 2025
Hi Jonathan...
> On 1. Feb 2025, at 18:26, Jonathan Morton <chromatix99 at gmail.com> wrote:
>
>> On 1 Feb, 2025, at 7:06 pm, Sebastian Moeller <moeller0 at 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
More information about the Bloat
mailing list