[Cake] A few puzzling Cake results
chromatix99 at gmail.com
Wed Apr 18 10:12:40 EDT 2018
> On 18 Apr, 2018, at 2:25 pm, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> So if there is one active bulk flow, we allow each flow to queue four
> packets. But if there are ten active bulk flows, we allow *each* flow to
> queue *40* packets.
No - because the drain rate per flow scales inversely with the number of flows, we have to wait for 40 MTUs' serialisation delay to get 4 packets out of *each* flow.
Without that, we can end up with very high drop rates which, in ingress mode, don't actually improve congestion on the bottleneck link because TCP can't reduce its window below 4 MTUs, and it's having to retransmit all the lost packets as well. That loses us a lot of goodput for no good reason.
So I do accept the increase in intra-flow latency when the flow count grows beyond the link's capacity to cope. It helps us keep the inter-flow induced latency low while maintaining bulk goodput, which is more important.
- Jonathan Morton
More information about the Cake