Re: [tsvwg] Neal Cardwell's rationale for supporting ECT(1) as an input/L4S signal

Roland Bless <roland.bless@kit.edu> Fri, 08 May 2020 17:12 UTC

Return-Path: <roland.bless@kit.edu>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B3F93A0D7A for <tsvwg@ietfa.amsl.com>; Fri, 8 May 2020 10:12:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QCwq6NCS3pND for <tsvwg@ietfa.amsl.com>; Fri, 8 May 2020 10:12:30 -0700 (PDT)
Received: from iramx2.ira.uni-karlsruhe.de (iramx2.ira.uni-karlsruhe.de [IPv6:2a00:1398:2::10:81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 825CC3A0D73 for <tsvwg@ietf.org>; Fri, 8 May 2020 10:12:30 -0700 (PDT)
Received: from i72vorta.tm.uni-karlsruhe.de ([141.3.71.26] helo=i72vorta.tm.kit.edu) by iramx2.ira.uni-karlsruhe.de with esmtpsa port 25 iface 141.3.10.8 id 1jX6Xz-0004UK-Je; Fri, 08 May 2020 19:12:27 +0200
Received: from [IPv6:::1] (localhost [127.0.0.1]) by i72vorta.tm.kit.edu (Postfix) with ESMTPS id 68953421445; Fri, 8 May 2020 19:12:27 +0200 (CEST)
To: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org>, tsvwg IETF list <tsvwg@ietf.org>
References: <CADVnQy=7f79Mj_GQBU-UsodTRORjB2U6rCPPQ+1Zck_gxr-rww@mail.gmail.com>
From: Roland Bless <roland.bless@kit.edu>
Autocrypt: addr=roland.bless@kit.edu; prefer-encrypt=mutual; keydata= mQINBFi0OxABEACy2VohJ7VhSu/xPCt4/6qCrw4Pw2nSklWPfAYEk1QgrbiwgvLAP9WEhAIU w45cojBaDxytIGg8eaYeIKSmsXjHGbV/ZTfo8r11LX8yPYR0WHiMWZpl0SHUd/CZIkv2pChO 88vF/2FKN95HDcp24pwONF4VhxJoSFk6c0mDNf8Em/Glt9BcWX2AAvizTmpQDshaPje18WH3 4++KwPZDd/sJ/hHSXiPg1Gdhs/OG/C0CJguOAlqbgSVAe3qKOr1M4K5M+wVpsk373pXRfxd7 ZAmZ05iBTn+LfgVcz+AfaKKcsWri5CdTT+7JDL6QNQpox+b5FXZFSHnEIST+/qzfG7G2LqqY mml6TYY8XbaNyXZP0QKncfSpRx8uTRWReHUa1YbSuOxXYh6bXpcugD25mlC/Lu0g7tz4ijiK iIwq9+P2H1KfAAfYyYZh6nOoE6ET0TjOjUSa+mA8cqjPWX99kEEgf1Xo+P9fx9QLCLWIY7zc mSM+vjQKgdUFpMSCKcYEKOuwlPuOz8bVECafxaEtJJHjCOK8zowe2eC9OM+G+bmtAO3qYcYZ hQ/PV3sztt/PjgdtnFAYPFLc9189rHRxKsWSOb4xPkRw/YQAI9l15OlUEpsyOehxmAmTsesn tSViCz++PCdeXrQc1BCgl8nDytrxW+n5w1aaE8aL3hn8M0tonQARAQABtChSb2xhbmQgQmxl c3MgKFRNKSA8cm9sYW5kLmJsZXNzQGtpdC5lZHU+iQJABBMBCAAqAhsDBQkSzAMABQsJCAcC BhUICQoLAgQWAgMBAh4BAheABQJYtYdHAhkBAAoJEKON2tlkOJXuzWkP+wfjUnDNzRm4r34a AMWepcQziTgqf4I1crcL6VD44767HhyFsjcKH31E5G5gTDxbpsM4pmkghKeLrpPo30YK3qb7 E9ifIkpJTvMu0StSUmcXq0zPyHZ+HxHeMWkosljG3g/4YekCqgWwrB62T7NMYq0ATQe1MGCZ TAPwSPGCUZT3ioq50800FMI8okkGTXS3h2U922em7k8rv7E349uydv19YEcS7tI78pggMdap ASoP3QWB03tzPKwjqQqSevy64uKDEa0UgvAM3PRbJxOYZlX1c3q/CdWwpwgUiAhMtPWvavWW Tcw6Kkk6e0gw4oFlDQ+hZooLv5rlYR3egdV4DPZ1ugL51u0wQCQG9qKIMXslAdmKbRDkEcWG Oi2bWAdYyIHhhQF5LSuaaxC2P2vOYRHnE5yv5KTV3V7piFgPFjKDW+giCRd7VGfod6DY2b2y zwidCMve1Qsm8+NErH6U+hMpMLeCJDMu1OOvXYbFnTkqjeg5sKipUoSdgXsIo4kl+oArZlpK qComSTPhij7rMyeu/1iOwbNCjtiqgb55ZE7Ekd84mr9sbq4Jm/4QGnVI30q4U2vdGSeNbVjo d1nqjf3UNzP2ZC+H9xjsCFuKYbCX6Yy4SSuEcubtdmdBqm13pxua4ZqPSI0DQST2CHC7nxL1 AaRGRYYh5zo2vRg3ipkEuQINBFi0OxABEAC2CJNp0/Ivkv4KOiXxitsMXZeK9fI0NU2JU1rW 04dMLF63JF8AFiJ6qeSL2mPHoMiL+fG5jlxy050xMdpMKxnhDVdMxwPtMiGxbByfvrXu18/M B7h+E1DHYVRdFFPaL2jiw+Bvn6wTT31MiuG9Wh0WAhoW8jY8IXxKQrUn7QUOKsWhzNlvVpOo SjMiW4WXksUA0EQVbmlskS/MnFOgCr8q/FqwC81KPy+VLHPB9K/B65uQdpaw78fjAgQVQqpx H7gUF1EYpdZWyojN+V8HtLJx+9yWAZjSFO593OF3/r0nDHEycuOjhefCrqr0DDgTYUNthOdU KO2CzT7MtweRtAf0n27zbwoYvkTviIbR+1lV1vNkxaUtZ6e1rtOxvonRM1O3ddFIzRp/Qufu HfPe0YqhEsrBIGW1aE/pZW8khNQlB6qt20snL9cFDrnB6+8kDG3e//OjK1ICQj9Y/yyrJVaX KfPbdHhLpsgh8TMDPoH+XXQlDJljMD0++/o7ckO3Sfa8Zsyh1WabyKQDYXDmDgi9lCoaQ7Lf uLUpoMvJV+EWo0jE4RW/wBGQbLJp5usy5i0fhBKuDwsKdLG3qOCf4depIcNuja6ZmZHRT+3R FFjvZ/dAhrCWpRTxZANlWlLZz6htToJulAZQJD6lcpVr7EVgDX/y4cNwKF79egWXPDPOvQAR AQABiQIlBBgBCAAPBQJYtDsQAhsMBQkSzAMAAAoJEKON2tlkOJXukMoP/jNeiglj8fenH2We 7SJuyBp8+5L3n8eNwfwY5C5G+etD0E6/lkt/Jj9UddTazxeB154rVFXRzmcN3+hGCOZgGAyV 1N7d8xM6dBqRtHmRMPu5fUxfSqrM9pmqAw2gmzAe0eztVvaM+x5x5xID2WZOiOq8dx9KOKrp Zorekjs3GEA3V1wlZ7Nksx/o8KZ04hLeKcR1r06zEDLN/yA+Fz8IPa0KqpuhrL010bQDgAhe 9o5TA0/cMJpxpLqHhX2As+5cQAhKDDsWJu3oBzZRkN7Hh/HTpWurmTQRRniLGSeiL0zdtilX fowyxGXH6QWi3MZYmpOq+etr7o4EGGbm2inxpVbM+NYmaJs+MAi/z5bsO/rABwdM5ysm8hwb CGt+1oEMORyMcUk/uRjclgTZM1NhGoXm1Un67+Rehu04i7DA6b8dd1H8AFgZSO2H4IKi+5yA Ldmo+ftCJS83Nf6Wi6hJnKG9aWQjKL+qmZqBEct/D2uRJGWAERU5+D0RwNV/i9lQFCYNjG9X Tew0BPYYnBtHFlz9rJTqGhDu4ubulSkbxAK3TIk8XzKdMvef3tV/7mJCmcaVbJ2YoNUtkdKJ goOigJTMBXMRu4Ibyq1Ei+d90lxhojKKlf9yguzpxk5KYFGUizp0dtvdNuXRBtYrwzykS6vB zTlLqHZ0pvGjNfTSvuuN
Organization: Institute of Telematics, Karlsruhe Institute of Technology (KIT)
Message-ID: <4b86712a-bc1e-cf40-12de-86032666ba1c@kit.edu>
Date: Fri, 08 May 2020 19:12:27 +0200
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060111 Thunderbird/1.5 Mnenhy/0.7.3.0
MIME-Version: 1.0
In-Reply-To: <CADVnQy=7f79Mj_GQBU-UsodTRORjB2U6rCPPQ+1Zck_gxr-rww@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US
X-ATIS-AV: ClamAV (iramx2.ira.uni-karlsruhe.de)
X-ATIS-Timestamp: iramx2.ira.uni-karlsruhe.de esmtpsa 1588957947.666085448
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/OvNLicWR24x0mBbZ7d7AdlvnhNE>
Subject: Re: [tsvwg] Neal Cardwell's rationale for supporting ECT(1) as an input/L4S signal
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 May 2020 17:12:34 -0000

Hi Neal and all,

see inline.

On 08.05.20 at 17:19 Neal Cardwell wrote:
> As part of the discussion around the consensus call on ECT(1), I
> wanted to post my personal rationale for supporting ECT(1) as an
> input/classification signal, along the lines of the L4S proposals.
>
> This is my personal opinion; I'm not speaking for any company or
> institution.
>
> Many of these points will echo the excellent points that were made at
> the TSVWG interim on April 27, by Greg White, Bob Briscoe, Jana
> Iyengar, Stuart Cheshire, and Andrew McGregor; I agree with all of the
> points they made. But for the sake of discussion and debate I wanted
> to amplify what they said and enumerate the particular considerations
> that are most compelling to me.

I had the feeling that this was more a discussion around L4S vs. SCE
proposals and not about the
ECT(1) codepoint in question. Several arguments were along the lines of
"L4S is more advanced
and needs to be finished as it already took too long". I don't think
that this is a good argument as
the L4S proposal could also use ECT(1) as output and use a DSCP as
classifier. See below.

>
> Here they are:
>
> - SCE is basically an extension of RFC3168 ECN: senders mark their
> packets ECT(0), and respond to CE like RFC 3168 says they should, by
> halving cwnd. This would not work well for large sites with a
> substantial installed base of shallow-threshold (DCTCP-style) ECN: if
> these sites marked their traffic with ECT(0) to try to use SCE, their
> local switches configured for shallow-threshold ECN would make CE
> marks at low queue occupancies, which would cause large RFC3681-style
> reductions in cwnd, which would cause underutilization. To the best of
> my knowledge this applies to several large Internet services.

Let's leave the classifier issue aside for a moment:
using ECT(1) as mark for "shallow-threshold exceeded (DCTCP-style)"
would make it
an unambiguous congestion signal. CE would still mean: use RFC3681-style
reduction.
These could even be mixed along a path (CE after ECT(1), but CE will
stay CE).
Sure: shallow-threshold switches need to use ECT(1) instead of CE then;
I have no clue how difficult this would be to change in the existing
deployed gear.
So the situation you are describing is caused by the semantic overload
for CE used for both types of marking (RFC3681-style and DCTCP-style).
The current solution is to distinguish the semantics by context (e.g.,
controlled environment/pure in-DC use), which doesn't allow DCTCP-style
marking and RFC3681-style marking for an
end-to-end connection at the same time, but using ECT(1) as output would
allow this.

> - Much of the installed base of switch hardware around the world can
> already be configured to signal shallow-threshold congestion with
> DCTCP/L4S-style CE marks. Many have CE-marking mechanisms baked into
> hardware, and would need to be replaced in order to deploy SCE.
The question is: could they easily support using ECT(1) instead of CE
for the shallow-threshold marking?
Supporting L4S's dual queue and classification by ECT(1) would IMHO
require even more extensive hardware changes.
> - Encapsulation/decapsulation is a widely prevalent and important
> technology today in production networks. With the installed base of
> encap/decap mechanisms, it is likely that for many implementations any
> SCE marking applied to packets would just get stripped off with the
> outer header when decapsulated.
>
I'm not sure about this one. L4S could be affected equally or do you
think that CE is handled differently? I wasn't able to find a quick
answer by looking at
https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-encap-guidelines-13
> - To get low latency in the public Internet, we need multiple queues.
> With SCE AFAICT there's not yet a compelling story about how to
> classify traffic to maintain a low-delay queue and  a classic queue,
> since there is no ECN code point to identify the low-delay traffic.
> AFAICT with SCE you likely must either (a) have a single high-delay
> queue with a jumble of Reno, CUBIC, classic RFC 3168, and
> SCE-respecting RFC 3168 senders, (b)  use fair queuing (tricky in
> hardware), (c) use DSCP to classify (academically pure but unrealistic
> across multiple ASes in the public Internet), (d) use a dual-queue
> system that heuristically classifies all flows into the low-delay
> queue by default but kicks them out using a queue-protection algorithm.

I agree here and queue separation would also be essential for SCE. But
using a DSCP for classification would
be the more extensible solution as ECT(1) wouldn't always mean to use
the L4S queue semantics. Instead both
solutions could use the ECT(1) mark with nearly the same congestion
signal semantics. Moreover, both solutions have
problems with "misbehaving" flows in the wrong queue.

> - SCE seems to involve an ecosystem with a more complex and more
> experimental CC (with two different kinds of ECN signal) and little
> real-world/production experience yet..  L4S seems to involve an
> ecosystem that provides a queue that  is basically a single-threshold,
> shallow-threshold, DCTCP-style, ECN ecosystem, which is simpler and
> for which the world has a lot of accumulated academic research and
> real-world/production experience over the last decade.
>
> - L4S flows potentially causing unfairness in RFC3168 ECN bottlenecks
> has been mentioned as a potential concern. However, a robust RFC3168
> ECN bottleneck should already have a mechanism to avoid unfairness
> caused by flows that are marked as ECT(0|1) and yet not performing
> RFC3168 responses. In particular, many of the large sources of known
> deployments of  RFC3168 --  Linux fq_codel and cake -- are already
> deployed with fair queueing. In such bottlenecks L4S traffic should
> not cause harm to other non-L4S flows. Furthermore, if there really
> are ISPs with deployments of RFC3168 bottlenecks that have neither FQ
> nor any other protection from non-RFC3168-ECT(1) flows, then they can
> bleach incoming ECT(1) code points to Not-ECT and treat L4S as Not-ECT
> (ISPs typically already transform the DSCP byte at their ingress
> anyway). So I do not see harm to RFC3168 ECN bottlenecks as a
> prohibitive concern.
>
> - More generally, if there is any problem discovered with the L4S
> experiment, either the algorithm or particular implementations,
> bottlenecks can easily identify L4S traffic and bleach it into
> Not-ECT, and treat it like Reno/CUBIC traffic.
>
> Best regards,
> Neal
>
Regards,
 Roland