[Cake] sch_cake shaper/aqm/fq implementation in linux slides and paper
dave.taht at gmail.com
Sun Apr 28 09:15:44 EDT 2019
Since sch_cake has been generally available as dual licensed (BSD/GPL)
open source since last august (as of linux 4.19), and shipping in
openwrt and evenroute for 3 years, I have generally longed for more
folk to be fiddling with it in the ietf. The most current stable
version is in openwrt 18.02, which shipped in january. Cake is in
general is too complicated and addresses too many things to
encapsulate into an RFC, but in particular, the DOCSIS/DSL/Ethernet
framing compensation modes are excellent (unlike the BSD pfsense one),
and we have many other improvements to multiple components of the SQM
systems we've been shipping for 8 years. such as per host/per flow FQ,
sane diffserv support, and ack-filtering being theprimary ones covered
in slides from my IEEE lanman talk:
One major feature not brought out in paper or slides is that cake
works the same whether it has backpressure from the device or via
"BQL", OR in shaping in software. Another important feature -
GRO-splitting, we haven't gone into much in print yet. In the extra
slides section are some nice results from a GPON fiber network. It can
also be used as a local host-only qdisc; there is a brief comparison
of cake vs sch_fq also in the slides above. As well as in network
namespaces, vms, docker containers, multi-tenant dcs, etc, etc.
All the features of cake were developed in close collaboration with
the actual users of SQM in the field.
That paper: https://arxiv.org/pdf/1804.07617.pdf - talks about "Home"
gateways but since then we got it to scale past 50GigE in software
alone. I look forward to more independent benchmarkings in other
scenarios, and we do take bug reports on the github.
Some of the new SCE ("Some Congestion Experienced") related work has
landed in the https://github.com/dtaht/sch_cake repo already (as well
as fq_codel_fast) but the majority of work is taking place over in
jonathan's repos presently.
There is a paper pending, also, on the improvements to codel that
jonathan (primarily) made in the COBALT AQM that I hope will be
One thing I've longed for is some coherent testing of the modern
videoconferencing and quic and bbr congestion control algorithms
against it. Is there anyone out there able to do this and possibly
collaborate on a paper on it?
I was really quite unaware until this past ietf that so few had had a
taste of cake yet.
CTO, TekLibre, LLC
More information about the Cake