General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: "Bill Ver Steeg (versteb)" <versteb@cisco.com>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>,
	"Mikael Abrahamsson" <swmike@swm.pp.se>
Cc: "bloat@lists.bufferbloat.net" <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] RED against bufferbloat
Date: Wed, 25 Feb 2015 18:39:01 +0000	[thread overview]
Message-ID: <AE7F97DB5FEE054088D82E836BD15BE931949DF0@xmb-aln-x05.cisco.com> (raw)
In-Reply-To: <87pp8yfe0s.fsf@toke.dk>


Regarding the statement
> We're not going to see FQ_CODEL on a 200 interface large router 
> designed to push 100 gigabit/s of traffic, at least not in any 
> interesting price point.

There are two points under the covers here. I would say a 2 more accurate statements would be -

1- "We are unlikely to see any AQM scheme that includes many queues in a core router." This includes FQ_CODEL, FQ_PIE, and any other scheme that uses a statistical hashing of flows into a large number of queues. The required silicon to support so many queues is simply too expensive. There may be new silicon designs that make this more feasible, but this is non-trivial.
2- "There are several AQMs under consideration for use in a core router. There are advantages to <doing work> at enqueue time rather than dequeue time, and this may drive some designs." In other words, AQM algorithms that are similar to PIE are likely to be in large aggregation devices (like a CMTS) and core routers. You could probably design new silicon that did work at de-queue time, but that is simply not how the current designs operate. 

The good news is that as we debate the relative merits of the new AQM schemes, they are all MUCH better than the legacy algorithms. Putting FQ_XXX (where XXX== CODEL today, and perhaps other algorithms in the future) into devices that do queue management in software is a big win. Putting CODEL/PIE (using a handful of QOS mapped queues, using microcode running on current generation silicon) into the big iron is also a big win.

So, let's get modern AQM pushed into all of the devices. One design will not fit all devices........


Bill Ver Steeg
DISTINGUISHED ENGINEER 
versteb@cisco.com












-----Original Message-----
From: bloat-bounces@lists.bufferbloat.net [mailto:bloat-bounces@lists.bufferbloat.net] On Behalf Of Toke Høiland-Jørgensen
Sent: Wednesday, February 25, 2015 6:05 AM
To: Mikael Abrahamsson
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] RED against bufferbloat

Mikael Abrahamsson <swmike@swm.pp.se> writes:

> To me, FQ is important especially for lower speeds. This also maps 
> well into the CPU based nature of FQ (that it's hard to do in 
> "silicon").

Well my research has been mainly focused on the consumer / edge case.
I.e. things a Linux box can drive in hardware, so up to 100Mbit to a Gbit depending on the size of the box. In these cases, fq_codel adds no measurable overhead compared to the CPU load of just pushing the packets.

> We're not going to see FQ_CODEL on a 200 interface large router 
> designed to push 100 gigabit/s of traffic, at least not in any 
> interesting price point.

Maybe not; but note that recent work in the Linux kernel makes it quite capable of pushing 40GigE, and I believe sched_fq (which does 'real'
fairness queueing with a queue per flow, not hash buckets as fq_codel
does) has been shown to scale to millions of concurrent flows.

> Can we do bidirectional traffic FQ_CODEL on the CPE to try to achieve 
> basically zero loss in the AR policer for any normal kind of use 
> scenario using TCP. I have not seen any simulations looking at this.

Well this is basically what we're doing with the SQM scripts in CeroWRT:
put a software rate limiter in the CPE and configure it to a slightly lower value than whatever the cable/DSL modem runs at. This works quite well, but the software rate limiter is fairly CPU hungry, so small boxes struggle. I had to substitute a full x86 box for my Netgear router to run at 100Mbit for my home connection.

> Because my belief is that even though we might say we love FQ here, 
> we're not going to see high speed FQ on higher end ISP aggregation 
> routers. So if we want FQ, we're going to have to do it in the CPEs.

Well OpenWRT turns on fq_codel by default now. :)

And yeah, I'm not holding by breath for big iron vendors to include fq_codel in their products. But that doesn't mean it can't go into CPEs.
And end hosts and access points. And inside tunnels (VPN daemons for instance).

-Toke
_______________________________________________
Bloat mailing list
Bloat@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/bloat

  reply	other threads:[~2015-02-25 18:39 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
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) [this message]
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=AE7F97DB5FEE054088D82E836BD15BE931949DF0@xmb-aln-x05.cisco.com \
    --to=versteb@cisco.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=swmike@swm.pp.se \
    --cc=toke@toke.dk \
    /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