Re: [tsvwg] start of WGLC on L4S drafts: DualQ AQM

Sebastian Moeller <moeller0@gmx.de> Sat, 23 October 2021 16:31 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 D3EE33A0A94 for <tsvwg@ietfa.amsl.com>; Sat, 23 Oct 2021 09:31:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.649
X-Spam-Level:
X-Spam-Status: No, score=-1.649 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, 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 DzCvP3xKeWF0 for <tsvwg@ietfa.amsl.com>; Sat, 23 Oct 2021 09:31:24 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (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 C65A23A0A7E for <tsvwg@ietf.org>; Sat, 23 Oct 2021 09:31:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1635006637; bh=YD1akTu3mokvPu0NzX/+1qYgHKJVoITMMVuU9OCGgHY=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=Up3CQFEd2ipUKq0W2VVxyO2Q9RxHWt0H7dqf7YK7kSb4TuZ6wqb1fnq01c1W3HD/d CEfnGZb2ltpcYc81Hh54u7eYliGFNRLt4c+Z3g8VAxRfdGhwQ9aZNFkIzOsKpYHChA 7gHyvTndkCC2LIKdk/ke1DWvgrwu0UfSpXMioQ4I=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.42.229] ([95.116.131.41]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mt757-1myamq0a9B-00tTrX; Sat, 23 Oct 2021 18:30:37 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <1a393258-0fcf-f3b6-3955-a522b1ed694a@bobbriscoe.net>
Date: Sat, 23 Oct 2021 18:30:35 +0200
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <48EF4AAC-7CA3-4FFD-B02E-927E5A04C57C@gmx.de>
References: <7dd8896c-4cd8-9819-1f2a-e427b453d5f8@mti-systems.com> <B575CC81-4633-471A-991F-8F78F3F2F47F@ericsson.com> <aa968ff5-262c-1fd4-981d-05507ac1e59e@erg.abdn.ac.uk> <8d7fa2ee-a1eb-3058-b50e-09e461423970@erg.abdn.ac.uk> <1a393258-0fcf-f3b6-3955-a522b1ed694a@bobbriscoe.net>
To: Bob Briscoe <ietf@bobbriscoe.net>
X-Mailer: Apple Mail (2.3608.120.23.2.7)
X-Provags-ID: V03:K1:Bz5CQVULm5AxNdxg8+GFn1zqv+1T+rSmhVtsHykCVcqpqlVa9IX sAJGloh3FQFKe9BD8Qo6cr19KKBd8edJ8id/dkGN8UISFfZn4Eikh72LwaA681uhR8ah0ZG A9MXlMVqGwKfnoU2Qsj7pnG/JyjC2Jb6tKCMCIQmElxxwlrFfWJI7l/1XvdZI1l9ajlwvez etxLBsq72JomMvwJzNWAw==
X-UI-Out-Filterresults: notjunk:1;V03:K0:PypPYjnH+ZI=:aiDlsaewPJrWWkTKIzT6wt ZB9uORzZ1ekMaK05aasC63Dgq5e+qZyzTGSA0fvsMOjmZVPDEZGvDfp343bxOdM2M3HRDiNCZ 3oIvWGz0iBl42oLsvecREEPDV2O5Y7n65TS7WwzfsWwnGPGwupkvWUYXCzudndBXcXT6Gt4Fh PoCEJkJc11I3NaDc6AbsDbS0Ig+cGQQ0lNLcZ+WygBjMH6Fb8b7xLtPpVTKLWnVcomEMdGKra wYEoZ5Ac7c/AG50xWc1fQSoisAvq5z8FfGdDQSreSFoVnxozKwDsaw/qyW3zjZEezqwJ/MdHN uRzMz0EpdiQwo8eK0rccWoEpl7dunNYLFNm5XSpXOnPKvkg6jokyz7RiXyWWYkHFmk9J17c/A ZEl+sLauyjUUxdnbN5EmeHIxS5aeU62QeB9JF1bwfIy8qWfajplZt6cJKCkFy1f8ox/3eamiI 7uXYY/Vc+Ne1LrqqjpTrjrvu3/IQaJP8D3IKgkliDrjB6FyaeapkbufoILUAVmdE5tPO0ckRK V33QuV1xkCOO/ndJc27hRSoYvpgGNjWqwpQFDOPbSZ3PWLImBQD7cA8LJznIRVWhWlVJPwHsv XXJFntUSUAUbyJQv9IdLtGW+63FRewnNXo60S+yrUaSop0WxvazDSVjcuGs9VmDZ2Oo7V2gKv acOWT9ylVqm1C2gkCTFN/JKd4ci1E4mjEIQAEA7jvt75lyW2fgy7WT8vg0x6aOVZ1HtL2VpYZ mmY/udroFfUtknQjsWlFBk/KeBxhAg+Dq0ULoQl4whkVNP//ev8l0miTQi+L6Qe4ceazn+BHj aMorRcEHCjXAN0ZKqjzbcyKgxiM4zkQCrynKXZA7jh85FVELeeH1eK92/iubTHgPmBB5VFkGE BS4p2vYQUmbMRzuAoJOpB0+Dqy5V4hLdiv0X8li2MXm6SBwDayek+rGLLiEGGW5kanmdQTS6b RX1+5+7wuTUciElUWF6r5cgznVFHpOi7Ktm1ZDuy2DoaN54X0qg+6vBFAQSDLZUQdC+w/Wa0V /2sO0JGsTtRI3FVv4ho7tZhMPIYfM/rJn7jyWsE6cKNw+E3pt/I7hbOkVfwVa2Qvlyo6ZFVd8 uzU76Yr5FylSOc=
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/awPcIEsyv026Bb7FOqHwZE8S050>
Subject: Re: [tsvwg] start of WGLC on L4S drafts: DualQ AQM
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: Sat, 23 Oct 2021 16:31:29 -0000

Hi List,

so this post of Bob's highlights an inconsistency in the DualQ draft:
for one he writes:

"The coupling acts like a semi-permeable membrane; isolating the sub-millisecond average queuing delay and zero congestion loss of L4S from Classic latency and loss; but pooling the capacity between any combination of Scalable and Classic flows with roughly equivalent throughput per flow. The DualQ achieves this indirectly, without having to inspect transport layer flow identifiers and without compromising the performance of the Classic traffic."

but later it is stated

"Priority of L4S is required to be conditional to avoid total starvation of Classic by heavy L4S traffic."

Which really just admits that the indirect "coupling" mechanism from the introduction does not work as promised, as without such an emergency scheduling get-out-of-jail card, L4S traffic can very much compromise "the performance of the Classic traffic" when both compete in the DualQ. 


Regards
	Sebastian


> On Oct 23, 2021, at 18:18, Bob Briscoe <ietf@bobbriscoe.net> wrote:
> 
> Gorry, 
> 
> Thanks for your (as always) diligent review. Unless I've responded below with [BB], consider them accepted as written...
> 
> On 12/08/2021 11:30, Gorry Fairhurst wrote:
>> I have reviewed DualQ Coupled AQMs for  L4S 
>> 
>> I re-reviewed: draft-ietf-tsvwg-aqm-dualq-coupled-16 in the WGLC. As an inidvidual, I support publication as a PS, and have some comments below on -16, that 
>> 
>> 1) 
>> The abstract is unnecessarily long. It does not need to provide this level of background information. I’d suggest the editors shorten this. 
> 
> [BB] I've compressed it down to the size of the first of the two paras. I haven't run this past my co-authors, so you might see some (hopefully minor) changes in the version that gets submitted.
> 
> This specification defines a framework for coupling the Active Queue Management (AQM) algorithms in two queues intended for flows with different responses to congestion. This provides a way for the Internet to transition from the scaling problems of standard TCP Reno-friendly ('Classic') congestion controls to the family of 'Scalable' congestion controls. These achieve consistently very Low queuing Latency, very Low congestion Loss and Scaling of per-flow throughput (L4S) by using Explicit Congestion Notification (ECN) in a modified way. Until the Coupled DualQ, these L4S senders could only be deployed where a clean-slate environment could be arranged, such as in private data centres. The coupling acts like a semi-permeable membrane; isolating the sub-millisecond average queuing delay and zero congestion loss of L4S from Classic latency and loss; but pooling the capacity between any combination of Scalable and Classic flows with roughly equivalent throughput per flow. The DualQ achieves this indirectly, without having to inspect transport layer flow identifiers and without compromising the performance of the Classic traffic. The solution has low complexity and requires no configuration for the public Internet.
> 
>> --- 
>> 2) The 'Low Loss" part of the name denotes 
>> - This has mixed quote marks. In other places, double quotes are used. 
>> --- 
>> 3) There appears to be some repetition of topics in section 1.4 between this and the L4S arch specifications. This just gives more to read. Please do consider removing duplicate examples/discussion. 
> 
> [BB] The "Problem Outline" section was rewritten over Drafts 09 & 10 (both July 2019) to be specific to the Problem the DualQ solves, and other material was moved to l4s-arch.
> 
> The Scope section was also rewritten. It has a couple of paras putting the DualQ in the wider context of scalable congestion controls, then refers to l4s-arch for details. The rest of the scope section is specific to the DualQ. Yes, it does pick some pieces out of l4s-arch (e.g. most likely deployment scenario for the dualQ). But the aim was to give implementers who are only interested in the DualQ what they need.
> 
> This might not be the way you would have chosen to decide which material to include or exclude, but I hope you'll understand that this means I really don't want to go through the exercise of rewriting these sections again,... except to address specific concerns. 
> 
>> --- 
>> 4) Typo - additional space: 
>> “[RFC5681] .” 
>> --- 
>> 5) Unpublished Individual ID as a Ref explaining a “MUST”: 
>> “The two queues can be part of a larger 
>>    queuing hierarchy [I-D.briscoe-tsvwg-l4s-diffserv].” 
>> - Since this relates a to a requirement, I do not think this is appropiate. The reference provided is out of date, and does not appear to be progressing. Could this reference be removed? 
> 
> [BB] You're right the normative section about Functional Requirements is not the right place for this. I've deleted the whole second sentence.
> 
> Nonetheless, an implementer will need to have an idea how this DualQ fits into their existing queuing structures, so this sentence is worth keeping somewhere. I've stuck it at the end of §2.4 "Overall DualQ Coupled AQM Structure". I've also kept the ref, 'cos there is no other place an implementer could go for this information. But it's not in a normative section any more, and I've added some fluff to make it clearer that this reference is just early ideas:
>     "The two queues could optionally be part of a larger queuing hierarchy, such as the initial example ideas in [I-D.briscoe-tsvwg-l4s-diffserv]."
> 
> BTW, as I understand the chairs' position on the l4s-diffserv draft, it is 'on hold' while the WG focuses on the main L4S drafts. That means there will be no request for adoption (yet), but it also hasn't been refused adoption.
> 
>> --- 
>> 6) Unpublished Individual ID as a Ref: 
>> “and Voice-Admit 
>>    service classes (see [I-D.briscoe-tsvwg-l4s-diffserv]), 
>> - I’d prefer to leave this without a REF that to refer to an individual draft submission. 
> 
> [BB] I've replaced all 4 refs in this para with one ref to §5.4.1 of ecn-l4s-id. We can then confine this discussion of which refs are appropriate to that doc.
> 
> CURRENT:
> For instance addresses of specific applications or hosts (see [I-D.ietf-tsvwg-ecn-l4s-id]), specific Diffserv codepoints such as EF (Expedited Forwarding) and Voice-Admit service classes (see [I-D.briscoe-tsvwg-l4s-diffserv]), the Non-Queue-Building (NQB) per-hop behaviour [I-D.ietf-tsvwg-nqb] or certain protocols (e.g. ARP, DNS). 
> 
> PROPOSED:
> For instance addresses of specific applications or hosts; specific Diffserv codepoints such as EF (Expedited Forwarding), Voice-Admit or the Non-Queue-Building (NQB) per-hop behaviour; or certain protocols (e.g. ARP, DNS) (see Section 5.4.1 of [I-D.ietf-tsvwg-ecn-l4s-id]). 
> 
>> --- 
>> 7) NiT: “The scheduler SHOULD be work-conserving.” 
>> - This “SHOULD” introduces a design decision: Please add a one sentence explanation what happens if it is not. 
> 
> [BB]
> PROPOSED:
> The scheduler SHOULD be work-conserving, or otherwise close to work conserving, given Classic service will often rely on borrowing from the L4S service.
> 
>> --- 
>> 8) Dead reference (used multiple times) 
>> "if the packet is Not-ECT, the appropriate action depends on 
>>          whether some other function is protecting the L queue from 
>>          misbehaving flows (e.g. per-flow queue 
>>          protection [I-D.briscoe-docsis-q-protection] or latency 
>>          policing)" 
>> "Therefore per-flow policing 
>>    (e.g. [I-D.briscoe-docsis-q-protection]) needs to be separable from a 
>>    basic AQM, as an option under policy control." 
>> "However, the addition of DOCSIS per-flow 
>>    Queue Protection [I-D.briscoe-docsis-q-protection] turns this into 
>>    'delay on saturation" 
>> - The tracker shows draft-briscoe-docsis-q-protection has expired and is no longer active. What is the current status of this ID? 
> 
> [BB] The ISE has indicated it is OK in principle to proceed to publication. I have a couple of edits to it and I just haven't prioritized them. Sorry.
> 
>> --- 
>> 9) RFC2119 usage: 
>> " The following 
>>    parameters MAY be operator-configurable, e.g. to tune for non- 
>>    Internet settings:" 
>> - To me this does not seem like a standards interoperability statement. Do we need RFC2119 language, would it be OK to just say: 
>> " The following 
>>    parameters can be operator-configurable, e.g. to tune for non- 
>>    Internet settings:" 
> 
> [BB] I thought this was one of the few occasions where MAY is appropriate. But obviously you don't. If an implementer doesn't follow this MAY, their device won't be able to interoperate well with congestion controls in non-Internet environments. But whether this is a concern depends on the market their device is intended to address. 
> To me that's nearly word-for-word what RFC2119 says about the intended use of MAY.
> 
> I'll leave it for now, and see what you say in response.
> 
>> --- 
>> 10)RFC2119 usage: 
>> "The maximum queue 
>>       delay per queue per interval MAY also be recorded." 
>> - I'd sa surely a system can record anything? --  So this does not seem to need RFC2119 language, would it be OK to just say "can"... I'd also be interested to see a sentence that helps me understand *why* this might be useful as a log entry. 
> 
> [BB] I've added "..., to aid diagnosis of faults and anomalous events"
> Again, this is really about interop - not data plane, but management plane - interop with typical monitoring systems. So there's the same argument for a 'MAY' as above. 
> Again, I'll leave in the MAY and see if you disagree.
> 
>> --- 
>> 11) NiT: 
>> "Curvy RED can be used as is when 
>>    the RTT range to be supported is limited, otherwise an adaptation 
>>    mechanism is required." 
>> /required/needed/ - for avoidance of doubt? 
> 
> [BB] I'm impressed that you've found this in the depths of an appendix! 
> Agree with 'needed' in this first case, but...
> 
>> --- 
>> 12) NiT: 
>> "Priority of L4S is required to be conditional to avoid total 
>>    starvation of Classic by heavy L4S traffic." 
>> /required/needed/ - for avoidance of doubt? 
> 
> [BB] Here, 'required' is actually correct. So I've added a pointer to the requirement:
>     "Priority of L4S is required to be conditional (see Section 2.5.1) to avoid..."
> 
> Thank you very much.
> 
> 
> Bob
> 
>> -------------- 
>>> 
>>> On 29.07.21, 18:18, "tsvwg on behalf of Wesley Eddy"<tsvwg-bounces@ietf.org on behalf of wes@mti-systems.com>  wrote: 
>>> 
>>>     This message is starting a combined working group last call on 3 of the 
>>>     L4S drafts: 
>>> 
>>>     - Architecture:https://datatracker.ietf.org/doc/draft-ietf-tsvwg-l4s-arch/ 
>>> 
>>>     - DualQ: 
>>> https://datatracker.ietf.org/doc/draft-ietf-tsvwg-aqm-dualq-coupled/ 
>>> 
>>>     - ECN ID:https://datatracker.ietf.org/doc/draft-ietf-tsvwg-ecn-l4s-id/ 
>>> 
>>>     The WGLC will last through 4 weeks from today, and then we'll see what 
>>>     to do next.  Please submit any comments you have on these to the TSVWG 
>>>     list in that timeframe. 
>>> 
>>>     The chairs are considering a possible virtual interim following the 
>>>     close in order to work through feedback received. 
>>> 
>>>     The work on the L4S operational guidance draft is continuing in 
>>>     parallel, but that draft is not being last called yet. 
>>> 
>>> 
>> 
> 
> -- 
> ________________________________________________________________
> Bob Briscoe                               
> http://bobbriscoe.net/