[Bloat] RED against bufferbloat
Toke Høiland-Jørgensen
toke at toke.dk
Wed Feb 25 06:04:35 EST 2015
Mikael Abrahamsson <swmike at swm.pp.se> writes:
> To me, FQ is important especially for lower speeds. This also maps
> well into the CPU based nature of FQ (that it's hard to do in
> "silicon").
Well my research has been mainly focused on the consumer / edge case.
I.e. things a Linux box can drive in hardware, so up to 100Mbit to a
Gbit depending on the size of the box. In these cases, fq_codel adds no
measurable overhead compared to the CPU load of just pushing the
packets.
> We're not going to see FQ_CODEL on a 200 interface large router
> designed to push 100 gigabit/s of traffic, at least not in any
> interesting price point.
Maybe not; but note that recent work in the Linux kernel makes it quite
capable of pushing 40GigE, and I believe sched_fq (which does 'real'
fairness queueing with a queue per flow, not hash buckets as fq_codel
does) has been shown to scale to millions of concurrent flows.
> Can we do bidirectional traffic FQ_CODEL on the CPE to try to achieve
> basically zero loss in the AR policer for any normal kind of use
> scenario using TCP. I have not seen any simulations looking at this.
Well this is basically what we're doing with the SQM scripts in CeroWRT:
put a software rate limiter in the CPE and configure it to a slightly
lower value than whatever the cable/DSL modem runs at. This works quite
well, but the software rate limiter is fairly CPU hungry, so small boxes
struggle. I had to substitute a full x86 box for my Netgear router to
run at 100Mbit for my home connection.
> Because my belief is that even though we might say we love FQ here,
> we're not going to see high speed FQ on higher end ISP aggregation
> routers. So if we want FQ, we're going to have to do it in the CPEs.
Well OpenWRT turns on fq_codel by default now. :)
And yeah, I'm not holding by breath for big iron vendors to include
fq_codel in their products. But that doesn't mean it can't go into CPEs.
And end hosts and access points. And inside tunnels (VPN daemons for
instance).
-Toke
More information about the Bloat
mailing list