[Ecn-sane] [Bloat] [iccrg] Fwd: [tcpPrague] Implementation and experimentation of TCP Prague/L4S hackaton at IETF104

Jonathan Morton chromatix99 at gmail.com
Tue Mar 19 01:35:35 EDT 2019


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



More information about the Ecn-sane mailing list