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

Sebastian Moeller <moeller0@gmx.de> Thu, 06 April 2023 08:15 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 C02A4C15152B for <tsvwg@ietfa.amsl.com>; Thu, 6 Apr 2023 01:15:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.547
X-Spam-Level:
X-Spam-Status: No, score=-2.547 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_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 UBbH5FyqpNot for <tsvwg@ietfa.amsl.com>; Thu, 6 Apr 2023 01:15:17 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (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 4D0CEC14CE2B for <tsvwg@ietf.org>; Thu, 6 Apr 2023 01:15:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1680768911; i=moeller0@gmx.de; bh=DaObxD2FDJ5xVZE10FD1erYvruh3kJyj0cSj+76D1RI=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=TrZfpf86MpTxpQd9ls3y3vjyYeLsS+9rSAz5mE67HMsUGFBx86VPgEHyzqNhnYHhp NAiXXD3OMDQgIH0AcarQR9z7LLKxOwweCCcpngXPLlPm6JZid1gwLRBUOpJxId+A2i zlIR/yE354R2IRRdQeEKS1w6qFDi4GX1teKpx8w+6dZFQzg2t9+6hMEnIpE2uYt/5d U4fjUG7QfABQ0Ah99OgRBbA3wDMC1U3EncMa2oXsv5GeJzCD3N/GACsP1TjgfyiUaK oJ7A/lVM0IDIrlHp3nRR72Y17UyvG6p/cVMrE3eY7IOmSxkfdEBWfmwucy7u5JBmlg XurQK6uHA2vlA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from smtpclient.apple ([77.8.82.177]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mf0BG-1qLI5V0zyU-00gVHf; Thu, 06 Apr 2023 10:15:11 +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: <FR2P281MB1527B93DEB0D26DD82443B749C919@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM>
Date: Thu, 06 Apr 2023 10:15:09 +0200
Cc: Greg White <g.white@cablelabs.com>, tsvwg@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <A69E640C-B8CD-4586-B81E-D633946BCF0C@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> <098D4F77-2D8D-487B-BCA5-45EE67626A46@gmx.de> <FR2P281MB1527B93DEB0D26DD82443B749C919@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM>
To: Ruediger.Geib@telekom.de
X-Mailer: Apple Mail (2.3696.120.41.1.2)
X-Provags-ID: V03:K1:tKTNBoj7DCW/vm/7F25SdVS2eEX4ccutzwXSdrClvr+7N8NEizi H8E+7BMWZ75qlNuie2MQMFfMzaRKJ2vUlmSv6ECIVYCvVQUQijyZMc8bBM5DyZJVWNC7IpM xd4e6o8SQy5+iIzOMyMAbfgt3dORH4ScD2tjiMgXtHKe0GYAD6HdwmZux7jXyuVjInQbses d5N98uUt+kQJyszXP/pww==
UI-OutboundReport: notjunk:1;M01:P0:CFXqv9mI1AM=;NH6Cq9W9e3dA8hx5q9hTznvXjVm VDrm905ek2LC+S5CPZAFh4cyyJRVx/3xk+dSDLqTK+rEUidOGikSS1tmMeoIzzpc6p2F1nb31 akyodTtHA3WDnssfUbQnQ6iFpRNJi6/z/xKIxFvD8GOjcBWtUww9ghjPOxBI6BrjfNvRUjw1I pGjgWWNwtuiLrBuOXniNF+OPReQsy65PGl9WEG4I3+xnl2naS6Gw9F2GqE5Tyfu10bRwFvbVG rQYHGuQhljNENsuDG0kfV9z7latX55FPLYqpCymrmZsr20f8lIFR8bh1lK2d7PwrPS0yhuleX G18k+9UOipmr5fiyh9BG555Un552eKnj6jluStZNXD3lhudq3pQMjPaEpYf8ZT4g7+T5V1Bn5 a7Z/4Vy0KI8XwB3xUwzldyCqjjYdn+m0yVzLAVL8yPU8EFghlMS0j0pi+J+XFbZuMFgpcftP/ ScWDdUhzc2zizL5W1iys6hEkgtg1gSC+XT9LfUAl9YPZsy2LDE4qcCyzmQ+hhWYxTMt/T+bdZ WVbETBa31yOXcLvAM1Dk4uBIqnhlNF6HuCzkLYvLDk7sze+HFJUIa40GXsuBnrFwDTTEXtRet DOdqDlBmolQVGy6FQkgrpxUhBFTfDlbP2n31koHYLRRN6tbk+XPFgiJdQfIZ4G4L6aoAW0JQK 8ipbFLITcY2Ro4r9QipeNaP2/1pw2SMK7pnjI6Zxb54w6WkcaIJC8//0UWO9Kyu+AN/sjx7Cd SrCe1f+ieulKt2O/q3Ese3d7broNyqrUuUn6KzDnXREKZjDcugI5wPP/TaQCQoRs13HJXCaAA DFBVOMhxdKrv/arFmHC/9KvyFVPVpJxGnl9vXv49DefzEZ0wWE283e9V50dkXMzfPPSTeO3sb j7NsLk3+8rYLFS5i3/Rc1anfJZylm5DzjHvPKsXbrEP0+L6uf6ZMWNoHFM01PMuP4EmlFbtno 1udvxAWapnE7hOWbDHXHRu2g2Q0=
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/JPSpRqm_0CXRKwdoAy9ryN9yWIs>
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: Thu, 06 Apr 2023 08:15:21 -0000

Hi Ruediger,

> On Apr 6, 2023, at 09:30, <Ruediger.Geib@telekom.de> <Ruediger.Geib@telekom.de> wrote:
> 
> Hi Sebastian,
> 
> I haven't been involved in the measurements characterizing L4S. I'd hope (but I'm not sure) that the L4S queue coupling results in roughly equal congestion in both queues, once one is starting to be congested.

	[SM] This only holds for responsive traffic in the LL-queue. The queue is designed to not drop packet, only mark or, if queue protection is enabled, to move a full "flow" into the non-LL queue. For non-responsive traffic (the type NQB is intended for) there os no push back, as far as I understand. Pete's measurements already demonstrated a number of cases where all that conserves some non-LL traffic throughput is the ~10% default weight for the non-LL queue. So no, the queue coupling is not robust and reliable (a fact the L4S designers implicitly conceded by putting in the weighted scheduler back-stop I would argue). Now, it is possible that alternative L$S-AQMs could avoid this problem, but neither DUalQ nor the related AQM set-up described in the DOCSIS specifications are such alternative implementations and both seem to be easily exploitable.


> Also, if unresponsive traffic is present in the L queue (I'd wonder how a single first C flow would be able to kick in, while standard conformant L4S flows already saturate a link).

	[SM] Well, DualQ specifies a weighted scheduler LL/non-LL 90/10 as back-stop. I assume that would trigger in such a situation. Also if the non-responsive flow's rate exceeds 90% of the capacity the optional queue-protection might kick in, but with faster and faster access links, it becomes IMHO more likely that a traffic source might end up being application limited ad hence might well stay below the critical 90% mark (note that these 90% are for the aggregate LL queue traffic, so if there are multiple flows in the LL-queue they need to share that capacity).


> Otherwise, the C queue will be pretty much starved. That said - I'm not an L4S expert and rely upon the measurements executed during evaluation.

	[SM] These measurements where IMHO performed (see https://github.com/heistp/l4s-tests), and confirmed that under reasonable (but non-optimal) conditions the L4S DualQ falls back to the configured weights of the back-stop scheduler. What was controversial is whether that condition would technically qualify as "starvation" and whether it was sufficiently likely to matter, however none of the L4S proponents was willing to offer a stringent definition of what "starvation" actually means let alone "sufficiently likely". At least that is my recollection*. 
	In L4S' defense, it does offer methods/heuristics that with responsive traffic of similar RTTs will end up sharing roughly equitably between the two queues, albeit not robustly or reliably...

Regards
	Sebastian

*) I was and am on record that L4S should never have been granted RFC status, so I am not unbiased on this topic.


> 
> Regards,
> 
> Ruediger
> 
> -----Ursprüngliche Nachricht-----
> Von: Sebastian Moeller <moeller0@gmx.de> 
> Gesendet: Donnerstag, 6. April 2023 08:41
> An: Geib, Rüdiger <Ruediger.Geib@telekom.de>
> Cc: Greg White <g.white@cablelabs.com>; tsvwg@ietf.org
> Betreff: Re: [tsvwg] draft-ietf-tsvwg-nqb-15.txt - 5.1 Primary Requirements, Forwarding - Departure rate
> 
> Hi Ruediger,
> 
>> On Apr 6, 2023, at 08:24, <Ruediger.Geib@telekom.de> <Ruediger.Geib@telekom.de> wrote:
>> 
>> 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.
> 
> 	[SM] The DOCSIS scheduler defaults to 90% LL-queue (used for NQB) and 10% classic; this is supposed to be OK as L4S-flows will scale down quickly on cross-pressure from the classic queue. However unresponsive NQB traffic is not expected to scale back and hence will be able to gain ~90% of capacity if sufficiently well-paced to avoid the optional queue-protection functionality (that does not asster maximal per-flow rates, but simply looks at the queueing caused by a flow, which can be minimized by high-precision pacing).
> 	I think the NQB draft should mention this in the "3.3. Relationship to L4S" section explicitly*. The point here is that just moving NQB traffic onto an L4s AQM relies fully on the sender of NQB traffic to voluntarily follow the recommended rate limits (which as we discussed separately are hard to get right, how should n endpoint using rate-limited traffic ever know what the "true" link capacity actually is to scale its permissible rate to, but that is a different kettle of fish). 
> 
> 
> Regards
> 	Sebastian
> 
> 
> *) With that I mean that a standard compliant L4S AQM will not assert that NQB and QB traffic share a link equitably and that the imbalance can be as high as the scheduler weights for a dualQ AQM imply. Sure there are other potential implementations for an L4S AQM, but e.g. for the one described in the DOCSIS specifications with its default 100*230/256 = 89.84375% LL weight it seems worth mentioning that NQB traffic can gain up to 90% of capacity, OR if I happen to be incorrect in my interpretation, WHY the NQB class will not be able to gain an unfair advantage.
> 
> 
>> 
>> 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>
>