From: Jonathan Morton <chromatix99@gmail.com>
To: Greg White <g.white@CableLabs.com>
Cc: "David P. Reed" <dpreed@deepplum.com>,
Vint Cerf <vint@google.com>,
"ecn-sane@lists.bufferbloat.net" <ecn-sane@lists.bufferbloat.net>,
bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Ecn-sane] [Bloat] [iccrg] Fwd: [tcpPrague] Implementation and experimentation of TCP Prague/L4S hackaton at IETF104
Date: Tue, 19 Mar 2019 07:35:35 +0200 [thread overview]
Message-ID: <93781542-6DD4-4840-A1C6-A5C28E40A0F7@gmail.com> (raw)
In-Reply-To: <D877D6D5-9CF0-45C7-AE61-37422410DED4@cablelabs.com>
> • SCE will only work if the bottleneck link implements fq. Some bottleneck network gear will not be able to implement fq or will not implement it due to its undesirable side effects (see section 6 of RFC 8290).
> SCE leverages a paragraph in a draft that describes a first guess about how a congestion controller might work.
We have an update in the works that should enable RTT-fair convergence with single-queue AQMs, whether they support SCE or not. To do this using the simplest reasonable adjustments to existing congestion control algorithms, the setpoint is no longer fixed at 50% but varies with the cwnd of each flow. And yes, we have worked out what those adjustments should look like in practice, but we haven't yet had time to run tests, or describe them in a nicely formatted I-D.
This update should also allow a very DCTCP-like congestion control algorithm to work correctly with SCE, as long as it acts conventionally with CE marks and only has the reduced response to SCE marks. That's something that DCTCP itself currently does not do.
> • SCE’s usage of ECT(1) potentially allows an automatic fallback to traditional Cubic behavior if the bottleneck link is a single-queue classic-ECN AQM (do any of these exist?), whereas L4S will need to detect such a condition via RTT measurement
From my standpoint, the major objection to L4S is that it is not incrementally deployable, because DCTCP starves conventional TCPs unless run through an isolated queue. This is something we quickly realised when L4S was first announced. It is simply not practical to require all middleboxes on the path to support L4S before L4S endpoints can safely be deployed, except in the isolated and very controlled environments where DCTCP was "proved".
> I find it extremely disappointing that some people on this list are taking such a negative attitude to the major development in their own field that they seem not to have noticed since it first hit the limelight in 2015.
It is not at all true that we were unaware of L4S. Rather, we quite reasonably believed it would never get traction in the IETF or in the Internet at large unless that problem was robustly solved - and we thought the obvious solution *was* to use ECT(1) as SCE does, and to fix Diffserv (so that it becomes e2e usable to some degree) or implement FQ if isolating low-latency-assured traffic is so important.
Incidentally, during that time we were implementing a good FQ system that is now in Linux and in commercial products. Granted, it isn't designed for the sort of high-capacity links where FQ is traditionally considered impractical.
> L4S has defined a congestion feedback mechanism so that these congestion signals can get back to the sender. SCE offers that “we’ll propose something later”.
It should be straightforward to adjust AccECN so that it primarily carries SCE information instead of unnecessarily detailed CE information. That's one obvious solution, which we hoped those already familiar with L4S would recognise without explicit prompting.
We have outlines of other feedback methods, still awaiting conversion to the proper document format, including one that doesn't require a new TCP option (I understand there are objections to such things, centred around paranoid firewalls) and which existing middleboxes and endpoints will transparently ignore (like the rest of SCE). It uses the NS bit which was also freed up by the obsoleting of Nonce Sum.
The I-D presently available defines the SCE codepoint and very little else. This is due to separation of concerns. Other I-Ds will define feedback mechanisms, detailed modifications to congestion control algorithms, and recommendations as to what AQMs should do.
Perhaps if we get a chance to work, instead of responding to manufactured outrage that we dare to propose something different, these extra documents might surface in time for discussion.
- Jonathan Morton
next prev parent reply other threads:[~2019-03-19 5:35 UTC|newest]
Thread overview: 63+ 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 ` [Ecn-sane] " Dave Taht
[not found] ` <1E80578D-A589-4CA0-9015-B03B63042355@gmx.de>
2019-03-15 14:06 ` [Ecn-sane] [Bloat] " Dave Taht
2019-03-15 15:52 ` Sebastian Moeller
2019-03-15 17:01 ` 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 4:44 ` Greg White
2019-03-19 5:35 ` Jonathan Morton [this message]
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
[not found] ` <5458c216-07b9-5b06-a381-326de49b53e0@bobbriscoe.net>
[not found] ` <AC14ACBB-A7CC-40E0-882C-2519D05ADC05@akamai.com>
[not found] ` <5C9296E1.4010703@erg.abdn.ac.uk>
[not found] ` <F62C4839-0489-475F-AD8F-58913EEEEC0F@gmail.com>
[not found] ` <FDA48F4C-415B-4B8E-9CC7-2AAAD4DC3BE8@cablelabs.com>
2019-03-20 22:12 ` [Ecn-sane] [Bloat] [tsvwg] " 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 ` Mikael Abrahamsson
2019-03-21 8:31 ` Mikael Abrahamsson
2019-03-20 23:30 ` Sebastian Moeller
2019-03-21 0:15 ` Holland, Jake
2019-03-16 22:03 ` [Ecn-sane] [Bloat] " 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 ` Jonathan Morton
2019-03-15 14:44 ` Sebastian Moeller
2019-03-15 15:49 ` Jonathan Morton
2019-03-15 21:34 ` Wesley Eddy
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=93781542-6DD4-4840-A1C6-A5C28E40A0F7@gmail.com \
--to=chromatix99@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=dpreed@deepplum.com \
--cc=ecn-sane@lists.bufferbloat.net \
--cc=g.white@CableLabs.com \
--cc=vint@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