Re: [tsvwg] draft-ietf-tsvwg-nqb-15.txt - 5.1 Primary Requirements, Forwarding - Departure rate

Sebastian Moeller <moeller0@gmx.de> Sun, 09 April 2023 19:32 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 F0FC9C1782D7 for <tsvwg@ietfa.amsl.com>; Sun, 9 Apr 2023 12:32:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.546
X-Spam-Level:
X-Spam-Status: No, score=-2.546 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmx.de
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kIeBhtxrUY9e for <tsvwg@ietfa.amsl.com>; Sun, 9 Apr 2023 12:32:27 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 133E3C14CF0C for <tsvwg@ietf.org>; Sun, 9 Apr 2023 12:32:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1681068741; i=moeller0@gmx.de; bh=o6qgS3vRqz3IKtD3FHqRlCl+459QVw0CDT/VVYe/pp8=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=IrrMTiVgrp0qM3Sh6yfXzPM2bwVzhn/qMWtazGpHLGKVqehQRmn4lPaWoGaE/C4st UGXoCRfkbKXqhKsGUJR7czB9e1Wg5d1IXNqKgt3wyawE6GuXNOQ8sp52SVpCPtVzF+ +xoiZc3LI7jKfAGLG1pEQK2jZxnOCJ+4ME2Hr7k+LkH8n8Amx1kDD/cSJnKgIFNu30 1TofyxeVpoE2XyDVPNl3IjZFxoJucPqoTDUhYt2GTdPA+5rwoBXcPoDb2ih9Mtwo0s s7HIbH3hcI/yF5ewPLsmTe1bo9YblBdHnIolSYu5sVAOEqjBQwlcEA36Kjpez6OlOP qMSAnqn4Qsn/A==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from smtpclient.apple ([95.112.230.43]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M72oH-1pjf6Q2tUF-008a6K; Sun, 09 Apr 2023 21:32:21 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <C78EBB89-2BC4-410A-8211-33AB8FE3AF0D@cablelabs.com>
Date: Sun, 09 Apr 2023 21:32:18 +0200
Cc: "Ruediger.Geib@telekom.de" <Ruediger.Geib@telekom.de>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <E34D4557-4796-44E5-9DF0-6B93F90CADC4@gmx.de>
References: <167348364734.15098.9183646444272144529@ietfa.amsl.com> <FR2P281MB15272D72FF9840601F20FB039CD79@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <70A2425B-E5C5-4889-B645-2CB6D976BEC9@cablelabs.com> <FR2P281MB15279F63768D7D3FE5632D729CBD9@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <55198C96-2CA9-4A62-BA73-CD21D640F8E6@cablelabs.com> <FR2P281MB1527B3C340FEF9C9D9420B0A9C909@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <8721A569-984A-4521-A20B-9546CCC344EB@cablelabs.com> <FR2P281MB1527488D8FC9BA71B5B068F39C919@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <C78EBB89-2BC4-410A-8211-33AB8FE3AF0D@cablelabs.com>
To: Greg White <g.white@cablelabs.com>
X-Mailer: Apple Mail (2.3696.120.41.1.2)
X-Provags-ID: V03:K1:eow67JCfFbzKev6DIFfg0/nfT6IkNIr6zEaLFxZfRla8Q7M02Xi u6zmvqGwmHmV3TxQbE28Yos8Mrw5ZRfi90u9b/2EwDoGcfMzJo8Ppza5rVkeL46UTVGHSv9 4o1H3CXwKGK6Tr1vpnQ89z0FzDmCJ/cfeJHQMaouySyXQB3ZpYI7KFBmsH7dbMdn4/KXIFo Bh0jo+CK34VeHRD6lpcpA==
UI-OutboundReport: notjunk:1;M01:P0:BI5jlBM60Mw=;sA8o007zJVXsmaIaHtFRphvEUap E1gdqRr1jCodkS1cAH9AKBPLAE0Bci2CZ9bv7JAohdcKleZAbGPx0CbPQB2ywIZCB2uOEgOMP bcg7zVgg6JDTGPImuoV8CP4rkkuSG6fl++mBRcU1QlgnGHG01/KkNaiNEUfxLv5eCcX/jrv6Z IhwZXOBtv7bVZ4BveBDrhEdqm/oYc6yP5BnI1LFFSGg3DQXnL+QV54Y9n3tKxjzk6eJQegXXv 0FrbyImqRtQ+qVXkafMOIN1pBoJsn0MoAxh3H/2rY0+xUSjfnyOGjnp+n9q7B4eWkZ4in5vfA NJWtiUuItGoP67BNZ3X3ObcPqa7uievmJNaR6eRQOd6rz4kRXgo5uybiqLB67C+C7OuszXG0z EEfAtppOIm9JCXIz0HennXnWhdeee/2GzdQpaELGFvUXViqM7Miru01aE11JreaPsZclTc1tQ ksjtPKkAZ9dDIUThEBTKWw52bxcUHqwlLL5jrnwajfTSCEDkiCU/Quxtlox6COngm/fx5CL6J zTDkIMkyE/WkRZgcaJu/3vvO7WQsYDKG1X9YwD5Z7eRS/DLh7Swq4ZnqVkEQFWDexMYtaBySn GaY3Z+a04+NqBotwQrZaitfKYUQAeq5C1Sz0ZlcQgbRhlihSwMAaNwht6JLmb2NaV6J9JYjTd 3D/EzsD7AW8cvmVuyuLdUL63p4g/Hc81DntKCDpAfag+8+xHL7x9FIN950ppGUdsDwZ/pRoov 6XQgCMukglr5bvj7bvuxEH9iNM259sVnmlaQxA5BvHWjorlF2E3FLbAKWNIfH3h5Yw8+AfyGG x9pb4832IgfJKJctX+3nH0onbRcTlCoF8BKQucIgW6i09gt50kpLsw4EL70TLpMC1X38VSDfz RUTQ4iszeOM8jeY1aGqYSdtv3FCV5RE1cXl58PxwqNIaYGbTAmClMJj6K8eaEZXApOXNDHLzJ zsmKbUwrcFW9omowgjH5ibgIo8I=
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/fWMq43DKga_MtMejEw1-blJXIKc>
Subject: Re: [tsvwg] draft-ietf-tsvwg-nqb-15.txt - 5.1 Primary Requirements, Forwarding - Departure rate
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
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: Sun, 09 Apr 2023 19:32:32 -0000

Hi Greg,



> On Apr 7, 2023, at 20:12, Greg White <g.white@cablelabs.com> wrote:
> 
> Hi Ruediger,
>  
> Apologies, sometimes it is difficult for me to understand whether you are asking me to explain to you (and the WG) a particular item, or whether you are asking me to introduce new/changed text in the draft to explain that item.
>  
> So, the draft currently says:  “The NQB queue SHOULD be given equivalent forwarding preference compared to Default. The node SHOULD provide a scheduler that allows NQB and Default traffic to share the link in a fair manner, e.g., a deficit round-robin scheduler with equal weights.”
>  
> I think this covers most of what you are asking for.  Note that up until draft-06 we did use the phrase “equal priority” but changed it to “equivalent forwarding preference” based on input from one of the DiffServ experts in the WG.
>  
> We’ve left these statements a bit flexible in part because “fairness” is in the eye of the beholder.  
> While 50/50 DRR (WRR) is considered fair in one sense (bandwidth share between the two classes),


	[SM] Is it really fair in the common sense though? Let me give you an example, if I come up with a PHB that would grant 50% of a link's capacity to traffic sourced or sinked by me, and 50% for all the other traffic, I think nobody would (without to-be-constructed external reasons to do so) consider that to be fair, even though we have only two classes "my traffic" and "others' traffic" and we do a 50/50 split between these two classes. 

> NQB flows are intended to be sparse, low-data-rate, non-capacity-seeking flows (each less than 1% of the link capacity), so I think it is a little less clear what fairness means between that class of application and the (e.g.) capacity-seeking applications in the Default queue.

	[SM] THe problem with the NQB PHB is that is really does not police enforce that NQB flows are "sparse, low-data-rate"... And "(each less than 1% of the link capacity)" only makes sense if the sensing application can actually easily and effortlessly determine the link capacity... A NQB node might be able to know its link capacity (but on variable rate links* even that is a tricky proposition) but to be able to enforce a X% of capacity limit, it would need a different PHB than the NQB one, after all rate policing is given as an option, while the recommended queue protection seems to mostly be ensuring that the NQB traffic is well-paced (and below the configured total NQB capacity share)...


*) WiFI, fixed wireless, LTE/5G, or over-subscribed access networks of nominally fixed-rate technologies


> That said, I am comfortable with 50/50 DRR as being the referenced algorithm.  But, Sebastian has recently reminded us that WRR isn’t per-flow fair unless the ratio of flow counts just happens to be equal to the ratio of weights.

	[SM] Mmmh, this is really not about strict per flow fairness, but more about that giving 50 capacity to low-volume traffic essentially prioritizes that low-volume traffic class over the "everything-else-class". Something I can also live with*, as long as this is not described as "without prioritization".

*) If you want to "isolate" one class from the latency variations of another class, you really need to (conditionally) prioritize the first class over the second, if you disagree, please explain how?


> I don’t like the idea of forbidding an implementer to implement something like AFQ if they prefer something closer to per-flow fairness.

	[SM] Well, do not put in a MUST, but a SHOULD, IIUC implementers can decide not to follow a SHOULD if they accept the consequences... But again, if flow-rate is something that you merely do not want to hinder anybody to enforce but not something you actually recommend, maybe do not enumerate flow-rate as one of the first requirements for NQB senders?


>  The guidance “share the link in a fair manner” (along with the example of 50/50 DRR) seems to me to be an ok way to say this. 

	[SM] Equal sharing between classes is what you are looking at if you want to avoid the discussion of what is "fair"...

> Also, in the end there could be a wide range of scheduler implementations that produce nearly identical results when things are operating as planned

	[SM] "when things are operating as planned" seems a rather loose requirement on a scheduler...

> (e.g. the NQB-marked flows are all compliant to the sender requirements, and there isn’t an overwhelming number of them), so the situations where it does matter (overload of some kind, non-compliant NQB-marked flows, etc.) are also the situations where the traffic protection mechanism is involved in determining the outcome.  

	[SM] I would argue that is is where we can separate the "wheat from the chaff" as far as schedulers go, those that only work in optimal conditions are not really fit for deployment on the internet. I think a standards track RFC should strive to upply a solution that is robust and reliable.


> I’ve argued (and I think you’ve agreed) that mandating a specific traffic protection algorithm isn’t what we want to do here, so I think we similarly need to leave implementation flexibility around the scheduler choice so that an implementer can choose a scheduler that works well with their traffic protection algorithm.

	[SM] This however requires data to show that the proposed queue protection algorithm can not be trivially gamed, as it eschews policing the ostensible primary requirement for NQB marking, a low traffic rate , for a far more indirect queueing score based approach?

>  
> I sense that you and I have different views on how proscriptive an IETF RFC needs to be.  I think it is a benefit to allow implementers to make some decisions about the details as long as they comply with a necessary set of requirements.

	[SM] Again if the NQB requirement is low rate, the implementation better go an assert low-rate, but that is not what the current draft seems to be advocating...


> I think this is aligned with many of the DiffServ RFCs which describe the expected behavioral requirements in fairly high level terms, and leave the details open for some variation between implementations.
>  
> In my response about “whatever” ratio, I was again responding to your question, not proposing that the draft include text along those lines.  Even so, in re-reading what I wrote, I probably should have said it differently.  The scheduling weight in DOCSIS can be set to whatever ratio the network operator chooses, i.e. the equipment does not enforce any limitations*.  The default is 90/10 (and L4S is enabled). In the case that L4S support is disabled, it could be set to 50/50 (this would align with the recommendation in the draft).  

	[SM] Will you add this recommendation into the NQB draft or the DOCSIS standards going forward, or how are such deployments supposed to figure this out?

> *The scheduling weight could also be used to configure non-L4S-related or non-NQB-related bandwidth sharing between two queues.
>  
> From your list of items below, maybe what we are missing in the draft is a clearer statement that the two queues share the same overall resources.

	[SM] This seems to be well contained in the draft already, what is missing is a description why that can not result in one class taking undue priotity over the other...


>  This is what the statement “A node supporting the NQB PHB SHOULD NOT rate limit or rate police the aggregate of NQB traffic separately from Default traffic.”  was intended to mean, but it doesn’t say that very clearly.

	[SM] Is this compatible with both the proposed 50/50 scheduler or the L4S 90/20 scheduler? The first case you can argue equal sharing between classes (even though I personally do not think this to be a desirable goal here) but in the second you can not. I might misread this though, and what you mainly are saying here is that both QB and NQB should be "served" from the capacity used for default forwarding.


Regards
	Sebastian


>  
> Greg 
>  
>  
>  
>  
> From: "Ruediger.Geib@telekom.de" <Ruediger.Geib@telekom.de>
> Date: Thursday, April 6, 2023 at 12:24 AM
> To: Greg White <g.white@cablelabs.com>
> Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
> Subject: AW: [tsvwg] draft-ietf-tsvwg-nqb-15.txt - 5.1 Primary Requirements, Forwarding - Departure rate
>  
> Hi Greg,
>  
> draft NQB is on standards track. Please specify the weights to be set for NQB and QB scheduler by requirements:
> - some generic text, not based on any implementation (which I think is roughly there). I'd appreciate text stating that QB/NQB share the same overall resources, are configured by the same priority, weight (or minimum departure rate) and also are equipped by the same priority and weight to access spare capacity. There's some text in the draft, but it is not very precise.
>  
> - to that a clarification related to your response: you write
> [GW] It can be set to whatever ratio the network operator chooses (e.g. 50/50) in the case that L4S support is disabled. 
> Please clarify "whatever" in the sense of standard track NQB: which range of NQB/QB WRR weight configurations is compliant with this draft standard? My perception was exactly 50/50, but "whatever" seems to allow for arbitrary configurations.
>  
> - I'd strongly suggest that you provide an example traceable for a fair share of readers, which from my perception is good practice of other RFC authors. You reference the DOCSIS L4S implementation, a WRR scheduler with 50/50 weights (and the same for access to spare capacity) seem good to me.
>  
> Regards,
>  
> Ruediger
>  
>  
> -----Ursprüngliche Nachricht-----
> Von: Greg White <g.white@cablelabs.com> 
> Gesendet: Donnerstag, 6. April 2023 01:57
> An: Geib, Rüdiger <Ruediger.Geib@telekom.de>
> Cc: tsvwg@ietf.org
> Betreff: Re: [tsvwg] draft-ietf-tsvwg-nqb-15.txt - 5.1 Primary Requirements, Forwarding - Departure rate
>  
> Hi Ruediger,
> See my responses below [GW].
> -Greg
>  
> On 4/5/23, 6:12 AM, "Ruediger.Geib@telekom.de <mailto:Ruediger.Geib@telekom.de>" <Ruediger.Geib@telekom.de <mailto:Ruediger.Geib@telekom.de>> wrote:
> Hi Greg,
>  
> Section "7.7.3.2 Inter-SF Scheduler" of CM-SP-MULPIv3.1-I24-221019 contains the following statement:
>  
> coupling .... the Classic Service Flow to the Low Latency Service Flow, it relies on the Inter-SF Scheduler to balance this. Weighted Round Robin (WRR) is a simple scheduler that achieves the desired results, and is recommended in [draft-ietf-tsvwg-aqm-dualq-coupled].
>  
> The above text covers L4S, not straight NQB.
> - Please explain how this WRR scheduler is configured to support straight NQB/QB without L4S being configured.
> [GW] The WRR in DOCSIS has a configurable weight.  It can be set to whatever ratio the network operator chooses (e.g. 50/50) in the case that L4S support is disabled.
>  
> - If there's no WRR scheduler, then please explain how an implementer ensures that NQB and QB fairly share the same resource, while each operate with separate queues. I'm especially interested in the part "no configurable service rate/weight etc." for the NQB queue. An example is sufficient, maybe one including a WRR scheduler, if applicable.
> [GW] Aside from WRR mentioned above, perhaps a TS-FIFO could be used?  I have to admit that I've not thought about other scheduler options extensively.
>  
> - if WRR can't be used to realise separate NQB/QB queues for an implementation, please let me know, why this isn't possible.
>  
> Regards,
> Ruediger
>  
>  
> -----Ursprüngliche Nachricht-----
> Von: Greg White <g.white@cablelabs.com <mailto:g.white@cablelabs.com>>
> Gesendet: Freitag, 24. März 2023 21:24
> An: Geib, Rüdiger <Ruediger.Geib@telekom.de <mailto:Ruediger.Geib@telekom.de>>
> Cc: tsvwg@ietf.org <mailto:tsvwg@ietf.org>
> Betreff: Re: [tsvwg] draft-ietf-tsvwg-nqb-15.txt - 5.1 Primary Requirements, Forwarding
>  
>  
> Hi Ruediger,
>  
>  
> FYI I've added an issue in the GitHub tracker to ensure this gets resolved.
> https://github.com/gwhiteCL/NQBdraft/issues/32 <https://github.com/gwhiteCL/NQBdraft/issues/32>
>  
>  
>  
>  
> I'll try to answer your question.
>  
>  
> [RFC2598]: The EF PHB is defined as a forwarding treatment for a particular
> diffserv aggregate where the departure rate of the aggregate's
> packets from any diffserv node must equal or exceed a configurable
> rate. The EF traffic SHOULD receive this rate independent of the
> intensity of any other traffic attempting to transit the node. It
> SHOULD average at least the configured rate when measured over any
> time interval equal to or longer than the time it takes to send an
> output link MTU sized packet at the configured rate. (Behavior at
> time scales shorter than a packet time at the configured rate is
> deliberately not specified.) The configured minimum rate MUST be
> settable by a network administrator (using whatever mechanism the
> node supports for non-volatile configuration).
>  
>  
> [NQB]: ... the NQB PHB provides a shallow-buffered, best-effort service as a complement to a Default deep-buffered best-effort service. ... A node supporting the NQB PHB makes no guarantees on latency or data rate for NQB-marked flows, but instead aims to provide an upper-bound to queuing delay for as many such marked flows as it can and shed load when needed.
>  
>  
> So, NQB PHB does not have a configurable departure rate, nor does it guarantee that NQB traffic will receive any particular departure rate, regardless of the presence of other traffic of any intensity.
>  
>  
> <snip>