[Cake] COBALT implementation in ns-3 with results under different traffic scenarios

Jonathan Morton chromatix99 at gmail.com
Fri Nov 23 12:13:52 EST 2018

> On 23 Nov, 2018, at 6:43 pm, Dave Taht <dave.taht at gmail.com> wrote:
> This is possibly a correct result in your simulation!! - the periodic
> throughput drop you are showing in cobalt at this bandwidth and rtt.
> I'm happy to see cobalt kick in early on slow start but not happy to
> see the periodic drop. Jon, do you have time for a code review?

I looked at it briefly, but the code structure is different enough that I need to sit down and study it carefully to figure out whether there are any relevant differences.

The throughput drops most likely occur because the TCPs become synchronised and remain so under AQM action.  You can see that the frequency of the system is lower in the later part of the COBALT run than in the Codel run, but the same as Codel in the earlier part where throughput drops don't occur.  But this shouldn't really occur with a Codel-based AQM (as COBALT is), because a single mark is sufficient to tell TCP to back off over one RTT.  An explanation might be if this implementation of COBALT isn't running down correctly when deactivated, so the mark frequency only rises while being turned on and off.  The run-down behaviour is a major intentional difference between COBALT and reference Codel.

I'll look at the code more closely with that in mind.

 - Jonathan Morton

More information about the Cake mailing list