Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: "David P. Reed" <dpreed@deepplum.com>
Cc: cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>,
	 Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] [Cerowrt-devel] https://tools.ietf.org/html/draft-ietf-tsvwg-le-phb-06 is in last call
Date: Sun, 3 Feb 2019 16:17:48 -0800	[thread overview]
Message-ID: <CAA93jw4knF_fZnxLtTUUcv2ofyMeh_VcchFoLU1rfTPWKc-otw@mail.gmail.com> (raw)
In-Reply-To: <1549233729.17269312@apps.rackspace.com>

On Sun, Feb 3, 2019 at 2:42 PM David P. Reed <dpreed@deepplum.com> wrote:
>
> Well, you all know that I think of diffserv as an abortion. It's based on thinking that assumes central, hierachical adminstrative agreements among what should be autonomous systems.

I too think diffserv is terrible. On the other hand, I do think there
is room for 4 levels of priority in a network - priority (for packets
like link layer control and urgent network/maint packets), best
effort, background, and - as this specifies - least effort.

Cake, I think, makes the best possible tradeoffs by layering the
diffserv spec into 3 or 4 priorities by default, and optimizing for
"sparse" flows always. Even without diffserv it accomplishes what's
needed.

It would have been nice to have more bits for ECN and less for diffserv.

> Yeah, at layer 2 for packets that stay within an administratively uniform domain, diffserv can be useful.

The problem with repurposing CS1 for "background" is that many
networks to this day give CS1 more priority than CS0. So the new LE
codepoint - so long as it is not treated as "starve this" e2e - seems
useful.

>
> But even "Paris Metro" scheduling (2 classes, priced dynamically) is highly unstable.

If you would like to evaluate these

https://datatracker.ietf.org/doc/draft-ietf-tsvwg-aqm-dualq-coupled/

https://datatracker.ietf.org/doc/draft-ietf-tsvwg-ecn-l4s-id/

it would help. Earlier this month I plowed through the current state
of this and decided that it was perhaps, time, to
pursue the "some congestion experienced" and ELR proposals jonathan
had for the ECN bits.

> And the nature of networks is that they MUST operate almost all the time well below their capacity. (This is true of packet nets, railroads, highways, ...). It's called the "Mother's Day problem". When Mother's Day happens, you should have enough capacity to absorb vast demand. Therefore what you do all the other days doesn't matter. And on Mother's Day, if you have congestion, there's no way in hell that anybody is happy.
>
> This fairy story about traffic giving way to higher priority traffic being a normal mode of operation is just that. A made up story, largely used by folks who want to do selective pricing based on what customers are willing to pay, not on value received. (that's a business story, thouhg - like the Xerox machines that were supposed to charge more for billion dollar real estate contract copies and less for notices to put up near coffee machines - Xerox wanted a share of the real-estate business cash flow).

That's a great background story. Got a source?

> Which doesn't mean that there might not be better ways to do large scale traffic engineering balancing of flows - but that's not an end-to-end problem. It's a network management problem that involves changing routing tables.
>
> -----Original Message-----
> From: "Dave Taht" <dave.taht@gmail.com>
> Sent: Sunday, February 3, 2019 1:39pm
> To: "cerowrt-devel" <cerowrt-devel@lists.bufferbloat.net>, "Cake List" <cake@lists.bufferbloat.net>
> Subject: [Cerowrt-devel] https://tools.ietf.org/html/draft-ietf-tsvwg-le-phb-06 is in last call
>
> And seems likely to be adopted.
>
> There seems to be an urge to make this codepoint starvable, which
> since I ascribe to nagle's dictum "every application has a right to
> one packet in the network" - doesn't work for me - but the draft is
> vaguely worded enough to just start dumping this codepoint into the
> background queue of both sqm and cake and worry about it in a decade
> or three.
>
> it's 000001 which I guess is:
>
> diff --git a/sch_cake.c b/sch_cake.c
> index 3a26db0..67263b3 100644
> --- a/sch_cake.c
> +++ b/sch_cake.c
> @@ -343,7 +343,7 @@ static const u8 diffserv4[] = {
>  };
>
>  static const u8 diffserv3[] = {
> -       0, 0, 0, 0, 2, 0, 0, 0,
> +       0, 1, 0, 0, 2, 0, 0, 0,
>         1, 0, 0, 0, 0, 0, 0, 0,
>         0, 0, 0, 0, 0, 0, 0, 0,
>         0, 0, 0, 0, 0, 0, 0, 0,
>
> (or is that reversed? my big endian/little endian chops scuks, and
> nobody modified the gen_cake_const tool to match what cake expects
> now)
>
> on my off days I kind of wish the diffserv lookup we do in cake had
> managed to make it into the linux mqprio/prio stuff by default.
>
> --
>
> Dave Täht
> CTO, TekLibre, LLC
> http://www.teklibre.com
> Tel: 1-831-205-9740
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>
>


-- 

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740

  reply	other threads:[~2019-02-04  0:18 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-03 18:39 [Cake] " Dave Taht
2019-02-03 20:02 ` [Cake] [Cerowrt-devel] " Jonathan Morton
2019-02-03 22:42 ` David P. Reed
2019-02-04  0:17   ` Dave Taht [this message]
2019-02-04  1:12   ` Jonathan Morton
2019-02-04  6:02   ` Mikael Abrahamsson
2019-02-04  6:58     ` Dave Taht
2019-02-04  7:11       ` Mikael Abrahamsson
2019-02-04 10:23         ` Dave Taht
2019-02-04 10:34           ` Mikael Abrahamsson
2019-02-04 10:40             ` Dave Taht
2019-08-21 15:07 ` [Cake] " Dave Taht
2019-08-21 16:38   ` Kevin Darbyshire-Bryant
2019-08-21 16:52     ` [Cake] [Cerowrt-devel] " Dave Taht
2019-08-22  6:11       ` Mikael Abrahamsson

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/cake.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=CAA93jw4knF_fZnxLtTUUcv2ofyMeh_VcchFoLU1rfTPWKc-otw@mail.gmail.com \
    --to=dave.taht@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=dpreed@deepplum.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