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

Bob Briscoe <ietf@bobbriscoe.net> Sat, 23 October 2021 16:18 UTC

Return-Path: <ietf@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 9C7303A08F9 for <tsvwg@ietfa.amsl.com>; Sat, 23 Oct 2021 09:18:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 fjavIfqfjWfH for <tsvwg@ietfa.amsl.com>; Sat, 23 Oct 2021 09:18:27 -0700 (PDT)
Received: from mail-ssdrsserver2.hostinginterface.eu (mail-ssdrsserver2.hostinginterface.eu [185.185.85.90]) (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 1C9C13A08BE for <tsvwg@ietf.org>; Sat, 23 Oct 2021 09:18:26 -0700 (PDT)
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:To:Subject:Sender:Reply-To:Cc: 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=Tc3gKAbFHE0yGktf+vurMh1dmsIEjn2kpEOsJetY9CI=; b=HlyKbfpzT61IIyITClsNv1RgfD Bfjp8TIFcOyEUS0e8HFJKwHLgcdw2TytOLlNBrZL/XGSfsS7NhhwqFoKowjEBRi2p7uxmWaXtqA+r OT/YeM+acAKRfsqtZQLi0WrMhdl1Hp5CDVfCb483bbQrq8NCA8W4Mza7lmDyVZcatH+ITLbIi6xMf HsEc8hyYXzEumevZmcaCZxJNYPlYWcXCAj1sK6QKGTS7PndUfNPWMmUfiNEs3tPW9XEwHfS/BDP0Z TPp+kzOPAyemr0llb8qi3w9sGShydSoncDD5v/JxBifI4GFYjPHbX+33KzfI4Du47qZLjS92uxcVn cX/m9iVw==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:41224 helo=[192.168.1.11]) by ssdrsserver2.hostinginterface.eu with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <ietf@bobbriscoe.net>) id 1meJj4-0007AF-7g; Sat, 23 Oct 2021 17:18:23 +0100
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, "tsvwg@ietf.org" <tsvwg@ietf.org>
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>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <1a393258-0fcf-f3b6-3955-a522b1ed694a@bobbriscoe.net>
Date: Sat, 23 Oct 2021 17:18:21 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <8d7fa2ee-a1eb-3058-b50e-09e461423970@erg.abdn.ac.uk>
Content-Type: multipart/alternative; boundary="------------0C120C1E66886B3FDD919915"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ssdrsserver2.hostinginterface.eu
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: ssdrsserver2.hostinginterface.eu: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: ssdrsserver2.hostinginterface.eu: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/v_Djv4Bka83cUCXCO5b6EDXE-7E>
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:18:40 -0000

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 
<https://www.ietf.org/archive/id/draft-ietf-tsvwg-aqm-dualq-coupled-17.html#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 
<https://www.ietf.org/archive/id/draft-ietf-tsvwg-aqm-dualq-coupled-17.html#I-D.briscoe-tsvwg-l4s-diffserv>]), 
the Non-Queue-Building (NQB) per-hop behaviour [I-D.ietf-tsvwg-nqb 
<https://www.ietf.org/archive/id/draft-ietf-tsvwg-aqm-dualq-coupled-17.html#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 
<https://www.ietf.org/archive/id/draft-ietf-tsvwg-aqm-dualq-coupled-17.html#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/