3 ms·
Heh - the article refers to CAKE as a "really tortured acronym". (Common Applications Kept Enhanced). It is a backronym indeed. Some of the backstory behind CAK
by dtaht 3y ago
Heh - the article refers to CAKE as a "really tortured acronym". (Common Applications Kept Enhanced). It is a backronym indeed. Some of the backstory behind CAKE is that we were shooting to compensate for some of the known flaws of fq_codel, shortly after PIE (backed by CISCO and comcast among other "big boys"), and so we called it as an internal codename, cake. To some in the project (me) it was a reference to a scene in 2010 where the russian guy keeps getting American idioms wrong: "Piece of pie" - "No, cake!". Others thought it came from the game portal, where we started saying "Bandwidth is a lie!". Anyway, the name stuck (although I wish we had come up with something more unique, google for "cake shaper" as for why), and that's where it came from.
In general fq_codel is superior to pie in just about every way. There is a specific thing that pie does that makes it appealing to hardware designers is that it is O(1) on egress and fq_codel is not (but there are ways around that). fq_codel achieves less latency than pie does, and faster than it does. codel takes a bit longer than we would like.
fq-pie still has worse tcp latency (using the same fq algorithm as in fq_codel and cake), and cake solves all kinds of edge cases that no other fq+aqm+shaper can - per host FQ (solving torrent issues), ack-filtering, nat transparency, a better codel model, easy to use link layer compensation, diffserv - and my favorite feature is actually that it runs more or less the same as a default qdisc, as a shaped one. I had hoped it would replace fq_codel at both line rate and at the shaped cases, but it did prove a bit too cpu intensive on cheesy hardware and the edge cases not noticeable enough on simple benchmarks.
I would like to multi-thread it, and add some new features, discussion here: https://docs.google.com/document/d/1tTYBPeaRdCO9AGTGQCpoiuLORQzN_bG3TAkEolJPh28/edit#heading=h.vbbnfu73wlpp https://docs.google.com/document/d/1tTYBPeaRdCO9AGTGQCpoiuLO...