[Cake] cake default target is too low for bbr?
Andy Furniss
adf.lists at gmail.com
Thu May 4 06:22:25 EDT 2017
Jim Gettys wrote:
> On Wed, May 3, 2017 at 5:50 AM, Andy Furniss <adf.lists at gmail.com>
> wrote:
>
>> Andy Furniss wrote:
>>
>>> Andy Furniss wrote:
>>>
>>> b) it reacts to increase in RTT. An experiment with 10 Mbps
>>> bottleneck,
>>>>> 40 ms RTT and a typical 1000 packet buffer, increase in RTT
>>>>> with BBR is ~3 ms while with cubic it is over 1000 ms.
>>>>>
>>>>
>>>> That is a nice aspect (though at 60mbit hfsc + 80ms bfifo I
>>>> tested with 5 tcps it was IIRC 20ms vs 80 for cubic). I
>>>> deliberately test using ifb on my PC because I want to pretend
>>>> to be a router - IME (OK it was a while ago) testing on eth
>>>> directly gives different results - like the locally generated
>>>> tcp is backing off and giving different results.
>>>>
>>>
>>> I retested this with 40ms latency (netem) with hfsc + 1000 pfifo
>>> on ifb.
>>>
>>
>> So, as Jonathan pointed out to me in another thread bbr needs fq
>> and it seems fq only wotks on root of a real eth, which means thay
>> are invalid tests.
>>
>
> ​Specifically, BBR needs packet pacing to work properly: the
> algorithm depends on the packets being properly paced.
>
> Today, fq is the only qdisc supporting pacing.
>
> The right answer would be to add packet pacing to cake/fq_codel
> directly. Until that is done, we don't know how BBR will work in our
> world. - Jim​
I guess you mean so cake could be used on egress of sender (in place of fq)?
That's not really the test that I intend to do, which is more like -
[boxA bbr+fq] -> [boxB simulate ISP buffer] -> [boxC cake ingress shape]
a bit lower than "line" rate and see how much "ISP" buffer gets filled.
Also compare bbr, cubic and netem different rtts etc.
>>
>> I will soon (need to find a crossover cable!) be able to see using
>> a third sender how cake varies shaping bbr in simulated ingress.
>>
>> I can test now how bbr fills buffers - some slightly strange
>> results, one netperf ends up being "good" = buffer only a few ms.
>>
>> 5 netperfs started together are not so good but nothing like
>> cubic.
>>
>> 5 netperfs started with a gap of a second or two are initially
>> terrible, filling the buffer for about 30 seconds, then eventually
>> falling back to lower occupancy.
>>
>> TODO - maybe this is a netperf artifact like bbr/fq thinks it is
>> app limited.
>>
>> The worse thing about bbr + longer RTT I see so far is that its
>> design seems to be to deliberately bork latency by 2x rtt during
>> initial bandwidth probe. It does drain afterwards, but for
>> something like dash generating a regular spike is not very game
>> friendly and the spec "boasts" that unlike cubic a loss in the
>> exponential phase is ignored, making ingress shaping somewhat less
>> effective.
More information about the Cake
mailing list