[Cake] Running Cake at long RTTs

Jonathan Morton chromatix99 at gmail.com
Tue Oct 27 15:04:03 EDT 2015

> On 27 Oct, 2015, at 17:14, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> - Turn the hard packet queue size into a lower bound rather than an
>  upper bound.
> - Scale the target to be 1/16th of the interval.
> The first change allows Cake to actually reach the target throughput,
> but it still takes a long while to get there. With the second change, we
> actually get the desired behaviour.

The first change implies that the 10K packets * MTU default (ie. 15MB) isn’t big enough, but the 50MB calculated by 4 * RTT * rate is.  That’s a fairly narrow range, which suggests that the latter calculation is correct.

However, have you tried it with just the second change and not the first?  Conventional wisdom suggests that 15MB (which is slightly more than one BDP) should be about the right size for a buffer under these conditions.  I don’t want to gain a false impression of what the minimum usable buffer size is.

Limiting it to 10K * MTU was a safety valve to avoid the buffer size exploding.  With the first change in place, the “interplanetary” setting effectively removes any limit on buffer size as well.  This makes me deeply uncomfortable.  Instead, we should arrange to configure the safety-valve limit when accommodating LFNs.

The result from the second change is more clearly beneficial, but I’ll put it in userspace (ie. tc) rather than in the kernel.  I think the patch as given has some unintended consequences.  Scaling target with interval also means I have to take more care with the threshold calculation, since the threshold scales with the product of the two.

 - Jonathan Morton

More information about the Cake mailing list