[Bloat] getting fq_codel tested in the next year (in the ubuntu 13.4 test series?) somehow
Dave Taht
dave.taht at gmail.com
Sat Nov 3 18:11:18 EDT 2012
Jesper, Toke and I crashed the ubuntu kernel meeting at last weeks
ubuntu developer summit in Copenhagen.
We raised the issue of possibly getting fq_codel on on ubuntu by
default (especially for desktops), and then had to explain bufferbloat
to the meeting chair...
About half the room then started chanting "bufferbloat", which was
most amusing. (and gratifying)
We have a chicken and egg problem, in that while the results for
fq_codel on ethernet, especially, are very good, we still have to
evolve that to a full pfifo_fast replacement.
And: wider testing of what we have already is indicated, and I can't
think of a better distro to get some of that done, than ubuntu, arch,
and fedora. gentoo?
During that meeting I tossed off a shorter, cleaner version of the
debloat script which sets up fq_codel on ethernet or wifi on debian
derived systems.
https://github.com/dtaht/deBloat/blob/master/src/debloat.sh
(getting this script to where it could be an optional package would be
good. It could use some more work, tho)
And (thx to toke's new netperf-wrapper tool) did a couple rather
convincing demos at the conference.
This was the first chance I'd had to exercise linux 3.6. While TCP
small queues is amazing, fq_codel is even more amazing.
Latency under load last year:
http://www.teklibre.com/~d/bloat/pfifo_fast_vs_sfq_qfq_linear.png
Linux 3.6 PFIFO_FAST:
https://github.com/tohojo/netperf-wrapper/blob/master/sample_plots/100m_pfifo_fast.png
Linux 3.6 FQ_CODEL:
https://github.com/tohojo/netperf-wrapper/blob/master/sample_plots/100m_fq_codel.png
So there's been some commentary on this bug over at ubuntu
https://bugs.launchpad.net/ubuntu/+bug/940541
that I haven't had time to jump in on. (help?)
I'm curious (and it would help on that bug up there) as to what sorts
of real world workloads people have been subjecting ubuntu/debian
based servers/desktops to, now that BQL and fq_codel are standard in
the kernel. Things that I would imagine are much better now are things
like freeswitch's voip, while doing a backup, or heavy short web
workloads, heavy db oriented samba workloads, skype while surfing,
etc.
Certainly streaming in general while doing anything else seems to be
better, same for interactive traffic such as mosh. Enabling fq_codel
on my laptop while dealing with various hotel and conference wifi
seems to help in the transmit direction, too. Netperf's TCP_RR and/or
ping are useful tools for seeing this, but it's hard to express the
"feel" of something that is less annoying than it used to be.
(Sigh: while at the same conference, I had one session with a 22
second RTT, on the wifi there)
PS I'm also looking for a good web benchmark to be working with,
something as good as google chrome's benchmarks, in conjuction with a
string of very comprehensive, nasty tests I've been coming up with.
ideas?
PPS I'm sort of on a mission now to get BQL support into more
hardware... particularly arm hardware, which seems to be mostly hooked
up via the usb bus nowadays, there.
PPPS I am now at linuxconf in barcelona where I hope to keep pushing
the jello uphill. Anybody else here?
--
Dave Täht
Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
More information about the Bloat
mailing list