General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Sebastian Moeller <moeller0@gmx.de>
To: Bob Briscoe <ietf@bobbriscoe.net>
Cc: Jonathan Morton <chromatix99@gmail.com>,
	tsvwg IETF list <tsvwg@ietf.org>,
	bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] [Ecn-sane] [iccrg] Fwd: [tcpPrague] Implementation and experimentation of TCP Prague/L4S hackaton at IETF104
Date: Thu, 21 Mar 2019 09:45:18 +0100	[thread overview]
Message-ID: <5427B3D9-BA3E-45A3-A678-73378B64FC22@gmx.de> (raw)
In-Reply-To: <f331e710-ed2c-8628-4c82-f162d9cc8763@bobbriscoe.net>



> On Mar 21, 2019, at 07:04, Bob Briscoe <ietf@bobbriscoe.net> wrote:
> 
> [...]
> As regards the desire to use SCE instead of the L4S approach of using a classifier, please answer all the reasons I gave for why that won't work, which I sent in response to your draft some days ago.

	Is there any work planned showing why the heuristic based on CE is not going to cause problems? Because as it stands ECT(1) might be a useful piece of information for a traffic classifier, but it certainly is not a reliable traffic category identifier (unless you are interested in the category: packets that promise to respond in the L4S-way if they should encounter congestion).

> The main one is incremental deployment: the source does not identify its packets as distinct from others, so the source needs the network to use some other identifier if it wants the network to put it in a queue with latency that is isolated from packets not using the scheme. The only way I can see to so this would be to use per-flow-queuing. I think that is an unstated assumption of SCE.

	You write a whole section on alternative labeling schemes in https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-l4s-id-05#appendix-B that you rule out, but that is based on hand-waving over the fact that CE-marking destroys the neat L4S labeling by ECT(1) scheme in two ways (mis-classifiaction of by AQM and mis-interpretation by end-point). 
You write: "Given shortage of codepoints, both L4S and classic ECN sides of an AQM would have to use the same CE codepoint to indicate that a packet had experienced congestion.  If a packet that had already been marked CE in an upstream buffer arrived at a subsequent AQM, this AQM would then have to guess whether to classify CE packets as L4S or classic ECN.  Choosing the L4S treatment would be a safer choice, because then a few classic packets might arrive early, rather than a few L4S packets  arriving late;" but in all honestly this simply assumes the rate of CE-marked packets of non-L4S flows will be low, otherwise your four Ls will suffer.

Regarding the second ambiguity you write:
"A.1.4.  Fall back to Reno-friendly congestion control on classic ECN bottlenecks [side note on https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-l4s-id-05#page-23 bottleneck appears in normal font instead of bold]
It would take time for endpoints to distinguish classic and L4S ECN marking.  An increase in queuing delay or in delay variation would be a tell-tale sign, but it is not yet clear where a line would be drawn between the two behaviours.  It might be possible to cache what was learned about the path to help subsequent attempts to detect the type of marking."
This has issues that IMHO need empirical data instead of hand-waving. Competent AQM solutions will control traffic rates without introducing massively increasing delays which will make it harder to do a heuristic based on RTT or RTT variation, this is the same mis-design LEDBAT suffers from, making inportant decisions based on un-reliable information... And trying to cache the L4S-ness of the active AQM assumes a steady-state behaviour of the network, which will not work for all cases.

> 
> In contrast, L4S works with either per-flow queuing or dualQ, so it is more appropriate for a wider spread of scenarios. Again, in that same unanswered email, I described a way L4S can use per-flow queuing, and Greg has since given pseudocode. There are other problems with doing the codepoints the SCE way round - pls see that email.
> 
> There has been a general statement that the SCE way round is purer. However, that concept is in the eye of the beholder. The SCE way round does not allow the ECN field to be used as a classifier,

	Nor does the proposed L4S interpretation, as elaborated above.

> so you don't get the benefit above about support for per-flow-queueing and dual queue. You also don't get the benefit of being able to relax resequencing in the network,

	I am still failing to grasp how this is supposed to work, and I had a look at the RACK RFC already. IMHO the link technology people should think about how much slack they require and ask the RACK developers to add that as a minimum to the specification, assuming it is reasonable. Say, lower level ARQ is expected to take 5ms worst-case, than ask RACK to specify a minimum reordering window of 10ms. The current RACK draft with re-ordering window bound to be <= RTT will not give reliable re-odering allowance to the lower levels unless they measure the RTT for each flow independently, I am sure that that is not going to fly...


> because the network has no classifier to look at.

	Same here CE-marked packets have no reliable label, and I assume that with L4S at steady-state and link capacity one can expect quite a number of CE-marked packets.
I begin to wonder whether there is a nomenclature mismatch here, and I have a definition of classification that is alien to the field here.

> For these, the SCE codepoint would need to be combined with a DSCP, and I assume you don't want to do that.
> 
> The L4S way round signifies an alternative meaning of the ECN field, which is exactly what it is. The problem of having to guess which type of packet a CE used to be has been roundly discussed at the IETF in TCPM and TSVWG WGs and it has been decided it is a non-problem

	This is not something to "decide" but something to experimentally test, but I guess I am just getting disillusioned how internet sausage is made...

Best Regards
	Sebastian

> if it is assumed to have been ECT(1) even if it was not - as written up in draft-ietf-ecn-l4s-id. And that discussion assumed TCP with 3DupACK reordering tolerance, not the more liberal use of RACK (or a RACK-like approach in other transports). With a RACK-like approach, it becomes even less of a problem.
> 
> 
> Bob
> 
>>  - Jonathan Morton
>> 
> 
> -- 
> ________________________________________________________________
> Bob Briscoe                               http://bobbriscoe.net/
> 
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat


  parent reply	other threads:[~2019-03-21  8:46 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <AM0PR07MB48198660539171737E4CCAB1E0730@AM0PR07MB4819.eurprd07.prod.outlook.com>
     [not found] ` <d91a6a71-5898-9571-2a02-0d9d83839615@bobbriscoe.net>
2019-03-15 10:46   ` [Bloat] " Dave Taht
2019-03-15 13:01     ` Sebastian Moeller
2019-03-15 14:06       ` Dave Taht
2019-03-15 15:52         ` Sebastian Moeller
2019-03-15 17:01           ` [Bloat] [Ecn-sane] " David P. Reed
2019-03-15 17:45             ` Sebastian Moeller
2019-03-15 18:36             ` Mikael Abrahamsson
2019-03-15 19:23               ` Sebastian Moeller
2019-03-15 19:32               ` Jonathan Morton
2019-03-15 19:44                 ` David P. Reed
2019-03-15 20:13                   ` Jonathan Morton
2019-03-15 23:43                     ` David P. Reed
2019-03-16  1:26                       ` Jonathan Morton
2019-03-16  7:38                       ` Sebastian Moeller
2019-03-16 18:56                         ` Michael Richardson
2019-03-15 20:28                 ` Jonathan Foulkes
2019-03-15 20:31                   ` Dave Taht
2019-03-15 23:45                     ` David P. Reed
2019-03-16  9:42                       ` Michael Welzl
2019-03-16 10:08                         ` Sebastian Moeller
2019-03-16 10:23                           ` Nils Andreas Svee
2019-03-16 14:55                             ` Jonathan Foulkes
2019-03-16 21:38               ` Holland, Jake
2019-03-16 21:57                 ` Vint Cerf
2019-03-16 22:03                   ` Dave Taht
2019-03-16 22:05                   ` Holland, Jake
2019-03-17 18:07                   ` David P. Reed
2019-03-17 18:05                     ` Vint Cerf
2019-03-19  1:06                     ` Bob Briscoe
2019-03-19  3:18                       ` Dave Taht
2019-03-20 19:04                       ` Holland, Jake
2019-03-20 19:58                         ` Stephen Hemminger
2019-03-20 20:05                           ` Holland, Jake
     [not found]                         ` <5C9296E1.4010703@erg.abdn.ac.uk>
2019-03-20 20:00                           ` [Bloat] [tsvwg] " Holland, Jake
2019-03-20 20:05                           ` Jonathan Morton
2019-03-20 20:55                             ` Greg White
2019-03-20 22:12                               ` Sebastian Moeller
2019-03-20 22:31                                 ` Jonathan Morton
2019-03-20 22:56                                   ` Sebastian Moeller
2019-03-20 23:03                                     ` Jonathan Morton
2019-03-20 23:11                                     ` Holland, Jake
2019-03-20 23:28                                       ` Jonathan Morton
2019-03-21  8:15                                         ` [Bloat] [Ecn-sane] [tsvwg] " Mikael Abrahamsson
2019-03-21  8:31                                           ` Mikael Abrahamsson
2019-03-20 23:30                                       ` [Bloat] [tsvwg] [Ecn-sane] " Sebastian Moeller
2019-03-21  0:15                                         ` Holland, Jake
2019-03-21  0:41                               ` Holland, Jake
2019-03-20 21:48                         ` [Bloat] " Greg White
2019-03-20 21:56                           ` Jonathan Morton
2019-03-20 22:38                           ` Holland, Jake
2019-03-20 22:56                             ` Greg White
2019-03-20 23:29                         ` Bob Briscoe
2019-03-20 23:51                           ` Jonathan Morton
2019-03-21  6:04                             ` Bob Briscoe
2019-03-21  7:46                               ` Jonathan Morton
2019-03-21  8:02                                 ` Bob Briscoe
2019-03-21  8:49                                   ` Bless, Roland (TM)
2019-03-21 13:24                                     ` Bob Briscoe
2019-03-22 12:53                                       ` Bless, Roland (TM)
2019-03-25  2:47                                         ` Bob Briscoe
2019-03-21  8:45                               ` Sebastian Moeller [this message]
2019-03-24 20:15                           ` alex.burr
2019-03-25  1:34                             ` Bob Briscoe
2019-03-27 17:52                               ` Alex Burr
2019-03-19  4:44                     ` Greg White
2019-03-19  5:35                       ` Jonathan Morton
2019-03-19  5:52                         ` Greg White
2019-03-19  7:10                           ` Jonathan Morton
2019-03-19  8:07                             ` Sebastian Moeller
2019-03-19  8:50                       ` Sebastian Moeller
2019-03-19 23:59                       ` Dave Taht
2019-03-20 10:17                         ` Sebastian Moeller
2019-03-16 22:03                 ` Jonathan Morton
2019-03-16 22:09                 ` Sebastian Moeller
2019-03-17 14:06                 ` Mikael Abrahamsson
2019-03-17 17:37                   ` Loganaden Velvindron
2019-03-17 17:40                     ` Toke Høiland-Jørgensen
2019-03-17 17:44                     ` Mikael Abrahamsson
2019-03-17 18:00                       ` Dave Taht
2019-03-17 19:38                     ` Rodney W. Grimes
2019-03-17 20:50                   ` Luca Muscariello
2019-03-17 21:51                     ` Toke Høiland-Jørgensen
2019-03-18  4:26                     ` Mikael Abrahamsson
2019-03-16  4:04             ` Jonathan Morton
2019-03-16  4:51               ` Dave Taht
2019-03-15 18:07         ` Mikael Abrahamsson
2019-03-15 14:27       ` [Bloat] " Jonathan Morton
2019-03-15 14:44         ` Sebastian Moeller
2019-03-15 15:49           ` Jonathan Morton
2019-03-15 21:34     ` Wesley Eddy
2019-03-22 18:28 [Bloat] [Ecn-sane] " Victor Hou
2019-03-23  8:02 ` Roland Bless
2019-03-23  8:54   ` Luca Muscariello
2019-03-23 10:02   ` Mikael Abrahamsson
2019-03-23 15:03     ` Jonathan Morton
2019-03-23 19:52       ` Roland Bless
2019-03-23 15:19     ` Roland Bless
2019-03-23 17:16       ` Mikael Abrahamsson
2019-03-23 19:45         ` Roland Bless
2019-03-23 17:48       ` Michael Welzl
2019-03-23 18:31         ` Luca Muscariello
2019-03-23 18:40           ` Mikael Abrahamsson
2019-03-23 19:11             ` Michael Welzl
2019-03-23 21:04             ` Luca Muscariello
2019-03-23 19:55         ` Roland Bless

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=5427B3D9-BA3E-45A3-A678-73378B64FC22@gmx.de \
    --to=moeller0@gmx.de \
    --cc=bloat@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=ietf@bobbriscoe.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