> On 18 Apr, 2018, at 2:25 pm, Toke Høiland-Jørgensen <[email protected]> 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

_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to