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

Jonathan Morton chromatix99 at gmail.com
Mon Dec 10 10:15:50 EST 2018


> On 10 Dec, 2018, at 2:30 pm, Jendaipou Palmei <jendaipoupalmei at gmail.com> wrote:
> 
> As suggested, we changed the NIC buffer size to 1 packet for the simulation and also tried these different buffer sizes: 10, 50 and 75.
> 
> The default NIC buffer size in ns-3 is 100 packets.
> 
> Additionally, we also enabled BQL and tried.
> 
> We see that the link utilization gets significantly affected when we keep the NIC buffer size small.

Yes, that's what I'd expect to see from Reno-type congestion control, and is one good reason why alternatives to Reno were developed (eg. Compound, CUBIC, BBR).  You may wish to explore what happens with Compound and CUBIC, once your basic measurement methodology has matured.

I would suggest using BQL, since it's available and represents a realistic deployment.

If you were to add TCP (or parallel UDP/ICMP) RTT measurements, you'd see that the peak latency was correspondingly improved by removing the dumb FIFO hidden within the NIC.  I estimate that a 100-packet buffer accounts for about 120ms of latency at 10Mbps, which should definitely be visible on such a graph (being almost 250% of your baseline 50ms latency).

Since latency is the main point of adding AQM, I'm a little surprised that you haven't already produced graphs of that sort.  They would have identified this problem much earlier.

At present you only have COBALT graphs with the small NIC buffer.  For a fair comparison, Codel and PIE graphs should be (re-)produced with the same conditions.  The older graphs made with the large NIC buffer are potentially misleading, especially with respect to throughput.

 - Jonathan Morton



More information about the Cake mailing list