Re: [tsvwg] new tests of L4S RTT fairness and intra-flow latency
"De Schepper, Koen (Nokia - BE/Antwerp)" <koen.de_schepper@nokia-bell-labs.com> Mon, 16 November 2020 22:03 UTC
Return-Path: <koen.de_schepper@nokia-bell-labs.com>
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 D5A813A1504 for <tsvwg@ietfa.amsl.com>; Mon, 16 Nov 2020 14:03:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.602
X-Spam-Level:
X-Spam-Status: No, score=-2.602 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
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 6siT4VKKHFyV for <tsvwg@ietfa.amsl.com>; Mon, 16 Nov 2020 14:03:27 -0800 (PST)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30112.outbound.protection.outlook.com [40.107.3.112]) (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 0C55C3A14FA for <tsvwg@ietf.org>; Mon, 16 Nov 2020 14:03:25 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gehpCgPEp7f5SYugJuuCpeaA25KTKdMBfGKk+vkI3sEesshKuBMsFEp8kgX77sGD9y/Sb+ihSPBLdBPqDIdsAKzdbc/YDU7qFREhhp2SG+2YFrQetBiU/6GITwnAYy8dwtXMTdZD8pYSZYHatp2rCgST4ilLv5kDRtO4msylLLE7B2rcW/k+LaYyNb1/8KE68i9IXMbZLh4QXLZTu+P+pRSqwBM+ArSJoMr+oSMFvxsppKCLvQmHhSK+sv420Do//82RnCRSUTypdBkreJNABzHgYN1zFXGS52PFgUmZE29n0TxmzPRFi2KoNTurdwdq5h6CqZ5/EHT2xTFZrpitsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+6FXfMTkAx/iI7BQ9o2OJABQP/Vda/Ws6Nb3HoQsH1s=; b=nbZyXz4fzkhswDVBCLRXnEBbIjZFjYuNunCjKomry5qe0YJOFx4h8GMApzvwmiET29qPJ9Gvvrte22uG08D8/wU8dYP5TOqwZSOZAGuOiFqDu67pkdlamGBgoDCD1HkRKS7jYT+JJPGrmegBJPe3lEOmDKkibOoVyVxdPw3QdQW2W1zv/4tCyZU1JMxphrpLK/NGRe7oUjY4zVBYUjVqlY1/tjn2BWMUKKfJ8EBF28qdi8R+trv99ImbJD6mnoRiceJdxoqlyKHGv7o7jBIGKnMvY46KS1TxJoDhSUu6tKZUsRGlbEiAw6EivoRzD2iO87hn31ZJiGFN0+i5JbSFOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia-bell-labs.com; dmarc=pass action=none header.from=nokia-bell-labs.com; dkim=pass header.d=nokia-bell-labs.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+6FXfMTkAx/iI7BQ9o2OJABQP/Vda/Ws6Nb3HoQsH1s=; b=H2/9k8vJT/sW6xaL0fnMxRg+zASqBLyCab395kXqYc/A+AT6ORyUNWQ2hqOLDXw51d02cHLko6Nz3kJ7uTsOhOb+bTA03Tsumaio28R/BXQ7tHWBbiI/sHAmbCt11/e4WvE5qy72QMiI0R6bSNM77rF6Xh3H4uQ9a0pnGSUd9hM=
Received: from AM8PR07MB7476.eurprd07.prod.outlook.com (2603:10a6:20b:24e::12) by AM0PR07MB4786.eurprd07.prod.outlook.com (2603:10a6:208:72::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.17; Mon, 16 Nov 2020 22:03:20 +0000
Received: from AM8PR07MB7476.eurprd07.prod.outlook.com ([fe80::e966:7a41:b22a:1560]) by AM8PR07MB7476.eurprd07.prod.outlook.com ([fe80::e966:7a41:b22a:1560%4]) with mapi id 15.20.3589.017; Mon, 16 Nov 2020 22:03:20 +0000
From: "De Schepper, Koen (Nokia - BE/Antwerp)" <koen.de_schepper@nokia-bell-labs.com>
To: Sebastian Moeller <moeller0@gmx.de>
CC: Pete Heist <pete@heistp.net>, "Black, David" <David.Black@dell.com>, tsvwg IETF list <tsvwg@ietf.org>
Thread-Topic: [tsvwg] new tests of L4S RTT fairness and intra-flow latency
Thread-Index: AQHWuTLPEUV80n8i5ky3IXpNhj8aOanFH9eAgANKhACAAKwIgIABsTqwgACHUACAAAGOYA==
Date: Mon, 16 Nov 2020 22:03:20 +0000
Message-ID: <AM8PR07MB747694435368DBA6C3B5DAA9B9E30@AM8PR07MB7476.eurprd07.prod.outlook.com>
References: <d2edb18dd3cbfecce0f70b3345e4ea70a0be57b9.camel@heistp.net> <AF7A15D8-28DA-4DE5-96AB-BE9B6A468C3D@gmx.de> <MN2PR19MB4045BC0869B633F8EB11155583E40@MN2PR19MB4045.namprd19.prod.outlook.com> <c321dc8ee45d2ecf72080f2900522835cf3753f8.camel@heistp.net> <AM8PR07MB74762C5309642C1B28F488ADB9E30@AM8PR07MB7476.eurprd07.prod.outlook.com> <4C5031F8-BDC6-48EA-AB74-3370ED0F9F4D@gmx.de>
In-Reply-To: <4C5031F8-BDC6-48EA-AB74-3370ED0F9F4D@gmx.de>
Accept-Language: nl-BE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: gmx.de; dkim=none (message not signed) header.d=none; gmx.de; dmarc=none action=none header.from=nokia-bell-labs.com;
x-originating-ip: [2a02:1810:1e00:cb00:210b:63c2:20dd:546d]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 4a38bcc5-f7d3-43b1-223e-08d88a7b6ded
x-ms-traffictypediagnostic: AM0PR07MB4786:
x-microsoft-antispam-prvs: <AM0PR07MB47864CD316F67FDAEC711F80B9E30@AM0PR07MB4786.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: FvQsDRGcqCQybpORbcHzFgqEFiu/ZdfRLwn81JAWFExGINUNVk8Ul7QrcE79XXpFyMbtoIyYChna7AL6Zh48UEgHxdHbDCfwk4pCxSWtjBuzIRazHy6ooZkpyPuW1Pxjr3OB/lyR3p7oTrv/v7BNP9I2XbtNvjpz0W9udgzpgp0Ig7A8aTaNaP4NjeFAQxJL+27ZhbH7uKlI+eWPXwqt5IGmn11PFRBxRStpIacpAhmSwa03GojTKbN9cZJremZHJGpUlSzSJFWoj8ewgmWZshaH/jM+teELdhpWxSrfvhMtmraiiEWm+JSlt1+ZmAr6783Q6kNwKOeyxq+5PY0IbfGIXfh955YsLZul6vTopieXcP0jQlCiHz1EnBK8GB5619QasO74zU9Vg279F0Fl1g==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM8PR07MB7476.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(39860400002)(376002)(136003)(396003)(76116006)(4326008)(55016002)(30864003)(66446008)(66476007)(66556008)(66946007)(64756008)(6506007)(186003)(5660300002)(478600001)(33656002)(4001150100001)(66574015)(2906002)(8676002)(54906003)(53546011)(6916009)(86362001)(71200400001)(966005)(316002)(8936002)(7696005)(52536014)(9686003)(83380400001)(579004); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: KmP8K51bStVUCJ86jIsRJ1cK85Hkk2K03MzZOXXIvsuWYRgVC0DZBVT/hVOt196SUQUCbn4oeCBPli/C2ItfZgrseM2lp1UoTEBe4Z7n3glt13N3DIlYAwU3/u1BxQQssCEQ3q2Jk7o2DDgoZPOqe94FJUVEA0S2DrGnU7gh+lkfP1+pjfTmSPHW5idUM+uLVohraHaRzk4FDUbcLIceJa19JXwEM4uzBQK3LRo2YnIZJeKRrW6n/a9mGRIMOX508YdVpILeJUjmOE76hUrXol2opKAK1a83MJHClnjrR3dXgQB03rJWnEkmhloWcqFlIpVY1awTh9vfdsqhpDcGE1QQumIzBVjYOCLDY/m374HVxpGWp58JbKi/6g9sPeXNvWCMe0704I49v/bqvo0Tb+IZQZUCaHMJwxTwQRDDKrzrxSGJe/jp41f5PBlATQ+9VxR9dss97HJf+ZKk0TCcbYEJoZSjbdBeZ7ZJrPCkwuRRRpsqaNmF9n2v2vHxfjdJc75Go7zfj76zhtu2jRMinFWMp9dwfZOnEnlXZQcFpcAbiaGJ3icxfjrwcA7wJHwK5N9+WceoIvbG3JdlgdhneVmRZlqcCBfT6EU6ycNOPgicQwKR0+f4/Vq+rzChV0wiLi3okCE0oVxREyfOtlH4YwB7Ppnmz2Cwumi+1NCoN3zz5wQrF8R0U9/bqlR6qHCh0iANDIENckS3j7ELx27HNv88ifq17Mj4lbdvE19Y6IerkUWqYaX7kGbTfGWa8CpRN9KMg/CHt+g5zm0FRSmorToG6pyCBy8Evf5jN91hGEGMvhBRmitzOx7xGzqmEej4TrKpjXxHXbYg7M0KDFC7VRzd4dg7IzT1SYRXDaSaldWFpVNrweb8pIaHlUxumXrnNBNYlgv+G0kShjjE4S1MOjLmbRcEdmG/e1YsiUv7oPlcM3q6jWNr47qGfT6Ps87nuJY1FfBqamCU6nDJLd4oIw==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: nokia-bell-labs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM8PR07MB7476.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a38bcc5-f7d3-43b1-223e-08d88a7b6ded
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2020 22:03:20.2225 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: oSGFvfxeK+yXpLBamRruc76q+8Nm/rdx4Ghkm4q1kvelb6oEiLBSu02I8nHUSy5Qoh/kYefA98XU84Tg64V5UNauWDbOJcyAjawfYiNX5UQgeO9FvG6t+RXe71h4T6cG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR07MB4786
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/ntpHCHVuRfRIop6fe6SVhiDDDqI>
Subject: Re: [tsvwg] new tests of L4S RTT fairness and intra-flow latency
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: Mon, 16 Nov 2020 22:03:31 -0000
Hi Sebastian, >> Actually, I'm also not happy with this strong RTT dependency. You probably will see similar unfairness cases if you use under these conditions Reno on a CoDel AQM with a target of 5ms. > > [SM] Have a look at the fq_codel: > I really meant "CoDel", not "FQ_CoDel". > But I doubt the Linux Cubic developers would be happy to extend Cubic to avoid CoDel flaws?? > > [SM] Too late, codel is out in the wild, no amount of whining is going to change that, if you design a protocol for the existing internet you need to accept that fact and adapt to it. So because CoDel it is deployed and you get these bad results today with existing Cubic deployments already, it is not a safety issue, but whining is appropriate???? It clearly shows that this "bar" is kept very high for some and is laying at the ground for others đŸ˜‰. Koen. -----Original Message----- From: Sebastian Moeller <moeller0@gmx.de> Sent: Monday, November 16, 2020 10:37 PM To: De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com> Cc: Pete Heist <pete@heistp.net>; Black, David <David.Black@dell.com>; tsvwg IETF list <tsvwg@ietf.org> Subject: Re: [tsvwg] new tests of L4S RTT fairness and intra-flow latency Hi Koen, > On Nov 16, 2020, at 21:43, De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com> wrote: > > Hi Pete, > > Thanks for the tests. They do confirm our test results from many years ago now, and are the reason why related Prague requirements are in the L4S-ID draft. I guess they are a good introduction for people recently joining the discussions and a reminder for the rest that it is important to take those conditions into account when designing and configuring both the end-host and the network mechanisms. [SM] Please supply a link to your results from many years ago showing how the current state of TCP Prague behaves? > > May I also remind that the Linux Prague code is research driven, and focused only on de-risking the bigger safety challenges. [SM] Papering over obvious flaws in the core L4S design at a place that can be easily abandoned later would be a much less friendly interpretation. > Most of the improvements (except low latency) were not prioritized up > to now, [SM] Mmmh, did you not just argue you focussed on safety challenges first? > as we are sure some are low hanging fruit and others with the right incentives will want to spend time on the harder ones. [SM] The fact that TCP Prague has terrible performance over FIFO-bottleneck long haul paths will make it very unlikely that someone will be incentivized to continue TCP Prague development after you abandon it. > Most of the commercial parties with an expected interest and benefit > of an L4S CC have been reasonable quite, [SM] Specifically none responded for my repeated begging for presenting data to demonstrate that my fears are wrong. My conclusion from that lack of response is that either nobody cares for L4S or worse nobody bothered to independently confirm its suitability and safety. > I hope because they are confident that the network drafts and the mandatory Prague requirements and proposed improvements are feasible. I guess some are also less keen on sharing their efforts with competition and others might be waiting for real deployments before getting really into action. If there are concerns from their side, of course we would like to hear those too. The only concern I heard up to now is that all this takes too long before they can start the experiment. They want asap real world deployment... [SM] There is zero rationale why a controlled experiment could not have already been performed over the existing internet. An experimental RFC is not a requirement to conduct an experiment. What you call an experiment, really is an exercise in deployment. > >>> 1) Starting with an easier one, can the reported intolerance to >>> bursts >>> (https://github.com/heistp/l4s-tests/#burst-intolerance) be fixed by starting marking in the L queue later? Doing so may also improve RTT fairness for Prague flows. > > Indeed, the solution is to make sure that your L4S threshold configuration is in line with your network capabilities. If you know that certain network elements aggregate and burst packets in 4ms chunks, then it makes no sense at all to mark packets in that node at 1ms, nor in subsequent network nodes, with similar bottleneck capacities. We tried to address this by explaining this in section 6.3 of the L4S Architecture draft: https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-08#page-20. Is this sufficient to cover this issue? [SM] What happened to the disire for AQM's to be auto-tuning to avoid the biggest stumbling block for their deployment? Think https://tools.ietf.org/html/rfc7567#page-18 "4.3. AQM Algorithm Deployment SHOULD NOT Require Operational Tuning". > >>> 2) For the reported network bias, can this be fixed in the DualPI2 and Prague implementations? One chart which we didn't reference in our writeup illustrates the consistent bias for Prague vs CUBIC. > > Since an important design goal of L4S is that it also supports network nodes that don't identify individual flows. [SM] Well, it seems more and more obvious that that design decision puts L4S at odds with achieving its goals.... > To compensate individual flow's RTT you need to know them first. To solve this anyways, it would need a per packet indication of the RTT (ref past proposals like RCP and XCP). If we would have space to put this info in the header, we wouldn't be discussing about this single available ECN bit, right? Therefor the End-System is the right place to handle this, and why the RTT-independent requirement is important. [SM] Please keep your story straight, you just proposed to considerably water down the RTT de-bias requirement such, that it is not really applicable to arbitrary paths anymore, only those that the AQM deployer cares for, like a fast-lane for short RTTs. > The current implementation has a non-Prague-compliant default (not RTT-independent), which we need to fix clearly. It would be good to agree on a reasonable compromise of a default f(RTT) correction function. We also implemented a gradual correction over time, so a new (short) flow would not be delayed, and will be responsive, only if it lasts for a while it will gradually converge to the RTT-independent rate. This could be in the range of the convergence time of the typical-RTT flows. [SM] As I have shown with Pete's data in my response to Bob your problem is not the to be expected RTT dpendence of the thoughput of competing TCP flows, but the combination of DualPI2 and TCP Prague actually makes the situation much worse, see (repeated from my other mail): Let's look at some data, shall we? This is a plot showing the rates achieved by two CUBIC flows (80ms pRTT and 20 ms pRTT) in a bottleneck with a 200 packet FIFO at an egress rate of 50 Mbps http://sce.dnsmgr.net/_archive/l4s-2020-11-07T203721-s1-s4/l4s-s1-rttfair/l4s-s1-rttfair-ns-cubic-vs-cubic-pfifo_200_-10Mbit-80ms-20ms_tcp_delivery_with_rtt.svg Both flows actually get more or less the same thoughput. Now adding an AQM we expect things to get worse, especially single queue AQMs are known to do that, so here are "same" two CUBIC flows under the same conditions only the bottleneck now operates DualPI2 but since the flows are not ECT(1) they are handled by the PIE instance responsible for the shallow queue: http://sce.dnsmgr.net/_archive/l4s-2020-11-07T203721-s1-s4/l4s-s1-rttfair/l4s-s1-rttfair-ns-cubic-vs-cubic-dualpi2-50Mbit-80ms-20ms_tcp_delivery_with_rtt.svg Here eye-balling it tells us that the 80ms pRTT flow only gets around half the thoughput of the 20ms one, not beautiful, but certainly acceptable by the concurrent decrease of the flows' queueing delay (roughly a reduction of 230ms per flow). But now, if we look at the same test with two TCP Prague flows running through the shallow-queue's modified? PIE instance we see a throughput imbalance of around 45:5 Mbps or 9:1. So from rough parity we went down to 9:1, that IMHO is a clear design issue in L4S because who in their right mind is going to use TCP Prague if that basically means such steep sacrifices in throughput through longer paths? Really, it is not that 80ms is an extreme RTT that is irrelevant, think trans Atlantic links. Trying to frame this as somehow reducing RTT bias seems simply counterfactual, L4S is making the situation worse (while using wording that makes the naive reader think it helps solving the issue). > > Feel free to experiment with the available options. > >>> * To not consider a 16:1 throughput imbalance between L4S and non-L4S flows a safety problem. We've seen 11:1 to 18:1 in our recent tests. >>> Although we're not sure of the worst case, what we're seeing now is outside of my comfort zone, personally. > > Actually, I'm also not happy with this strong RTT dependency. You probably will see similar unfairness cases if you use under these conditions Reno on a CoDel AQM with a target of 5ms. [SM] Have a look at the fq_codel: Here is how the dual CUBIC test looks in fq_codel: http://sce.dnsmgr.net/_archive/l4s-2020-11-07T203721-s1-s4/l4s-s1-rttfair/l4s-s1-rttfair-ns-cubic-vs-cubic-fq_codel-50Mbit-80ms-20ms_tcp_delivery_with_rtt.svg Way less than the factor two throughput difference as seen in your PIE example. Judging from Figure 6 in Høiland-Jørgensen, Toke, Per Hurtig, and Anna Brunstrom. ‘The Good, the Bad and the WiFi: Modern AQMs in a Residential Setting’. Computer Networks 89 (4 October 2015): 90–106. https://doi.org/10.1016/j.comnet.2015.07.014. single-queue CoDel will behave quite close to songle-queue PIE. Your intuition seems to be wrong. > Cubic compensates performance for the longer RTT flows, Prague (with the right settings) compensates mandatory for the smaller RTT. Clearly a production congestion control is likely to do both, or fall back to Classic Cubic behavior whenever the RTT is too long for interactive services. [SM] Well, TCP Prague is your vehicle to demonstrate to the world that your claims are achievable, so go and achieve them. Until that point all siuch claims are really just predictions and promises > > So the exact out-of-our-confort-zone exists today already, but there are solutions available, just to be integrated. > >>> 3) The issues that arise due to the redefinition of CE may be the >>> hardest. This includes the domination of L4S over non-L4S flows in the same RFC3168 queue (see the issue with tunnels reported above for a common path to that), and the intra-flow latency spikes for L4S flows (https://github.com/heistp/l4s-tests/#intra-flow-latency-spikes) > > This is fortunately showing the flaws of CoDel and on top of that the lack of the CoDel implementation to respond with drop when ECN flows get into overload. Even more problematic for Cubic on CoDel (deployed today), your results show it is also bad (more than 2 seconds latency for longer than 10 seconds when throughput reduces from 50Mbps to 1Mbps on an 80ms base RTT path). When compared under the same conditions with Cubic on PI2 you can definitely see how it can be improved using an appropriate AQM (a very short peak of I guess less than 100ms extra latency). Hopefully these CoDel instances can be fixed and can support the ECN threshold for L4S instead (and maybe use PI2 instead of CoDel for Classic). On the other hand these extremes would be also easy cases for both Classic and L4S CCs to detect and fall back on a delay based CC when latencies are that bad (falling back to Classic ECN or Classic drop would even not help to avoid the CoDel problem). But I doubt the Linux Cubic developers would be happy to extend Cubic to avoid CoDel flaws?? [SM] Too late, codel is out in the wild, no amount of whining is going to change that, if you design a protocol for the existing internet you need to accept that fact and adapt to it. > >>> Although I won't be able to support a WGLC until I see tested code that addresses the issues, I do want to support the WG along its present path to a conclusion... > > Try switching on the RTT-independent settings of Prague, and I assume it is a matter of just coding a fallback to Cubic if your detected RTT is too big. So as far as I'm concerned, we do have running code! [SM] The idea behind this requirement is to have code that can be executed (runs) but also solves the problem at hand. TCP Prage as from the default repository might do the former, but as Pete showed fails at the latter. > > I'll try to get the defaults right. I assume f(RTT)=max(25ms, RTT) and a gradual EWMA convergence reaching the 25ms behavior after about 10 seconds would be good defaults? If people have suggestions or preferences for other values, then let me know. If people have time and want to implement the Cubic fallback (or even better longer RTT-independence), then let me know too. [SM] Think auto-tuning, what you do is window dressing, by modifying your toggles to fit a specific individal benchmark you look bad at, but unless TCP Prague does that adaptively roughly correct, this is no viable solution, that can be used as argument that the other deeply flawed L4S components are safe to deploy. Regards Sebastian > > Regards, > Koen. > > > -----Original Message----- > From: tsvwg <tsvwg-bounces@ietf.org> On Behalf Of Pete Heist > Sent: Sunday, November 15, 2020 12:42 PM > To: Black, David <David.Black@dell.com>; Sebastian Moeller > <moeller0@gmx.de> > Cc: tsvwg IETF list <tsvwg@ietf.org> > Subject: Re: [tsvwg] new tests of L4S RTT fairness and intra-flow > latency > > Hi guys, and thanks for the replies. > > Firstly, there was a new test result added for tunnels yesterday, but I'll put that in a separate thread so it isn't buried. > > Beyond that, I think it would be productive to try to figure out what might be done to solve the reported issues, limiting that exploration for now to the confines of the L4S design. We'd like to support forward progress while facing the issues head on if possible. I'll take a shot here as tersely as I can: > > 1) Starting with an easier one, can the reported intolerance to bursts > (https://github.com/heistp/l4s-tests/#burst-intolerance) be fixed by starting marking in the L queue later? Doing so may also improve RTT fairness for Prague flows. > > 2) For the reported network bias, can this be fixed in the DualPI2 and Prague implementations? One chart which we didn't reference in our writeup illustrates the consistent bias for Prague vs CUBIC. > Essentially, Prague wins until there is an RTT imbalance of 20ms/80ms: > > http://sce.dnsmgr.net/results/l4s-2020-11-11T120000-final/s1-charts/l4 > s_network_bias.svg > > 3) The issues that arise due to the redefinition of CE may be the hardest. This includes the domination of L4S over non-L4S flows in the same RFC3168 queue (see the issue with tunnels reported above for a common path to that), and the intra-flow latency spikes for L4S flows (https://github.com/heistp/l4s-tests/#intra-flow-latency-spikes) > > Afaik, the proposed solutions in the L4S architecture are: > > * RFC3168 bottleneck detection in the endpoints. However, we went through a round of testing earlier this year that showed accurate bottleneck detection is likely to be difficult with jitter and cross- flow traffic. It's disabled at present in the reference implementation. > > * L4S operational guidance for network operators. So far I haven't had time to review this, but I may have some feedback at least in the area of testing. I suspect the effectiveness of guidance will be influenced by human factors. > > * To not consider a 16:1 throughput imbalance between L4S and non-L4S flows a safety problem. We've seen 11:1 to 18:1 in our recent tests. > Although we're not sure of the worst case, what we're seeing now is outside of my comfort zone, personally. > > > For me, the class of problems in #3 are my area of greatest concern, as there are many more RFC3168 bottlenecks deployed today than just a few years ago (https://github.com/heistp/l4s-tests/#deployments-of-fq_codel) #2 is also important to me, as I trust we're not trying to introduce a so- called "fast lane" for certain traffic. > > Although I won't be able to support a WGLC until I see tested code that addresses the issues, I do want to support the WG along its present path to a conclusion... > > Pete > > On Sun, 2020-11-15 at 01:26 +0000, Black, David wrote: >> Hi Sebastian, >> >> Some comments as an individual, not a WG chair. >> >> First, I think Pete has pretty clearly established that TCP Prague is >> research, and hence (IMHO) TCP Prague ought to be headed for ICCRG as >> its primary forum rather than TSVWG. >> >> To date, the 'Prague L4S Requirements' (Appendix A of draft-ietf- >> tsvwg-ecn-l4s-id) have been strongly associated with TCP Prague. That >> association ought to be teased apart so that the resulting L4S >> scalable congestion control requirements provide a reasonable design >> space that can include a number of other congestion control designs - >> in addition to what's been discussed, e.g., SCReAM, it would be >> useful to better understand what it would take for implementations of >> protocols such as DCTCP and BBR (e.g., for QUIC) to meet those >> requirements. >> >> My overall take on the requirements is that in 20/20 hindsight, some >> of them were overly optimistic, and hence need to be backed off/toned >> down/broadened to encompass what is reasonable in "running code" well >> beyond TCP Prague. That sort of collision between interesting ideas >> and network realities is not an unheard-of scenario in IETF, so I >> hesitate to view the need for changes to these requirements as >> evidence that the original ideas were inherently defective, as I've >> seen far more dramatic changes, e.g., some number of years ago, the >> first design of iSCSI login was elegant ... and resulted in >> implementations that did not interoperate, resulting in a complete >> redesign. >> >> Thanks, --David >> >>> -----Original Message----- >>> From: tsvwg <tsvwg-bounces@ietf.org> On Behalf Of Sebastian Moeller >>> Sent: Thursday, November 12, 2020 6:11 PM >>> To: Pete Heist >>> Cc: tsvwg IETF list >>> Subject: Re: [tsvwg] new tests of L4S RTT fairness and intra-flow >>> latency >>> >>> >>> [EXTERNAL EMAIL] >>> >>> Hi Pete, >>> >>> great data. IMHO Especially the fact that short-RTT Prague will >>> severely outcompete long-RTT Prague way more than the traditional >>> dumb FIFO will, strongly supports the following hypotheses I have >>> been posting >>> before: >>> >>> a) Dualpi2/TCP Prague are no way ready for deployment, but are >>> basically still in the toy stage >>> >>> b) all that L4S will effectively do, be it by intent or simply by >>> mis-design, is built a "fast lane" for short RTT low hop count >>> traffic. Given all the hype >>> (still!) in the L4S >>> internet drafts about how this is the future of the internet... >>> Also a fast lane that >>> requires active cooperation from the leaf ISP (if they keep their >>> bottlenecks at FIFO, I see no compelling reason for TCP Prague at >>> all), which will require SLAs between CDNs and ISPs. >>> >>> c) too little, too late. Really only modest gains in RTT (compared >>> to best of class AQMs like fq_codel or cake) and noticeable >>> regressions in sharing behavior both between different CCs and flows >>> of different RTTs (and that compared to dumb queue "management" with >>> a simple FIFO). >>> >>> >>> >>> Also quite sobering, that it AGAIN was not team L4S bringing real >>> data to the table to support their claims and promises. Then again >>> looking at the RTT fairness for Prague versus Prague under DualQ, I >>> can understand why team L4S stayed mumm, and rather argued for >>> allowing unfettered self-mutilation of L4S compliant transport >>> protocols in regards to RTT fairness: >>> >>> "So there is no need to mandate that an L4S implementer does no >>> harm to themselves, which window-based congestion controls tend to >>> do at higher RTT. >>> Of course, this doesn't preclude implementers reducing or >>> eliminating RTT bias for larger than typical RTTs, but it removes >>> any requirement to do so." >>> >>> After years of advertising on increased RTT independence (in spite >>> of the data showing that the proposed combination of DualQ and TCP >>> Prague actually increases RTT bias), team L4S in the last minute no >>> less, decides to do a 180 and just change the requirements to allow >>> for the rather unhealthy behavior demonstrated for L4S... >>> With the current enhanced RTT bias, who in their right mind is going >>> to use TCP Prague; which currently is the only transport, that at >>> least attempted to tackle all the "requirements" L4S poses for >>> transports that want to use the >>> ECT(1) express >>> way? Then again, since none of the network elements are designed and >>> required to actually check and enforce these requirements, calling >>> these "requirements" is a bit of stretch anyway, maybe they should >>> be changed from MUST requirements to COULD musings.... >>> >>> >>> Best Regards >>> Sebastian >>> >>> >>>> On Nov 12, 2020, at 21:31, Pete Heist <pete@heistp.net> wrote: >>>> >>>> Hi, >>>> >>>> We have posted some new tests of L4S here: >>>> >>>> https://github.com/heistp/l4s-tests >>>> >>>> These tests cover two-flow fairness in several qdiscs with >>>> different path RTTs per-flow, and transient behavior in fq_codel >>>> queues. >>>> >>>> The results raise some concerns about a bias in favor of L4S flows >>>> in >>>> DualPI2 queues, throughput imbalances between flows with different >>>> path RTTs, and intra-flow latency spikes upon rate reductions in >>>> fq_codel. >>>> The repo above contains a walk-through of the key findings, and >>>> links to more results in the Appendix. >>>> >>>> Regards, >>>> Pete >>>> >>>> >> > >
- [tsvwg] new tests of L4S RTT fairness and intra-f… Pete Heist
- Re: [tsvwg] new tests of L4S RTT fairness and int… Sebastian Moeller
- Re: [tsvwg] new tests of L4S RTT fairness and int… Black, David
- Re: [tsvwg] new tests of L4S RTT fairness and int… Sebastian Moeller
- Re: [tsvwg] new tests of L4S RTT fairness and int… Pete Heist
- Re: [tsvwg] new tests of L4S RTT fairness and int… Sebastian Moeller
- Re: [tsvwg] new tests of L4S RTT fairness and int… alex.burr@ealdwulf.org.uk
- Re: [tsvwg] new tests of L4S RTT fairness and int… Jonathan Morton
- Re: [tsvwg] new tests of L4S RTT fairness and int… Jonathan Morton
- Re: [tsvwg] new tests of L4S RTT fairness and int… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] new tests of L4S RTT fairness and int… Jonathan Morton
- Re: [tsvwg] new tests of L4S RTT fairness and int… Sebastian Moeller
- Re: [tsvwg] new tests of L4S RTT fairness and int… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] new tests of L4S RTT fairness and int… Sebastian Moeller
- Re: [tsvwg] new tests of L4S RTT fairness and int… Lars Eggert
- Re: [tsvwg] new tests of L4S RTT fairness and int… Ingemar Johansson S
- Re: [tsvwg] new tests of L4S RTT fairness and int… Lars Eggert
- Re: [tsvwg] new tests of L4S RTT fairness and int… Ingemar Johansson S
- Re: [tsvwg] new tests of L4S RTT fairness and int… Sebastian Moeller
- Re: [tsvwg] new tests of L4S RTT fairness and int… Lars Eggert
- Re: [tsvwg] new tests of L4S RTT fairness and int… Sebastian Moeller
- Re: [tsvwg] new tests of L4S RTT fairness and int… Ingemar Johansson S
- Re: [tsvwg] new tests of L4S RTT fairness and int… Pete Heist