From: Luca Muscariello <muscariello@ieee.org>
To: "ecn-sane@lists.bufferbloat.net" <ecn-sane@lists.bufferbloat.net>,
tsvwg IETF list <tsvwg@ietf.org>
Subject: Re: [Ecn-sane] CNQ cheap-nasty-queuing (was per-flow queuing)
Date: Tue, 23 Jul 2019 13:35:49 +0200 [thread overview]
Message-ID: <CAH8sseQ5SG2vy0t5y9m9C+jEpp19WP7pfVn92+TpaVXrRAUQUQ@mail.gmail.com> (raw)
In-Reply-To: <8741152A-EBF0-48F4-A123-B34A638322A1@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3059 bytes --]
Starting a new thread as it looks like this new proposal can be
integrated in a modular way with several other loosely coupled
components by just using two hardware queues, which are
already available in current HW.
Modifications would just be in the ingress enqueue time “self-classifier”.
It also looks like possible to append different optional packet droppers
to the backlogged queue such as AFD or others to provide
some level of flow protection to backlogged flows as well.
On Tue, Jul 23, 2019 at 7:01 AM Jonathan Morton <chromatix99@gmail.com>
wrote:
>
> It is true that SCE doesn't inherently carry a label distinguishing its
> traffic from the general set, and thus DualQ cannot be directly applied to
> it. But there is a straightforward way to perform this labelling if
> required, right next door in the Diffserv field. The recently proposed NQB
> DSCP would likely be suitable. I don't think that the majority of
> potential SCE users would need or even want this distinction (the primary
> benefit of SCE being better link utilisation by eliminating the traditional
> deep sawtooth), but the mechanism exists, orthogonally to SCE itself.
>
> I have also drawn up, as a straw-man proposal, CNQ - Cheap Nasty Queuing:
>
>
> https://tools.ietf.org/html/draft-morton-tsvwg-cheap-nasty-queueing-00
>
> This is a single-queue AQM, plus a side channel for prioritising sparse
> flows, although the definition of "sparse" is much stricter than for a true
> FQ implementation (even LFQ). In essence, CNQ treats a flow as sparse if
> its inter-packet gap is greater than the sojourn time of the main queue,
> and does not attempt to enforce throughput fairness. This is probably
> adequate to assist some common latency-sensitive protocols, such as ARP,
> SSH, NTP and DNS, as well as the initial handshake of longer-lived bulk
> flows. You will also notice that there is support for SCE in the
> application of AQM, though the AQM algorithm itself is only generically
> specified.
>
> In common with a plain single-queue AQM, CNQ will converge to approximate
> fairness between TCP-friendly flows, while keeping typical latencies under
> reasonable control. Aggressive or meek flows will also behave as expected
> for a single queue, up to a limit where an extremely meek flow might fall
> into the sparse queue and thus limit its ability to give way. This limit
> will relatively depend on the latency maintained in the main queue, and
> will probably be several times less than the fair share.
>
> I hope this serves to illustrate that I'm not against single-queue AQMs in
> an appropriate context, but that their performance limitations need to be
> borne in mind. In particular, I consider a single-queue AQM (or CNQ) to be
> a marked improvement over a dumb FIFO at any bottleneck.
>
> - Jonathan Morton
>
> _______________________________________________
> Ecn-sane mailing list
> Ecn-sane@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/ecn-sane
>
[-- Attachment #2: Type: text/html, Size: 3752 bytes --]
next prev parent reply other threads:[~2019-07-23 11:36 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-19 14:12 [Ecn-sane] per-flow scheduling Bob Briscoe
2019-06-19 14:20 ` [Ecn-sane] [tsvwg] " Kyle Rose
2019-06-21 6:59 ` [Ecn-sane] " Sebastian Moeller
2019-06-21 9:33 ` Luca Muscariello
2019-06-21 20:37 ` [Ecn-sane] [tsvwg] " Brian E Carpenter
2019-06-22 19:50 ` David P. Reed
2019-06-22 20:47 ` Jonathan Morton
2019-06-22 22:03 ` Luca Muscariello
2019-06-22 22:09 ` David P. Reed
2019-06-22 23:07 ` Jonathan Morton
2019-06-24 18:57 ` David P. Reed
2019-06-24 19:31 ` Jonathan Morton
2019-06-24 19:50 ` David P. Reed
2019-06-24 20:14 ` Jonathan Morton
2019-06-25 21:05 ` David P. Reed
2019-06-24 21:25 ` Luca Muscariello
2019-06-26 12:48 ` Sebastian Moeller
2019-06-26 16:31 ` David P. Reed
2019-06-26 16:53 ` David P. Reed
2019-06-27 7:54 ` Sebastian Moeller
2019-06-27 7:49 ` Sebastian Moeller
2019-06-27 20:33 ` Brian E Carpenter
2019-06-27 21:31 ` David P. Reed
2019-06-28 7:49 ` Toke Høiland-Jørgensen
2019-06-27 7:53 ` Bless, Roland (TM)
2019-06-22 21:10 ` Brian E Carpenter
2019-06-22 22:25 ` David P. Reed
2019-06-22 22:30 ` Luca Muscariello
2019-07-17 21:33 ` [Ecn-sane] " Sebastian Moeller
2019-07-17 22:18 ` David P. Reed
2019-07-17 22:34 ` David P. Reed
2019-07-17 23:23 ` Dave Taht
2019-07-18 0:20 ` Dave Taht
2019-07-18 5:30 ` Jonathan Morton
2019-07-18 15:02 ` David P. Reed
2019-07-18 16:06 ` Dave Taht
2019-07-18 4:31 ` Jonathan Morton
2019-07-18 15:52 ` David P. Reed
2019-07-18 18:12 ` [Ecn-sane] [tsvwg] " Dave Taht
2019-07-18 5:24 ` [Ecn-sane] " Jonathan Morton
2019-07-22 13:44 ` Bob Briscoe
2019-07-23 5:00 ` Jonathan Morton
2019-07-23 11:35 ` Luca Muscariello [this message]
2019-07-23 20:14 ` Bob Briscoe
2019-07-23 22:24 ` Jonathan Morton
2019-07-23 15:12 ` [Ecn-sane] [tsvwg] " Kyle Rose
2019-07-25 19:25 ` Holland, Jake
2019-07-27 15:35 ` Kyle Rose
2019-07-27 19:42 ` 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/ecn-sane.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAH8sseQ5SG2vy0t5y9m9C+jEpp19WP7pfVn92+TpaVXrRAUQUQ@mail.gmail.com \
--to=muscariello@ieee.org \
--cc=ecn-sane@lists.bufferbloat.net \
--cc=tsvwg@ietf.org \
/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