[Cake] cake byte limits too high by 10x

Jonathan Morton chromatix99 at gmail.com
Fri May 29 08:24:14 EDT 2015


> However there are many other objectives that need to be met also -
keeping the pipe filled and utilization high for starters. The ideal buffer
length is 1 packet, all the time, no idle periods. trying to smooth out
bursts. being resistant to attacks. etc. THIS STUFF IS HARD!

It's not hard. It's impossible - as long as we only have this one bit per
RTT per flow signalling capacity. Which is why I came up with ELR.

Until we get ELR, we'll have to put up with oscillating congestion window
sizes, and the inherent trade-off between utilisation and peak queue depth
they imply. ConEx and DCTCP don't solve that either; they just allow
different amounts of downward pressure at the upper end.

Even Codel implicitly acknowledges this oscillation in its design. Someone
described it recently as a self-adjusting bang-bang controller, and that's
basically fair; it has distinct "on" and "off" phases with some hysteresis
between them, just like your refrigerator. It works well for the given
conditions, but it too is inherently incapable of providing perfectly
smooth control.

And then there's the vastly different dynamics of slow start versus
congestion avoidance. Codel with ECN and either Westwood+ or CUBIC are
actually pretty good in the congestion avoidance phase. Slow start behaves
entirely differently, but it's hard to detect the optimal point at which it
should be told to back off, without risking being too aggressive at
signalling to congestion avoidance.

An observation: 50 simultaneous slow start flows with IW10 is equivalent to
one slow start flow with IW500.

- Jonathan Morton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20150529/4ffe2141/attachment-0002.html>


More information about the Cake mailing list