Re: [tsvwg] new tests of L4S RTT fairness and intra-flow latency: defaults ready for testing

Sebastian Moeller <moeller0@gmx.de> Wed, 18 November 2020 13:57 UTC

Return-Path: <moeller0@gmx.de>
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 BEECA3A067A for <tsvwg@ietfa.amsl.com>; Wed, 18 Nov 2020 05:57:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.648
X-Spam-Level:
X-Spam-Status: No, score=-1.648 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
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 mGwUtv8kQpLh for <tsvwg@ietfa.amsl.com>; Wed, 18 Nov 2020 05:57:25 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (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 AF7B73A0639 for <tsvwg@ietf.org>; Wed, 18 Nov 2020 05:57:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1605707841; bh=WSnMw4Tl4YUob4Yk3uYW7L2JWwJdjOvQkP23m14SV4E=; h=X-UI-Sender-Class:From:Subject:Date:In-Reply-To:Cc:To:References; b=dVgbozPVqWM1AP2V9UFDvrK9Gebej5wsHwi8jyUKNrFn4rmqa9J2iraNo18G08+LJ 31tTGCu72pfdFbkVaHggTEN9TI4NcbDtDscj4Xc9ICe4zui0ks4apoYItwRjw/hD07 5aoQEtslRQdGowS7Ih54P87lqeAV222hccGWR6t0=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.250.102] ([134.76.241.253]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MRTN9-1krIiC0YS5-00NOSQ; Wed, 18 Nov 2020 14:57:21 +0100
From: Sebastian Moeller <moeller0@gmx.de>
Message-Id: <5CEA0C9D-6ED7-495D-8697-0D761EA33F55@gmx.de>
Content-Type: multipart/alternative; boundary="Apple-Mail=_869A2AC7-C02D-48A8-8BDC-5099116DE0FB"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.17\))
Date: Wed, 18 Nov 2020 14:57:19 +0100
In-Reply-To: <AM8PR07MB74761B7A75E727A7830E72A6B9E10@AM8PR07MB7476.eurprd07.prod.outlook.com>
Cc: Jonathan Morton <chromatix99@gmail.com>, tsvwg IETF list <tsvwg@ietf.org>
To: "De Schepper, Koen (Nokia - BE/Antwerp)" <koen.de_schepper@nokia-bell-labs.com>
References: <AM8PR07MB7476081896E0A1C4897FFBA3B9E20@AM8PR07MB7476.eurprd07.prod.outlook.com> <811A76DD-3D48-43D3-A962-3F15AE9E858B@gmail.com> <AM8PR07MB74761B7A75E727A7830E72A6B9E10@AM8PR07MB7476.eurprd07.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.17)
X-Provags-ID: V03:K1:qds0rA+xlv0i4MQQQLib7shid2OvY7zT0USs2OScqjzREmrKXKE fDuAv6JF6KRut5c14zXIIQ0UlVUvVumDlvl4ENZwnWMxLbetWVGuTXAIeieBH2tK1Xycx9Q YJ/ZsxJcxeDRu3UnafZYhQYFo8kMhlkSH1NU0q+nF6pv2EZ15GqGfobPdRc/gvai4oOp8fO LCgspduSDvVxJzqc65ZDg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:q4oLkt7h0lQ=:vk2mVVuWGlvF9+ugBR5pAB d5NWuJPaQWhBP9AX8jFhfclDbh9hPvGiSBsr6gWPIzHpJA07xQA2L6E6d5ApMFYFoIULBBgWZ gYSjtABvuutyZhLxnLwo2DTySg6cDi7w4Lu/thRs2IfEQC/I+bGMk9bnUFMjORMmhQahzDPRl PL/hIkiuVuvNOa5YsuvtRAeoJnviRC13Tp4RIU3DUXRMWXW4VL0QQwJys9ENuAcOgLVJjUcnU 11ETEagxxDLmGzm2NqfSpRh9+PojMoibikAply6tv3mwufErV96NIubpVCVBfsony551p9/Yr j0fM5vwMH0r6VGNSavpPmFXbc4d/QM+4kiVuBHZQfzszy6TzpOcoP3yDyvoK/2CVNDztujQIj dcDbiNBJCbJC4dyXoaMhI0aR0EtMIGbiiC0ALDmQ7yPF2Mu2eG7UU5YqlENHzaPgWlKsFKNCb vl75iUS+kH6FNDkhpzRlTjaitwXRAYYx2bVQ5Qu/XcdWc6RWcFw9FbHVQZXXeWLUMcUiCtn1r XxFPiSgdf+xAivx+aJuZXZ/HQPiCY1Y40OXP2wypCiP5+0ml45FRlCS+UV2jnQJiFXS0d5xW5 yZNngkesN6oJTZtG4IucmH/o6NAaKZpELlu64iec1UmLA84qqpfroJ3zl+vz1i5PhwPBKAzWN 739I3IsAsdtkYwmaMr9pHOQL3Li+iRd/67MGK1pKw25KdmZ0bIgDXrYcZyT0jkc5btNp1wrcl KasbFWvYKAfK2lNV3Q6jyrH/vyrq+v8NdIYjfkfIt0bDOxQEg03c8m9b699ScAsDVo2OR72xG 43FWvUACaLBrxMLueV8Xxv3zo2A9KzMD+ofTVfJ6/oAuoRSr3fM7ywmiD7zkvTNbpsK/4KNCl /HOuFYB7asunVeviNk1A==
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/TptTbpMMoH7CrGnPX-4toyR73zM>
Subject: Re: [tsvwg] new tests of L4S RTT fairness and intra-flow latency: defaults ready for testing
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: Wed, 18 Nov 2020 13:57:28 -0000

Hi Koen,



> On Nov 18, 2020, at 12:56, De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com> wrote:
> 
> Hi Jonathan, Pete, Sebastian,
>  
> Thanks for also showing this case sharp again. The reason for this worse longer RTT behavior of Prague and DCTCP is that the smallest flow induces the 1-RTT-on/X-RTT-off burst pattern on the step threshold of the L4S queue, which is known to trigger the r=2/(p^2*RTT) DCTCP response (as defined in the original DCTCP paper). L4S started when we found that DCTCP behaves as r=2/(p*RTT), so the square on p disappears, when it gets the continuous per RTT-stable marking rate from a Classic AQM (when it gets coupled). Any in between burstiness will result in a value somewhere in between those equations.
>  
> So when the 1-RTT-on/X-RTTs-off bursts of the smallest flow become a steady per RTT marking rate for the biggest RTT flow, it will have in worse case an extra 1/p disadvantage. The second paper described this behavior as a 1/RTT^2 dependency, but I think it is more related due to this effect. Neal Cardwell recently suggested looking into the more fluid per packet implementation to eliminate the RTT-dependence behavior, which I thought was not relevant as it “only” solves the getting the 1/RTT^2 to 1/RTT, and so not a solution for 1/RTT^0 objective for RTT-independence.

	[SM] I do not buy  this rationale at all. Going from 1/RTT^2 to 1/RTT would be a tremedous reduction in RTT dependence, to big to argue you left this on the floor as you aimed for 1/RTT^0 (and failed). On the other hand that approach would explain a lot of what I object in L4S.


> But it would actually solve this “Too big rate disadvantage for long >80ms RTTs” problem. So currently to be tried and further investigated. Further contributions are appreciated there as well (from anyone). 
>  
> As I understood there is an expectation to have a CC that can be just enabled and autotunes to all conditions. As a fast work-around to make selecting Prague as a good alternative in the full range, we are considering switching to non-ETC or ECT(0) and Reno when the RTT is >80ms.

	[SM] That is an open admission that L4S really is just a fast-priority-lane design. Thanks for confirming that though. It does severely reduce the "low latency for all" claim on which L4S is still marketed.

> Even better, but a bigger code impact, would be to switch to Cubic in that case. Olivier can push the fallback to Reno if RTT>80ms, which for now would solve this issue until there is any of the better solutions available.

	[SM] It is exactly this pilling up of hacks to solve individual undesirable outcomes one by one, that leave me unconvinced whether the core "coupled AQMs" idea actually is suitable for the real internet.

Regards
	Sebastian

>  
> Regards,
> Koen.
>  
>  
> From: Jonathan Morton <chromatix99@gmail.com> 
> Sent: Wednesday, November 18, 2020 1:28 AM
> To: De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com>
> Cc: Lars Eggert <lars@eggert.org>; Ingemar Johansson S <ingemar.s.johansson@ericsson.com>; tsvwg IETF list <tsvwg@ietf.org>
> Subject: Re: [tsvwg] new tests of L4S RTT fairness and intra-flow latency: defaults ready for testing
>  
> On 17 Nov, 2020, at 3:32 pm, De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com> wrote:
> 
> The RTT-independence was implemented, available and demonstrated several meetings ago already and as presented working very well according to our tests. The following parameters are now set as default, so can be tested out of the box:
> 
> All Prague flows with an RTT below 25ms will now converge to the same rate, independent of their real base RTT. This means that flows with a bigger RTT than 25 ms will never have to compete against smaller than 25ms RTT flows. 
> 
> Now the defaults are set, I'm looking forward to independent evaluations.
>  
> Since our tests are quite well automated, we were able to run a subset of them (all at 50Mbps) against the new defaults this evening.
>  
> I'll give you credit: there is some improvement in some of the tests.  However, we could still draw most of the same conclusions from the new data as we did from last week's data; the big-picture problems are still present and in some cases have actually deteriorated.
>  
> I'll focus on two major concerns in particular:
>  
> 1: Prague outcompetes CUBIC in DualPI2, at a common baseline RTT.  This only stops being true when the BDP is large enough for Prague to have difficulty growing to steady state in a reasonable amount of time.
>  
> With the new code, the Jain's index improves from .823 to .987 at 10ms (the advantage in both cases being to Prague), but actually worsens from .880 to .838 at 20ms, and from .936 to .890 at 80ms.  All of these are sampled after allowing two minutes for the flows to converge to steady-state.
>  
> 2: Prague vs Prague competition on differing RTTs.
>  
> Here is Figure 3 from the test report we recently posted, followed by an equivalent chart generated from the new data this evening.  Let's play spot the difference:
>  
> 
> 
>  
> I can say that the throughput ratio for Prague vs Prague via DualPI2 is, in fact, slightly improved in the new data, but it is still significantly worse even than the 16:1 ratio expected from the baseline RTTs at identical average cwnd.  In a similar test with 80ms versus 20ms RTTs, the two Prague flows also have more than the expected 4:1 throughput ratio.  I don't have an immediate explanation for that.
>  
> Notice that with both the old and new code, CodelAF gets very close to parity in throughput with the same traffic load, and that even through DualPI2, a pair of CUBIC flows is closer to parity than a pair of Prague flows.  That is not, overall, an improvement in RTT independence from switching to TCP Prague and/or DualPI2.
>  
> However, we did find an improvement in fairness, compared to the older code, when comparing 20ms vs 10ms Prague flows.  That's what you were going for, wasn't it?  A shame that, in achieving that singular success, so many other things are left unresolved.
>  
> I'm sure we will have the opportunity to run more tests on your future efforts.  For the moment, with limited time on our hands, this will have to do.
>  
>  - Jonathan Morton