[Cake] [aqm] codel with low shape rates

Dave Täht dave at taht.net
Mon Jan 18 17:57:46 EST 2016

On 1/18/16 2:11 PM, Jeff Weeks wrote:
> Hello all,
> I'm wondering if there's some data on Codel with low shape rates?
> In particular, I'm talking about in the kbps ranges.

We recently did some testing of several codel variants at very low rates
(2mbit/384kbit asymmetric). One flent dataset is here:


There are a couple others. I didn't take the time to create graphs and
collate results before leaving for christmas vacation, the closest
I came to that w/graphs was this post:


pie was miserable, also. (it has a 10k estimator needed)

> In my investigation, it seems as though the algorithm can't control latency as effectively.
> For one, the algorithm requires 2 packets in the queue to operate, but at a low shape rate, it's highly likely that all packets in the queue will have high latency, so 'count' will begin to ramp up... but conversely, it's also likely that we drain the queue, and then leave the drop state (and wont re-enter it for at least an interval's worth of time (100ms)).

This is not quite true - it's bytes, not packets. An MTU's worth of
bytes is the std codel limit before switching off.

Additionally, when htb is used, there is at least an htb quantum's worth
of packets that queue also. (the "cake" variant does not have this
problem. After I published the bcake vs cake results above, the cake
code got improved)

> Effectively, we get an oscillation of "in drop state, out of drop state", and we're not in the drop state for long enough to ramp up count, because the queue itself (proportional to the shape rate) isn't very big.

I don't see this, we generally end up with a persistently >1 packet
queue with two or more flows going. I see is a worse problem where the
basic attributes of keeping a connection up and things like slow start,
and with multiple flows, result in count climbing excessively high,
especially with ecn in use.

More research at sub 2mbit speeds is needed. Am pretty happy with things
in the 4mbit to 40gbit range.

> Are there way to combat this, or am I misinterpreting a portion of the algorithm?

The simplest way to get decent results is to set target slightly more
than the MTU at the speed you are running at. e.g. 1Mbit = target 13ms.
This is essentially what the sqm-scripts and cake do - and the results
are still less than fully desirable.

(I would like very much to have an aqm that was knobless at these
speeds. Most of the work on trying to improve matters at these rates is
in the multitude of "cake" variants)

> Thanks,
> Jeff
> ________________________________
> /dev/jeff_weeks.x2936
> Sandvine Incorporated
> _______________________________________________
> aqm mailing list
> aqm at ietf.org
> https://www.ietf.org/mailman/listinfo/aqm

More information about the Cake mailing list