[Codel] why RED is not considered as a solution to bufferbloat.

Dave Taht dave.taht at gmail.com
Tue Feb 24 13:00:44 EST 2015

On Tue, Feb 24, 2015 at 8:32 AM, Jonathan Morton <chromatix99 at gmail.com> wrote:
> Most of us on this list believe that to be true, in many cases after
> performing experiments ourselves, or at least looking through data generated
> by others' experiments.
> However, if as I suspect you are investigating various AQM algorithms as
> part of your education, you should probably examine the data yourselves and
> come to your own conclusions. You may even get extra credit for being able
> to describe the difference between AQM and Fair Queuing, and how they can be
> combined (as in fq_codel) to give the benefits of both types in one go. But
> for that, you ARE going to need to read some boring papers like "RED in a
> different light".

It is not particularly easy to keep up with the onslought of AQM
literature since the bufferbloat effort started, but a review of stuff
since 2011, or even as late at 2013 via google scholar should be
illuminating. Many papers use RED as a reference, but nearly all of
them miss the major points in the original bufferbloat experiments.
Those experiment, long ago documented on Jim´s earliest writings on
the subject, available in video form, in various papers etc. One


where jim performed an upload and a ping, at the same time, on a
network optimized for downloads and and obviously not tested for
uploads. The later rrul test suite (in netperf-wrapper, open source,
anybody can use it, and I really wish they did) was designed to
exercise both directions of the link with tcp data, and do a latency
measurement, at the same time.

Either experiment is consistently not replicated by experimenters *to
date*, it frustrates me, and the only thing that gives hope is the
slow progress in science of resolving the problems in this experiment:


But I am not willing to wait 70 years to get it all sorted out!

The core observation I have is :

Drop tail queues and AQMs do not do well in the face of cross traffic,
(a mixture of small ack packets and larger data packets at saturating
loads). This is apparently one of those problems that most aqm-ers
(but not van and kathie!) wish to sweep under the rug, as if having a
car that can steer on a downhill run only, was acceptable and safe to
society at large.

I made for-damn-sure that there was a rrul-like test for that scenario
in the ns3 code now being mainlined, in the hope that new
experimenters and designers of new algorithms would rigorously test
for circumstances with cross traffic. I think I should also have got
around to doing one in ns2.

Moving on, codel was co-designed by the RED guy - van jacobson - and
if you don´t  believe him when he explains how RED was flawed, please
stay away from my networks.


There is no information in average queue length.

The whole story about red in a different light, is sad and amusing at
the same time, when someone finds he has made a mistake, and tries to
retract it, and cant get published, and the pile on and noise level
since by folk since writing RED related papers, even since we managed
to get the correctly contradictory information on RED out there, is

If *all* future aqm oriented papers made sure to address the
cross-traffic problem - that  mixture of big and small packets under
saturating loads - with their latest-aqm-idea-de-jure as part of their
*core criteria for worthiness* - it would be a better world.

While I certainly believe that you can make an AQM that works better
with cross traffic - and actually have some revisions for codel that
do so -

You cannot predict the traffic load or traffic types going in either
direction in most environments and thus you *must* handle it at peak
load in both directions, well, in order to have a deployable solution.
For all the aqm-related papers of DASH and web traffic down, there are
nearly none that test torrent/scp/dropbox or videoconferencing traffic
up, at the same time. I would like to be in a world where I could
refuse to read any paper that did not address the cross traffic
problem, AND such papers were summarily rejected before publication.

So, thus, codel is a AQM that combines well with FQ, unlike all other
AQMs published to date - and nearly nobody that uses it, uses it
without also doing FQ.

As it is, fq_codel is deploying rapidly across the edge where it was
designed to go, and I see nearly no implementations of RED in the
field from extensive talks with operators and firmware makers around
the world. *None*, in my last poll at the New Zealand network
operators group meeting.

Some form of fair queuing, on the other hand, was deployed by over 1/3
the network operators there. (Convincing advocates of FQ that AQM is
also needed, has often been a frustrating exercise as well!)

Lastly, if you have trouble reading english, there is always google translate.

> - Jonathan Morton
> _______________________________________________
> Codel mailing list
> Codel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/codel

Dave Täht
Let's make wifi fast, less jittery and reliable again!


More information about the Codel mailing list