[Bloat] finally... winning on wired!

Dave Taht dave.taht at gmail.com
Sun Jan 1 19:40:37 EST 2012


Net-next (linux 3.3 w/bql) finally got stable enough to not crash very
often, and my next cut at cerowrt, is also stable enough to not crash
very often... and so I got a chance over the holidays to collect some
data and benchmark the QFQ-related stuff I've been working on for the
past several months.

For starters, this is what a 100Mbit network looks like with the linux
defaults (actually, with TSO and GSO disabled), compared against SFQ,
and QFQ.

http://www.teklibre.com/~d/bloat/pfifo_fast_vs_sfq_qfq_linear.png

You need a log scale to see that one clearly!

http://www.teklibre.com/~d/bloat/pfifo_fast_vs_sfq_qfq_log.png

SFQ has generally been quite good in many respects. SFQ also does
improved hashing on net-next. But: QFQ seemed very promising also, and
it took until now to see it clearly, with BQL turned on.

To look in more detail at sfq vs qfq, under even heavier load:

http://www.teklibre.com/~d/bloat/pfifo_sfq_vs_qfq_linear50.png

It's really very rare in my life that I've seen a win vs an existing
system of these orders of magnitude. It's taken me a week to make sure
the results were real, and repeatable... I thought about sitting on
them for a while longer actually. I'd really like someone else to
repeat these tests and tell me I'm not seeing things!

I have hopes QFQ will do even better at 10Mbit vs SFQ.

The raw data and scripts are in my deBloat repo on github. The apache
benchmark results were also encouraging, as was TCP_RR, but I haven't
plotted them yet.

https://github.com/dtaht/deBloat/tree/master/test/results

The BQL-enabled kernel I'm using is here:

http://huchra.bufferbloat.net/~d/bql/ (warning! it WILL crash occasionally)

The bql version of cerowrt - well, there's multiple versions, I'm
pretty sure the latest will be fine, haven't tried it.

Sadly, no real progress on wireless as yet. Also I have to finish up
some code to test the performance of this stuff under a 'soft'
bandwidth limit scenario fully. And I'm not going to have time to do
so for several weeks.

There are also interesting possible interactions with bittorrent, etc,
by adopting a queueing system that is so 'fair' in nature. So... the
code I have thus far is out there in deBloat, have fun with it. I
enjoyed learning what little lua I did over the holiday, I hope you
enjoy the results.

Happy New Year.

-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
FR Tel: 0638645374
http://www.bufferbloat.net



More information about the Bloat mailing list