[tsvwg] RTT-independence (was: L4S vs SCE)

Bob Briscoe <in@bobbriscoe.net> Wed, 18 December 2019 00:23 UTC

Return-Path: <in@bobbriscoe.net>
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 CB46912006F; Tue, 17 Dec 2019 16:23:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.398
X-Spam-Level:
X-Spam-Status: No, score=-1.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_SBL=0.5, URIBL_SBL_A=0.1] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.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 e0Mw7ytFNoBD; Tue, 17 Dec 2019 16:23:33 -0800 (PST)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (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 87D1A120033; Tue, 17 Dec 2019 16:23:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=3ap5+3XSoQQsltyZ/VowfXd1ARZJmBXXjRWiG81V+/A=; b=9RDkBYf5zLfqvf7cOiKqGsdR5 IL4wDKcKFPSWHKNZZTD4I1Iyoy8FxJUPD5xz6rVq+zh5lHhpba66K5XFtEZ326rSloAq0YAWDWDry YwzqsC09APkiI27KXsgk1qbMO4PTl2Y9jW/0rMlveOFEASrpLDRuBuhK6RPASyWzUtoLN5ftvUiaz /5cMexKwPTK/1x+RSZhoe0kH/HYPAuqvHvk2bSm1uUtEdnm/jaxr1dBZZEPE4QPFRAOIIr2ISPidg Ekksc60btWNI5Of++bKFFF2bQIm0PDEMUZa28JF2NAXKaJb1pyAw3w6M7eZ8ti+/P+OO4/ghLGNFv Ar35VNYEg==;
Received: from [31.185.135.202] (port=56908 helo=[192.168.0.5]) by server.dnsblock1.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92) (envelope-from <in@bobbriscoe.net>) id 1ihN7i-0005cy-6i; Wed, 18 Dec 2019 00:23:30 +0000
To: Sebastian Moeller <moeller0@gmx.de>, "De Schepper, Koen (Nokia - BE/Antwerp)" <koen.de_schepper@nokia-bell-labs.com>
Cc: G Fairhurst <gorry@erg.abdn.ac.uk>, Ingemar Johansson S <ingemar.s.johansson@ericsson.com>, "tsvwg-chairs@ietf.org" <tsvwg-chairs@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <HE1PR07MB44250F3C4E6A744DDCC3DAFCC24C0@HE1PR07MB4425.eurprd07.prod.outlook.com> <ad7b763e-b3dd-36cf-a9c5-7de99476babb@mti-systems.com> <12ED7632-5E3E-4EB9-B65E-8A8324067C9A@akamai.com> <5DD4BB25.3060700@erg.abdn.ac.uk> <5658232C-07D5-4C89-B16A-58A928332FC6@gmx.de> <HE1PR07MB4425D989D4A266C73331FFA5C24F0@HE1PR07MB4425.eurprd07.prod.outlook.com> <CAJU8_nUK5cZLFE-0UBzf0a7T0hC7C+CpCsUy_+ZU_p4oxW9BmQ@mail.gmail.com> <HE1PR07MB442560D0715BC921AB9B7FE3C24F0@HE1PR07MB4425.eurprd07.prod.outlook.com> <AM4PR07MB345968E8C665304DFBD5B11FB94F0@AM4PR07MB3459.eurprd07.prod.outlook.com> <AAC23B5C-447F-428D-956F-850653A561F7@gmx.de>
From: Bob Briscoe <in@bobbriscoe.net>
Message-ID: <a55c3ec7-e1a7-2bfd-1db4-a3a2c3dfe79e@bobbriscoe.net>
Date: Wed, 18 Dec 2019 00:23:28 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <AAC23B5C-447F-428D-956F-850653A561F7@gmx.de>
Content-Type: multipart/alternative; boundary="------------E0832F746CFC72F84B640DDB"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: server.dnsblock1.com: in@bobbriscoe.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/rWK_1MLU0X5bl5yJpGbI1UpOJ-0>
Subject: [tsvwg] RTT-independence (was: L4S vs SCE)
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 Dec 2019 00:23:37 -0000

Sebastian,

I wanted to pick up your point about RTT-independence that you recently 
said has never been responded to.

I have changed the subject line, because this is not an L4S vs SCE 
issue. With a shared queue it is just as much an issue for SCE as for 
L4S. With an FQ scheduler, it is just as much a non-issue for L4S as for 
SCE.


On 20/11/2019 14:18, Sebastian Moeller wrote:
> Dear Koen, dear all,
>
>
>> On Nov 20, 2019, at 13:40, De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com> wrote:
>>
>>
>> One of these opportunities here is to make L4S_TCP less RTT dependent. There have been many working implementations for less RTT-dependent CCs in the past. One that is widely deployed is Cubic, which is doing this for getting more throughput for longer RTTs. The only reason why it didn’t fly for lower RTTs on the current Internet is that they would hurt themselves (get lower throughput, competing with Reno).
> 	[SM] Looking at the pfifo_fast results in Høiland-Jørgensen T, Hurtig P, Brunstrom A (2015) The Good, the Bad and the WiFi: Modern AQMs in a residential setting. Computer Networks 89:90–106. For Cubic/pfifo_fast (linux former default combination), I fail to see a strong indicator that cubic is RTT invariant or getting more thoughput at longer RTTs (except for the 10ms versus 50ms "hump"). What paper/data should I be looking at instead?
>
>>   
>> As we are able to define a new independent behavior and the RTT dependence in L4S is taken serious (some even call it a show stopper) this is even a must do opportunity for L4S. It is all a matter of perspective: show-stopper <-> opportunity.
> 	[SM] I believe that working on more RTT independence is worth-while but no replacement for fixing the isolation system as it it is that equitable isolation from existing traffic that basically gives you the slate clean-"green field" development opportunity, no?

[BB] RTT-dependence is caused by the end-system, and should be solved in 
the end-system (whether or not FQ is also deployed to solve it in some 
places). Importantly, RTT-dependence only needs to be addressed in the 
newly deployed scalable (L4S or SCE) end-systems, not pre-existing 
end-systems like Reno & Cubic, as I'll now explain.

The problem is due to the tiny RTT you can get when you have both a tiny 
base RTT and a tiny queue. For example:

	Base RTT/ms
	Queue/ms
	Total RTT/ms
Close Scalable flow: 	2.5
	0.5
	3
Distant Scalable flow: 	100
	0.5
	100.5
Close Classic flow: 	2.5
	15
	7.5
Distant Classic flow: 	100
	15
	105


If all the above flows were RTT-dependent, the lowest 3ms RTT ('Close 
Scalable') would be the potential hog. For example against 105ms 
('Distant Classic') if they were both 'window fair' like Reno, the 
throughput ratio would be 105:3 = 35:1

Whereas the Close vs Distant Classic case is cushioned by the 15ms 
queue. RTT ratio = 105:7.5 = 14:1, which was the Internet status quo 
pre-L4S (or SCE).

So why is it enough for only scalable flows to reduce their RTT 
dependence? Assuming they do, the lowest 3ms RTT ('Close Scalable') 
doesn't go much faster than 'Distant Scalable'. If it's no longer a hog 
in relation to Distant Scalable, it's no longer a hog in relation to any 
of the other flows. So the worst case reverts to the Close Classic flow, 
which isn't so bad because the total RTT is cushioned by the queue. So 
we will be no worse off than we were before L4S or SCE.


You will see we explained this at the end of Section V.B 'Congestion 
Control Roadmap' in the draft journal paper about L4S that we posted 
earlier this year:
“`Data Centre to the Home’: Deployable Ultra-Low Latency for All 
<http://bobbriscoe.net/projects/latency/dctth_journal_draft20190726.pdf#subsection.5.2>”

But is RTT-independent TCP Prague real? No, not quite yet. At the time 
we designed this, we simulated it, but we're now working on it again, 
including implementing it in Linux, so you should see results soon. The 
approach to RTT-independence that we suggest is explained in section 3.2 
of a paper we presented to the iccrg back in Jul 2017.
“Resolving Tensions Between Congestion Control Scaling Requirements 
<https://riteproject.files.wordpress.com/2015/10/ccdi_tr.pdf#subsection.3.2>“


All the above papers are available via the L4S landing page: 
https://riteproject.eu/dctth/#papers
>> I'm also not against the recent vibrant energy, interest and engagement of people, but I think we can better use this energy in making things work. As you noticed, we can use the help to speed things up on the open source part.
> 	[SM]... while at the same time requesting help for implementation and dealing with the consequences of said "code point and requirements".

If you recall, when I asked you not to keep repeating other people's 
arguments without adding anything, you said the RTT-dependence point was 
your contribution to the debate.

The L4S team identified this problem in early 2015 during testing with 
diverse RTTs. When the Prague requirements were first agreed, we (Koen 
in particular) insisted that this should be included as a basic safety 
requirement, even tho some people said it wasn't important. The WG has 
so far kept it as a MUST requirement, justified by the potentially large 
discrepancy in rates that can result, articulated here:
https://tools.ietf.org/html/draft-ietf-tsvwg-ecn-l4s-id-08#appendix-A.1.5

If I were as cynical as some on this list, I could point out that 
discovering a requirement by reading one of the L4S documents doesn't 
really count as a contribution. But I'll let that pass.

What I wanted to show by this email is that a significant amount of work 
has been done on this, the problem is well-understood and solutions are 
in progress. RTT-independent congestion controls have been produced 
before - not that I'm belittling how hard it is to resolve the tension 
between requirements identified in the 'Tensions' paper above.

So I ask you to take a more constructive approach. Banging on your 
keyboard in the style of "ner ner ne ner ner, I found a problem with 
L4S" doesn't help anyone, when the problem you've "found" exists with 
any low latency shared queue, including an SCE-based solution. Instead 
you could have read all the papers referenced from the L4S landing page, 
understood how much everyone already understands the problem, how much 
has already been done to solve it, and then you could have tried to work 
out the details of a full solution.


Regards



Bob


>
>
> Best Regards
> 	Sebastian
>
>
>>   
>> Regards,
>> Koen.
>>   
>> From: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
>> Sent: Wednesday, November 20, 2019 11:50 AM
>> To: Kyle Rose <krose@krose.org>; Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
>> Cc: Sebastian Moeller <moeller0@gmx.de>; G Fairhurst <gorry@erg.abdn.ac.uk>; tsvwg@ietf.org; tsvwg-chairs@ietf.org; De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com>; 4bone@gndrsh.dnsmgr.net; Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
>> Subject: RE: [tsvwg] L4S vs SCE
>>   
>> Hi
>>   
>> So given the imagined outcome that L4S fails.. two scenarios
>>   
>> If other SDOs or developers don’t pick up L4S then things are quite simple I guess, just declare the L4S drafts as deprecated, or is there more to do ?
>>   
>> But, if e.g. 3GPP somehow thinks that this is a good idea and adopts it.. Will the IETF send a message (LS?) to 3GPP with the message “please stop using L4S”, is this even a reasonable scenario?. After all, the fact that it is picked up by other SDOs, speaks against a failure ?
>>   
>> /Ingemar
>>   
>> From: Kyle Rose <krose@krose.org>
>> Sent: den 20 november 2019 11:14
>> To: Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org>
>> Cc: Sebastian Moeller <moeller0@gmx.de>; G Fairhurst <gorry@erg.abdn.ac.uk>; tsvwg@ietf.org; Ingemar Johansson S <ingemar.s.johansson@ericsson.com>; tsvwg-chairs@ietf.org; De Schepper, Koen (Koen) <koen.de_schepper@nokia.com>; 4bone@gndrsh.dnsmgr.net
>> Subject: Re: [tsvwg] L4S vs SCE
>>   
>> On Wed, Nov 20, 2019 at 6:04 PM Ingemar Johansson S <ingemar.s.johansson=40ericsson.com@dmarc.ietf.org> wrote:
>>>        How do you expect an industry/commercial roll-out of L4S
>>> technology to behave, if the L4S experiment should terminated without
>>> adoption as a standard track RFC? Are they supposed to phase-out using
>>> ECT(1) as well, or is it understood that deployed L4S instances continue using
>>> L4S methods?
>> [IJ] The premise would be that L4S is declared a failure. I doubt that anybody has a good enough crystal ball to predict what happens. First it is necessary to come to the conclusion that L4S is a failure and I would argue that we are not yet there and I don't currently see that coming. Before that possible event I don't see it meaningful to speculate.
>>   
>> I'm going to have to go ahead and disagree with you strongly here. Given the potential consequences of cleaning up after a failed experiment without a plan worked out beforehand, this blithe approach is simply not acceptable.
>>   
>> In lots of cases, experiments are easy to terminate in an obvious way: for example, in one typical case, a code point can simply be abandoned, or (even better) a pollutable experimental code point returned to the available pool after some time. If that were the case here, it would not be difficult to enumerate a sequence of steps required to do so. It doesn't appear that's the case, however, so all the more reason to make sure we address this as part of the experiment setup.
>>   
>> A launch escape system of the necessary complexity should be a requirement of any experimental deployment. In this case, that might circumscribe the scope of the experiment itself.
>>   
>> Kyle
>

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/