Discussion of explicit congestion notification's impact on the Internet
 help / color / mirror / Atom feed
From: Neal Cardwell <ncardwell@google.com>
To: Sebastian Moeller <moeller0@gmx.de>
Cc: flent-users <flent-users@flent.org>,
	Jonathan Morton <chromatix99@gmail.com>,
	 BBR Development <bbr-dev@googlegroups.com>,
	ECN-Sane <ecn-sane@lists.bufferbloat.net>
Subject: Re: [Ecn-sane] [Flent-users] [bbr-dev] duplicating the BBRv2 tests at iccrg in flent?
Date: Mon, 8 Apr 2019 21:33:13 -0400	[thread overview]
Message-ID: <CADVnQy=xLA19j1z_AvvUmLhVgWepkpujvkn=bKXt+_1uEzai8A@mail.gmail.com> (raw)
In-Reply-To: <E9573606-389E-4521-9B40-3DA27FDCBAD4@gmx.de>

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

On Sat, Apr 6, 2019 at 10:38 AM Sebastian Moeller <moeller0@gmx.de> wrote:

> Hii Neal,
>
>
> On April 6, 2019 1:56:06 PM GMT+02:00, Neal Cardwell <ncardwell@google.com>
> wrote:
> >On Fri, Apr 5, 2019 at 12:20 PM Jonathan Morton <chromatix99@gmail.com>
> >wrote:
> >
> >> > On 5 Apr, 2019, at 6:10 pm, 'Neal Cardwell' via BBR Development <
> >> bbr-dev@googlegroups.com> wrote:
> >> >
> >> > Right. I didn't mean setting the codel target to 242us. Where the
> >slide
> >> says "Linux codel with ECN ce_threshold at 242us sojourn time" I
> >literally
> >> mean a Linux machine with a codel qdisc configured as:
> >> >
> >> >   codel ce_threshold 242us
> >>
> >> I infer from this that BBR's new ECN support won't work properly with
> >> standard CE marking behaviour, only with the sort of signal that
> >DCTCP
> >> requires.  Is that accurate?
> >>
> >
> >Yes, that's correct. Thus far BBR v2 is targeting only DCTCP/L4S-style
> >ECN.
>
>         Out of curiosity, given that BBR intentionally interprets lost
> packets as a lossy path instead of a signal send by an AQM to slow down,
> why do think that dctcp style ECN is a good fit? In classic ECN the CE mark
> is exactly the signal BBR should get to have a higher confidence that
> ignoring lost packets is acceptable, in dctcp it will take a while to
> convey the same signal, no?  I wonder if one is willing to change ECN
> semantics already, by making CELighter weight than a packetdrop, why not
> also using an explicit signal for emergency brake? I can't help but notice
> that both dctcp and tcpprague face the same problem, but at least they seem
> to be willing to take a Paket drop at face value...
>

I think the L4S team has done a nice job of outlining the problems with
RFC-3168-style ECN, so I will just quote their explanation:

https://tools.ietf.org/html/draft-briscoe-tsvwg-l4s-arch-01#section-5.1

5 <https://tools.ietf.org/html/draft-briscoe-tsvwg-l4s-arch-01#section-5>.
Rationale
5.1 <https://tools.ietf.org/html/draft-briscoe-tsvwg-l4s-arch-01#section-5.1>.
Why These Primary Components?

   Explicit congestion signalling (protocol):  Explicit congestion
      signalling is a key part of the L4S approach.  In contrast, use of
      drop as a congestion signal creates a tension because drop is both
      a useful signal (more would reduce delay) and an impairment (less
      would reduce delay).  Explicit congestion signals can be used many
      times per round trip, to keep tight control, without any
      impairment.  Under heavy load, even more explicit signals can be
      applied so the queue can be kept short whatever the load.  Whereas
      state-of-the-art AQMs have to introduce very high packet drop at
      high load to keep the queue short.  Further, TCP's sawtooth
      reduction can be smaller, and therefore return to the operating
      point more often, without worrying that this causes more signals
      (one at the top of each smaller sawtooth).  The consequent smaller
      amplitude sawteeth fit between a very shallow marking threshold
      and an empty queue, so delay variation can be very low, without
      risk of under-utilization.

      All the above makes it clear that explicit congestion signalling
      is only advantageous for latency if it does not have to be
      considered 'the same as' drop (as required with Classic ECN

        [RFC3168 <https://tools.ietf.org/html/rfc3168>]). ...

best,
neal

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

  reply	other threads:[~2019-04-09  1:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-05  7:42 [Ecn-sane] " Dave Taht
2019-04-05 15:10 ` [Ecn-sane] [bbr-dev] " Neal Cardwell
2019-04-05 15:51   ` Dave Taht
2019-04-05 16:58     ` Neal Cardwell
2019-04-05 16:20   ` Jonathan Morton
2019-04-06 11:56     ` Neal Cardwell
2019-04-06 14:37       ` [Ecn-sane] [Flent-users] " Sebastian Moeller
2019-04-09  1:33         ` Neal Cardwell [this message]
2019-04-09  2:09           ` Jonathan Morton
2019-04-09  6:30           ` Sebastian Moeller
2019-04-09 14:33             ` Neal Cardwell
2019-04-09 17:20               ` Sebastian Moeller
2019-04-06 11:49   ` [Ecn-sane] " Dave Taht
2019-04-06 12:31     ` Neal Cardwell

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='CADVnQy=xLA19j1z_AvvUmLhVgWepkpujvkn=bKXt+_1uEzai8A@mail.gmail.com' \
    --to=ncardwell@google.com \
    --cc=bbr-dev@googlegroups.com \
    --cc=chromatix99@gmail.com \
    --cc=ecn-sane@lists.bufferbloat.net \
    --cc=flent-users@flent.org \
    --cc=moeller0@gmx.de \
    /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