General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Michael Welzl <michawe@ifi.uio.no>
To: Alex Elsayed <eternaleye@gmail.com>
Cc: "bloat@lists.bufferbloat.net" <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] RED against bufferbloat
Date: Wed, 25 Feb 2015 09:18:02 +0000	[thread overview]
Message-ID: <FC82EEB0-5E7E-473F-B9B3-2BFEC06C7689@ifi.uio.no> (raw)
In-Reply-To: <mck1t7$ies$1@ger.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 6296 bytes --]

Two points,

below...

On 25 Feb 2015, at 09:42, Alex Elsayed <eternaleye@gmail.com<mailto:eternaleye@gmail.com>> wrote:

Bob Briscoe wrote:

Sahil,

At 06:46 25/02/2015, Mikael Abrahamsson wrote:
On Tue, 24 Feb 2015, sahil grover wrote:

(i) First of all,i want to know whether RED was implemented or not?
if not then what were the reasons(major) ?

RED has been available on most platforms, but it was generally not
turned on. It also needs configuration from an operator, and it's
hard to know how to configure.

About a decade ago my company (BT) widely deployed RED in the
upstream 'head-end' of our global MPLS network, i.e. the likely
bottleneck in the customer edge router where the customer's LAN
traffic enters their access link. We deployed it as WRED, i.e.
different configurations of RED across the various diffserv classes,
in order to minimise queuing latency in all the classes, including
the lowest priority class. A configuration calculator was developed
to help the engineers during set up. We still use this setup
successfuly today, including for all our particularly latency
sensitive customers in the finance sector.

We did not deploy RED on our broadband platform (ie public Internet),
altho in retrospect we should have done, because any AQM is much
better than none. We're fixing that now.

(ii)Second, as we all know RED controls the  average queue size from
growing.
So it also controls delay in a way or  we can say  is a solution to
bufferbloat problem. Then why it was not considered.

It was designed to fix "bufferbloat" long before the bufferbloat
word was even invented. It's just that in practice, it doesn't work
very well. RED is configured with a drop probability slope at
certain buffer depths, and that's it. It doesn't react or change
depending on conditions. You have to guess at configure-time.

What we need are mechanisms that work better in real life and that
are adaptive.

If you were prepared to read a paper, I would have suggested:
"The New AQM Kids on the Block: An Experimental Evaluation of CoDel and
PIE" <http://infocom2014.ieee-infocom.org/GI14-slides/GI14-s2-3.pdf>

This compares CoDel and PIE against Adaptive RED, which was a variant
of RED proposed by Sally Floyd & co-authors in 2001 and available
since Linux kernel version 3.3. ARED addressed the configuration
sensitivity problem of RED by adapting the parameters to link rate
and load conditions.

The paper convinced me that ARED is good enough (in the paper's
simulations it was often better than PIE or CoDel), at least for
links with fixed rate (or only occasionally varying rate like DSL).*
This is important for us because it means we can consider deploying
AQM by adding soft controls on top of the RED implementations we
already have in existing equipment. This could reduce deployment
completion time from decades to a few months.

* I'm not sure ARED would be able to cope with the rapidly changing
rate of a wireless link tho.

One thing that was brought up on the CoDel list (which Sahil's original
question was cross-posted to) by Dave Taht is that much of this testing
utterly fails to account for two crucial factors:

1.) Asymmetric paths. When the uplink is considerably smaller than the
downlink, he's seen significant behavioral differences - and that's
_exactly_ the case of DSL.

2.) Elephants, mice and ants - response of mixed (and latency-sensitive)
traffic under load. The RRUL (Realtime Response Under Load) toolkit he
created is explicitly designed to test this case... which is a close match
to common use cases like watching a Youtube video, but still needing things
like DNS to be responsive. Or the bursty traffic of web browsing while a
VoIP call is occurring.

The former is completely ignored by the presentation you linked to,

Why exactly did you think we should have looked at asymmetric paths? To study what?
( I'm not debating that asymmetric paths play out different in behavior. I'm just saying that one needs to be clear about what exactly is being investigated, and why.)


and the
latter is a one-line mention under "future work":

"More realistic traffic types (here, only bulk TCP traffic) including
bursty traffic"

Considering those, that slide deck convinces me of very, very little indeed.

- it's not just a slide deck, it's a paper, in case you're interested. The longer version is freely available:
https://www.duo.uio.no/bitstream/handle/10852/37381/khademi-AQM_Kids_TR434.pdf?sequence=5

Why no other traffic types? Because we felt that looking at just bulk TCP is enough to make the key point that we wanted to get across: maybe it's worth taking a look at the vast amount of work that exists on AQMs, as even a stone old mechanism like ARED does not seem to generally be significantly worse than CoDel and PIE.

We didn't really want to sell ARED as it is as a much better solution under all conditions and say that it should now be used instead of CoDel and PIE (though we do conclude that it creating an ARED++ type mechanism seems worth considering). To make that point, I'd agree that one would have to see other traffic types too. A paper saying "We propose ARED++ as a replacement for CoDel or PIE" should have that.

My point is: when developing something new, compare against the state of the art. RED is *not* the state of the art, it's very old. I have seen arguments like needing parameterless operation because that was the failure of RED. Well, Sally Floyd addressed that with ARED ages ago. Most papers cited in this survey:
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6329367
begin with "RED didn't work because parameters had to be tuned. We propose a mechanism that doesn't require such tuning..."

What I've seen so far:
- CoDel compared with RED and BLUE
- PIE compared with CoDel
- ARED compared with CoDel and PIE

... it would seem reasonable to take one of the many, many mechanisms that exist - one that was already shown to be better than RED and many others - , make it use delay as input, and test CoDel and PIE against that. Then I'd say we have a comparison against the state of the art. Now we don't really have that, there's a gap here.

Cheers,
Michael


[-- Attachment #2: Type: text/html, Size: 25055 bytes --]

  reply	other threads:[~2015-02-25  9:18 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24 15:43 sahil grover
2015-02-24 16:13 ` Matt Mathis
2015-02-24 22:39   ` Kathleen Nichols
2015-02-25  6:46 ` Mikael Abrahamsson
2015-02-25  6:54   ` David Lang
2015-02-25  6:59     ` Mikael Abrahamsson
2015-02-25  8:29     ` Alex Elsayed
2015-02-25  8:06   ` Bob Briscoe
2015-02-25  8:42     ` Alex Elsayed
2015-02-25  9:18       ` Michael Welzl [this message]
2015-02-25  9:29         ` Sebastian Moeller
2015-02-25 10:10           ` Michael Welzl
2015-02-25 10:24             ` Toke Høiland-Jørgensen
2015-02-25 10:47               ` Mikael Abrahamsson
2015-02-25 11:04                 ` Toke Høiland-Jørgensen
2015-02-25 18:39                   ` Bill Ver Steeg (versteb)
2015-02-26  9:01                     ` MUSCARIELLO Luca IMT/OLN
2015-02-26 10:39                       ` Mikael Abrahamsson
2015-02-26 10:41                         ` Toke Høiland-Jørgensen
2015-02-26 10:44                           ` Mikael Abrahamsson
2015-02-26 10:51                             ` Toke Høiland-Jørgensen
2015-02-26 10:59                             ` Sebastian Moeller
2015-02-26 11:12                             ` Jonathan Morton
2015-02-27  0:26                             ` Dave Taht
2015-02-26 10:45                         ` Sebastian Moeller
2015-02-26 11:34                           ` Jonathan Morton
2015-02-26 12:59                             ` Mikael Abrahamsson
2015-02-26 11:26                         ` MUSCARIELLO Luca IMT/OLN
2015-02-26 12:57                           ` Mikael Abrahamsson
2015-02-25 13:25                 ` Sebastian Moeller
2015-02-25 13:36                   ` Mikael Abrahamsson
2015-02-25 13:38                     ` Toke Høiland-Jørgensen
2015-02-25 14:05                       ` Mikael Abrahamsson
2015-02-25 18:51                         ` Bill Ver Steeg (versteb)
2015-02-25 14:16                     ` MUSCARIELLO Luca IMT/OLN
2015-02-25 16:09                       ` Mikael Abrahamsson
2015-02-25 17:34                         ` MUSCARIELLO Luca IMT/OLN
2015-02-25 17:56                           ` Jonathan Morton
2015-02-26 12:54                           ` Mikael Abrahamsson
2015-02-26 14:06                             ` MUSCARIELLO Luca IMT/OLN
2015-02-26 14:18                               ` Mikael Abrahamsson
2015-02-26 15:18                                 ` MUSCARIELLO Luca IMT/OLN
2015-02-26 17:04                                   ` Dave Taht
2015-02-26 18:07                                     ` Dave Taht
2015-02-26 18:33                                     ` [Bloat] RE : " luca.muscariello
2015-02-26 18:59                                     ` [Bloat] " Mikael Abrahamsson
2015-02-26 19:44                                       ` Bill Ver Steeg (versteb)
2015-02-26 20:42                                         ` Jonathan Morton
2015-02-26 21:50                                       ` Dave Taht
2015-02-25 16:54                     ` Sebastian Moeller
2015-02-25 10:54               ` Michael Welzl
2015-02-25 11:24                 ` Toke Høiland-Jørgensen
2015-02-25 12:08                   ` Jonathan Morton
2015-02-25 19:04                 ` David Lang
2015-02-25 19:30                   ` Michael Welzl
2015-02-25  9:31         ` Alex Elsayed
2015-02-25 10:37           ` Michael Welzl
2015-02-25 10:54             ` Alex Elsayed
2015-02-25 17:28           ` Bob Briscoe
2015-02-25 18:03             ` Dave Taht
2015-02-26  9:36             ` Sebastian Moeller
2015-02-25 17:57     ` Dave Taht
2015-02-25 19:25 Hal Murray
2015-02-25 20:00 ` Jonathan Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=FC82EEB0-5E7E-473F-B9B3-2BFEC06C7689@ifi.uio.no \
    --to=michawe@ifi.uio.no \
    --cc=bloat@lists.bufferbloat.net \
    --cc=eternaleye@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox