Re: [tsvwg] "Pacing" requirement is lost in L4S

Vasilenko Eduard <vasilenko.eduard@huawei.com> Wed, 24 April 2024 07:46 UTC

Return-Path: <vasilenko.eduard@huawei.com>
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 5FDD7C1522B9 for <tsvwg@ietfa.amsl.com>; Wed, 24 Apr 2024 00:46:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.892
X-Spam-Level:
X-Spam-Status: No, score=-1.892 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=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
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 kaullgeheFEH for <tsvwg@ietfa.amsl.com>; Wed, 24 Apr 2024 00:46:20 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C9737C15154D for <tsvwg@ietf.org>; Wed, 24 Apr 2024 00:46:19 -0700 (PDT)
Received: from mail.maildlp.com (unknown [172.18.186.31]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4VPWFn1mtPz6JBdj; Wed, 24 Apr 2024 15:43:57 +0800 (CST)
Received: from mscpeml100004.china.huawei.com (unknown [7.188.51.133]) by mail.maildlp.com (Postfix) with ESMTPS id 159141400F4; Wed, 24 Apr 2024 15:46:16 +0800 (CST)
Received: from mscpeml500004.china.huawei.com (7.188.26.250) by mscpeml100004.china.huawei.com (7.188.51.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Wed, 24 Apr 2024 10:46:15 +0300
Received: from mscpeml500004.china.huawei.com ([7.188.26.250]) by mscpeml500004.china.huawei.com ([7.188.26.250]) with mapi id 15.02.1258.028; Wed, 24 Apr 2024 10:46:15 +0300
From: Vasilenko Eduard <vasilenko.eduard@huawei.com>
To: Greg White <g.white=40CableLabs.com@dmarc.ietf.org>, Neal Cardwell <ncardwell@google.com>
CC: "tsvwg@ietf.org" <tsvwg@ietf.org>
Thread-Topic: [tsvwg] "Pacing" requirement is lost in L4S
Thread-Index: AdqSNQebXSBBdSUyTsuxQQxBxCIgzwAFxB4AAMGxtNAAE9GxgAAdz++w
Date: Wed, 24 Apr 2024 07:46:15 +0000
Message-ID: <f771e5347116451ab05811bda21970c5@huawei.com>
References: <a19c38376c7541b89a3d52841141fa0c@huawei.com> <CADVnQym-2e7dMeFKSZp-xY7j_vcN349AX_yBTqt0giai4VzHoQ@mail.gmail.com> <b5652106fd66420d92ab71496208b1bf@huawei.com> <105E28E3-C456-4B9A-B569-F7CFDD0E6381@CableLabs.com>
In-Reply-To: <105E28E3-C456-4B9A-B569-F7CFDD0E6381@CableLabs.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.199.56.41]
Content-Type: multipart/alternative; boundary="_000_f771e5347116451ab05811bda21970c5huaweicom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/693hb0NeJyoeNl3KMtoHN1RHwzE>
Subject: Re: [tsvwg] "Pacing" requirement is lost in L4S
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: Wed, 24 Apr 2024 07:46:24 -0000

Ops, I did not read RFC 9331, because it is just a justification for why ECN(1) is needed.
Reading RFC 9330 (L4S architecture) and 9332 (Double Queue) – it was evident why L4S needs ECN(1).
I have skipped it as redundant and very duplicated to RFC 9330.
Looks like I was wrong with the first impression.

I am a little worried about the exact number 250us on the bottleneck – it would be difficult to achieve.
IMHO: just the requirement to minimize it would be enough (with some explanations).

Actually, burstiness prevention is not a requirement for Prague only (as stated by URL),
It MUST be a requirement for any CCA.
Eduard
From: Greg White <g.white=40CableLabs.com@dmarc.ietf.org>
Sent: Tuesday, April 23, 2024 23:18
To: Vasilenko Eduard <vasilenko.eduard@huawei.com>; Neal Cardwell <ncardwell@google.com>
Cc: tsvwg@ietf.org
Subject: Re: [tsvwg] "Pacing" requirement is lost in L4S

I realize that this discussion was really intended to be more of a rate-based vs. window-based CC discussion, but on the subject of a pacing requirement in L4S (using the short-time-scale meaning), there is also one of the “Prague Requirements” in RFC9331 https://www.rfc-editor.org/rfc/rfc9331.html#l4sid_Prague_req-burstiness:


  1.  A Scalable congestion control is expected to limit the queue caused by bursts of packets. It would not seem necessary to set the limit any lower than 10% of the minimum RTT expected in a typical deployment (e.g., additional queuing of roughly 250 us for the public Internet). This would be converted to a number of packets by multiplying by the current average packet rate. Then, the queue caused by each burst at the bottleneck link would not exceed 250 us (under the worst-case assumption that the flow is filling the capacity). No normative requirement to limit bursts is given here, and until there is more industry experience from the L4S experiment, it is not even known whether one is needed -- it seems to be in an L4S sender's self-interest to limit bursts.


From: tsvwg <tsvwg-bounces@ietf.org<mailto:tsvwg-bounces@ietf.org>> on behalf of Vasilenko Eduard <vasilenko.eduard=40huawei.com@dmarc.ietf.org<mailto:vasilenko.eduard=40huawei.com@dmarc.ietf.org>>
Date: Tuesday, April 23, 2024 at 2:14 AM
To: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org<mailto:ncardwell=40google.com@dmarc.ietf.org>>
Cc: "tsvwg@ietf.org<mailto:tsvwg@ietf.org>" <tsvwg@ietf.org<mailto:tsvwg@ietf.org>>
Subject: Re: [tsvwg] "Pacing" requirement is lost in L4S

Hi Neal,
Big thanks for your answer.

[snip]
2.
Section 8 in general is “Security”. People typically do not read that section.
Requirements are in section 4 - It has nothing about burstiness.
The quote from section 8.2 has a little sense and may be interpreted very loosely.
Not many people would be capable of giving the interpretation that you did.

I did not read the Prague CCA yet because it has the status “personal opinion with zero deployments”.
It may be that it addresses the burstiness properly.
I am trying to understand and predict what will happen next, Prague does not look yet as the probable future.

Eduard

From: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org<mailto:ncardwell=40google.com@dmarc.ietf.org>>
Sent: Friday, April 19, 2024 17:24

On Fri, Apr 19, 2024 at 4:39 AM Vasilenko Eduard <vasilenko.eduard=40huawei.com@dmarc.ietf.org<mailto:40huawei.com@dmarc.ietf.org>> wrote:
Then I see the important requirement that is missing in L4S.

The primary requirement for CC is that it "should not grow the buffer on the bottleneck link".
It is very disputable: is "the Scalable" requirement about it or not? Let's pretend that it is about it.

Then the next critical requirement is "pacing" which is missed in L4S completely.

IMHO it is not at all fair or accurate to say that L4S misses the pacing requirement. :-)
The pacing requirement is implicit in RFC 9330, at the very least in Section 8.2,  'Latency Friendliness':
   https://www.rfc-editor.org/rfc/rfc9330.html#section-8.2
That section says: "Like the Classic service, the L4S service relies on self-restraint to limit the rate in response to congestion. In addition, the L4S service requires self-restraint in terms of limiting latency (burstiness)." The only approach I'm aware of to limit the "rate" and "burstiness" of a flow, and the "latency" that it imposes, is to use pacing.

And this is explicit in Section 2.5.1, "Packet Pacing", of the Prague congestion control draft, which is part of the L4S suite of documents:
   https://www.ietf.org/archive/id/draft-briscoe-iccrg-prague-congestion-control-03.html#section-2.5.1
That section says: "A Prague CCA MUST pace the packets it sends to avoid the queuing delay and under-utilization that would otherwise be caused by bursts of packets..."

best regards,
neal