> On 4 Oct, 2016, at 19:28, Jonathan Morton <chromati...@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

_______________________________________________
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake

Reply via email to