Discussion of explicit congestion notification's impact on the Internet
 help / color / mirror / Atom feed
From: Sebastian Moeller <moeller0@gmx.de>
To: Neal Cardwell <ncardwell@google.com>
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: Tue, 09 Apr 2019 08:30:14 +0200	[thread overview]
Message-ID: <29981DF0-B15C-4A74-82F1-F3929F7DE66E@gmx.de> (raw)
In-Reply-To: <CADVnQy=xLA19j1z_AvvUmLhVgWepkpujvkn=bKXt+_1uEzai8A@mail.gmail.com>

Hi Neal,

On April 9, 2019 3:33:13 AM GMT+02:00, Neal Cardwell <ncardwell@google.com> wrote:
>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:

I guess I was too subtle.... The following is in no way incompatible with what I wrote. The point I wanted to make is that redefining CE without also introducing an equivalent of 'stop hard, ASAP' is an incomplete solution. Once you introduce the missing signal the SCE proposal is a better fit than L4S.
Also both BBR and L4S both aim at basically ignoring drops as immediate signals, both for good reasons like better throughput on links with spurious drops and some reordering tolerance. 
IMHO it is wonderfully absurd in that light to try to basically shoehorn a dctcp style CE-marker into the internet, which does not allow to carry as quickly a stop hard signal as tcp-friendly ECN does today. To repeat the argument is not against finer-grained load information from the bottleneck, but rather against doing only half the job and falling short of solving the problem.
The rationale below would maybe make sense if all the internet's bottlenecks would talk dctcp style ECN, but until then the rationale falls apart.

Best Regards

>
>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

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

  parent reply	other threads:[~2019-04-09  6:31 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
2019-04-09  2:09           ` Jonathan Morton
2019-04-09  6:30           ` Sebastian Moeller [this message]
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=29981DF0-B15C-4A74-82F1-F3929F7DE66E@gmx.de \
    --to=moeller0@gmx.de \
    --cc=bbr-dev@googlegroups.com \
    --cc=chromatix99@gmail.com \
    --cc=ecn-sane@lists.bufferbloat.net \
    --cc=flent-users@flent.org \
    --cc=ncardwell@google.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