[Cake] Master branch updated

Jonathan Morton chromatix99 at gmail.com
Tue Oct 11 01:41:09 EDT 2016

> On 4 Oct, 2016, at 19:28, Jonathan Morton <chromatix99 at gmail.com> wrote:
>> Ha ha!  I don't know if you're back from shopping yet...and I'm not sure that I've broken it (cobalt branch)...but it has broken my router!
> Hmm.  It’s been running all day with plenty of traffic over here - but it did crash the very first time I loaded it, just not the second.  I will need to exercise it some more, preferably on a non-critical machine.

Okay, that bug is fixed and I’ve made further improvements to the triple-isolate algorithm.  It no longer needs quite as much spaghetti logic in the fast path, and might even be easier to understand from reading the code, since it’s now more obviously a modification of DRR++ rather than a brute-force wrapper around it.  It should certainly give smoother behaviour and be less CPU intensive in common cases.

In brief, what I now do is to scale the *flow* quantum down by the higher of the two hosts’ flow counts.  I’ve even dealt with underflow of the quotient using a dithering mechanism, which should also ensure that flows random-walk out of lockstep with each other.

It works sufficiently well that I was able to set Cake to 2.5Mbit besteffort triple-isolate, then watch a 720p YouTube video on one machine while another was downloading a game update using a 30-flow swarm.  I’d call that a success.

Hammer away at it, and then we’ll see if we can merge it up to master.

 - Jonathan Morton

More information about the Cake mailing list