[Cake] Today's cake

Jonathan Morton chromatix99 at gmail.com
Wed Jun 17 01:49:14 EDT 2015

I just put in three quite small tweaks to cake:

1) Codel now has a saturating increment for count, rather than a wrapping one.

2) The active flow counter is now an atomic-access variable.  This is really just an abundance of caution.

3) The overload drop routine should now be somewhat more efficient in most cases, since it iterates over the active flows rather than the entire array.  I haven’t measured how much of a difference it makes in practice, but it should be positive.

Point 1 turns out to matter rather a lot under unresponsive loads, given that count is only 16 bits.

The “50 up 1 down asymmetric” test now produces the desired results for the download stream *without* the need to prioritise the acks; Codel now reaches a steady-ish state where it drops enough of them to keep everything moving, and this leaves more bandwidth in the up direction for the 50 streams.

The version of that test with a prioritised download stream reveals that quite a lot of drops (as well as marks) are still occurring in the 50 streams.  This, to my mind, is a sign of too much aggression in the switch from marking to dropping, but I need to work out the numbers to be more confident about adjusting that.

 - Jonathan Morton

More information about the Cake mailing list