Re: [tsvwg] "Pacing" requirement is lost in L4S
Christian Huitema <huitema@huitema.net> Tue, 23 April 2024 15:29 UTC
Return-Path: <huitema@huitema.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 7DB50C14F6BE; Tue, 23 Apr 2024 08:29:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-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 DSe_EXYvH9DX; Tue, 23 Apr 2024 08:29:39 -0700 (PDT)
Received: from se03.mfg.siteprotect.com (se03.mfg.siteprotect.com [64.26.60.166]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 63B2DC14F6BC; Tue, 23 Apr 2024 08:29:39 -0700 (PDT)
Received: from smtpauth01.mfg.siteprotect.com ([64.26.60.150]) by se03.mfg.siteprotect.com with esmtp (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1rzI5Q-00DuLB-5m; Tue, 23 Apr 2024 11:29:37 -0400
Received: from [10.32.61.212] (unknown [192.0.32.236]) (Authenticated sender: huitema@huitema.net) by smtpauth01.mfg.siteprotect.com (Postfix) with ESMTPSA id 4VP5dT40PSz1627G7; Tue, 23 Apr 2024 11:29:33 -0400 (EDT)
Message-ID: <e1b233b9-060e-48f1-9e9b-2120e9cd204e@huitema.net>
Date: Tue, 23 Apr 2024 08:29:32 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Vasilenko Eduard <vasilenko.eduard=40huawei.com@dmarc.ietf.org>, Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org>
Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <a19c38376c7541b89a3d52841141fa0c@huawei.com> <CADVnQym-2e7dMeFKSZp-xY7j_vcN349AX_yBTqt0giai4VzHoQ@mail.gmail.com> <b5652106fd66420d92ab71496208b1bf@huawei.com> <CADVnQy=bi5bk1-_exwFSWfyfyBkMNZK0_y-mPN=STgn3hxe44w@mail.gmail.com> <a984a93fdea6472ab53d973a1c8354b1@huawei.com>
Content-Language: en-US
From: Christian Huitema <huitema@huitema.net>
Autocrypt: addr=huitema@huitema.net; keydata= xjMEXtavGxYJKwYBBAHaRw8BAQdA1ou9A5MHTP9N3jfsWzlDZ+jPnQkusmc7sfLmWVz1RmvN J0NocmlzdGlhbiBIdWl0ZW1hIDxodWl0ZW1hQGh1aXRlbWEubmV0PsKWBBMWCAA+FiEEw3G4 Nwi4QEpAAXUUELAmqKBYtJQFAl7WrxsCGwMFCQlmAYAFCwkIBwIGFQoJCAsCBBYCAwECHgEC F4AACgkQELAmqKBYtJQbMwD/ebj/qnSbthC/5kD5DxZ/Ip0CGJw5QBz/+fJp3R8iAlsBAMjK r2tmyWyJz0CUkVG24WaR5EAJDvgwDv8h22U6QVkAzjgEXtavGxIKKwYBBAGXVQEFAQEHQJoM 6MUAIqpoqdCIiACiEynZf7nlJg2Eu0pXIhbUGONdAwEIB8J+BBgWCAAmFiEEw3G4Nwi4QEpA AXUUELAmqKBYtJQFAl7WrxsCGwwFCQlmAYAACgkQELAmqKBYtJRm2wD7BzeK5gEXSmBcBf0j BYdSaJcXNzx4yPLbP4GnUMAyl2cBAJzcsR4RkwO4dCRqM9CHpVJCwHtbUDJaa55//E0kp+gH
In-Reply-To: <a984a93fdea6472ab53d973a1c8354b1@huawei.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Authentication-Results: mfg.siteprotect.com; auth=pass smtp.auth=huitema@huitema.net
X-Originating-IP: 64.26.60.150
X-SpamExperts-Domain: mfg.outbound
X-SpamExperts-Username: 64.26.60.150/31
Authentication-Results: mfg.siteprotect.com; auth=pass smtp.auth=64.26.60.150/31@mfg.outbound
X-SpamExperts-Outgoing-Class: ham
X-SpamExperts-Outgoing-Evidence: Combined (0.07)
X-Recommended-Action: accept
X-Filter-ID: Pt3MvcO5N4iKaDQ5O6lkdGlMVN6RH8bjRMzItlySaT+NkQJwNCVR0dtEQbQTdRiXPUtbdvnXkggZ 3YnVId/Y5jcf0yeVQAvfjHznO7+bT5xk7a5+Ng1lB41N9VxwiJWZLJ4jZrcc4c4yyf39JQqM8ez5 RqP12qDrTxqJlSNHBaZOhhS0iUOLf08VYHLcpPqdwKWvNvtyWWcJRtC4NjVAEusU9KMGVWNycjmJ lZIUDMaHFKe5hgwHtrjXFhs0ZxQlQaXPwIlI4yu/PH1NWDdGRRc268XkYuXhjc9MXer9D7qnyNng CgYGUNH3hiQfRGMVpCnh5p7SZNxSngJ5+XP0/3IT3j0Q6ffpKlvFuuyZhUvWoylUAF/ICfARkxW8 exVkktgoSAdj1SBUu3EkI8+1Pg2+8S2ucLeHRINNU3FRiFl8K4EgtgsN2Ij6q4Ui0HC+H4DH+F0Y ApP+PM0aoKlyjdpSc4WwubGK14CD8uDdBB/0oXT9NJ8c4f5t+crS/1mIoe4gFAAgvcfVkmMqwnik uW1IyST1bKGpNi+lDfF5WQk2kGQ+B2bbaWkB+474pIsDb9tZ+C5yOc2YAGkaEP1NO0MugRIYL016 Jbw5ozD6Em7J0IdteI/zTbpcDI9MsmV317NirEYyqwqMBGrw8ELiqL04/+4tRLSfT/xlhzZ3BSgz q9sd4h6KCJc5tFO9SFOoGlGCaItSoj5tvtyx4H0WuNjlDHh8k6TTdHl8m1/8O//XTYTZffDWUW5E OCBGabCD27+ftOvpa1D0zPYoishguisnzxgdXR1UU+wLPiAqgTJ5EBMO4NK7+XaMUW3mZ9JIe0Uz PWUx91I1R1m2YerlcvnputObaQTxIZ5uREOVcInpaTtUPy8VuXvtCPuNbZfPKy//ID+N6a23qUSq 5sK6rvYuw20Pp9zkgurw6GLyDE+eV1ousthGylxVdU+R0Zjb5VwOaIcUJUlV1/Dd0c6Ub02uLHDW X+3Si6yFSziQUGgj9k7LlnTp+yOS63aILwerIbtf63VNbf0lrvssY+k7ACP7Z3zaMZRIUAOAUTOw sc0Fvj0x1+0Va1IwBHy92M3yM//fqrFkKtukEv/gqfGElzMaIL48SHdwBur7C9FrSAVRxzb5bMUO ev8XhS0yaSfeThzzznW3MnIr9e4R6pidWBjgvu7pAn+NdcA8i2i+TTi3yztQOKsUoaz9x3nssV+c Nh535BFsGGG34oMougVpHMfewmGTRwxX79sHxFhUiAA=
X-Report-Abuse-To: spam@se02.mfg.siteprotect.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/4PI6_rDC2Qv0KtCAz_o_wptIpa8>
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: Tue, 23 Apr 2024 15:29:43 -0000
To answer Eduard's question, in my experiments, I assume: - BBR with ECN(1) in the Low latency queue. It does work pretty well, once the BBR code is updated to measure the average rate of incoming CE marks, and treat that as one of the indicators of congestion. The update is simple. BBR has a test "IsInflightTooHigh", which checks for packet losses. In the code, I updated that test to also check for the ECN marking rate (the alpha coefficient in Prague), and return "too high" if the marking rate is above a threshold. I also use the test ECN alpha to check whether it is time to exit the startup state, or the probe down state (do not exit if alpha is high). -- Christian Huitema On 4/23/2024 7:11 AM, Vasilenko Eduard wrote: > Hi Neal, > > The logical conclusion from your message is that BBR is better to use with ECN too. No doubt that ECN makes a difference (not a big one – see the next paragraph). > Let’s compare apple to apple. Compare “Something with ECN” against “BBR with ECN”. > > > * Ultimately, that queuing occurs because BBR employs substantial filtering of the bandwidth and delay signals it measures. And that's because public Internet paths usually have a wifi, DOCSIS, or cellular hop, and all of those technologies have very noisy delay characteristics. > Sorry, but filtering/smoothing would be needed for any CCA, even for CCA with ECN (clear congestion signal). > The problem is that the control loop in the case of CCA may not be faster than the session itself (if the session is not accumulating the big queue – we assume a good CCA algorithm). > As you said: radio could jump faster (locally) than the smallest control loop latency with ECN. > But for good control in automation theory, we need the control system to react much faster than the controlled system – It is not possible in CCA. > > Hence, I do believe that mandatory filtering/smoothing would prevent a big difference between: > > 1. BBR without ECN, > 2. BBR with ECN, > 3. Something else with ECN. > Smoothing for a few RTT intervals would be needed in all cases. It would destroy the hypothetical advantage of ECN. > > But the small advantage would be. Hence, better to implement ECN(0). Just I doubt that ECN(1) would be needed (for the separate queue) – especially on a fair apple-to-apple comparison of different CCAs with ECN. > Unfortunately, the smoothing for a few RTTs could kill even the desire to have BBR with ECN. The world could stop on BBR without ECN. > Reminder, a lot of routers out there do not support ECN in AQM. And traffic (logistic curve) is almost at a plateau (+20% left) – fewer and fewer incentives to upgrade. > > PS: By the way, I completely agree with L4S requirement that ECN should be filtered/smoothed on the source, AQM should send ECN as soon as possible. Let’s make it more flexible – software (on the host) would be easy to change. > Ed/ > From: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org> > Sent: Tuesday, April 23, 2024 16:33 > To: Vasilenko Eduard <vasilenko.eduard@huawei.com> > Cc: tsvwg@ietf.org > Subject: Re: [tsvwg] "Pacing" requirement is lost in L4S > > On Tue, Apr 23, 2024 at 4:13 AM Vasilenko Eduard <vasilenko.eduard=40huawei.com@dmarc.ietf.org<mailto:40huawei.com@dmarc.ietf.org>> wrote: > Hi Neal, > Big thanks for your answer. > > 1. > For sure, smart people prefer cooperation to competition. CCAs are competing in reality, would like authors or not. > However I do not see a value for L4S after BBR finishes the migration (BBR should become the default for Windows, Linux, iOS, and Android to claim that the transition is finished, half of the real traffic is not enough to claim the transition finished). > Theoretically, L4S has a separate queue where latency is possible to guarantee. It should be better. > But practically, if the Classic queue would be occupied almost exclusively by BBR, then what would be the additional value of a separate queue? > I strongly suspect: miserable. > It is possible to prove only by tests or better pilot deployment. > If my suspect is true then there would be no motivation for additional hardware requirements of L4S. > > The additional value of L4S is substantial, even when compared to BBR. > > BBR attempts to bound the level of queuing in the bottleneck buffer. However, for multiple BBR flows that bound can cause up to around 1.5*BDP of queuing in the steady-state, with a bottleneck that doesn't support L4S. Ultimately, that queuing occurs because BBR employs substantial filtering of the bandwidth and delay signals it measures. And that's because public Internet paths usually have a wifi, DOCSIS, or cellular hop, and all of those technologies have very noisy delay characteristics. > > L4S provides a precise ECN signal that allows senders to know when there is excessive queuing at the bottleneck. It takes the guesswork out of the equation and allows the queuing caused by flows (multiple flows or a single flow) to be *much* shorter: typically at worst O(milliseconds) of queuing, instead of the 1.5*BDP of queuing you would get from multiple BBR flows in a non-L4S bottleneck. > > best regards, > neal > > > L4S is good when compared to RENO which does not exist anymore. > L4S should be good compared to CUBIC, but for unknown reasons – it does not try to compare itself to CUBIC. > > 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:40google.com@dmarc.ietf.org>> > Sent: Friday, April 19, 2024 17:24 > To: Vasilenko Eduard <vasilenko.eduard@huawei.com<mailto:vasilenko.eduard@huawei.com>> > Cc: tsvwg@ietf.org<mailto:tsvwg@ietf.org> > Subject: Re: [tsvwg] "Pacing" requirement is lost in L4S > > 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: > Hi Experts, > I see L4S as the "Congestion Control Next Generation from IETF" (that is actually in competition with "Congestion Control Next Generation from Google"). > > IMHO BBR is not in competition with L4S. > > BBR is, at its core, about maintaining an explicit model of the network path using whatever signals are available, and using that model to try to achieve low/bounded delay, low loss, and high throughput. > > L4S, IMHO, is largely about creating a low-latency, low-loss, scalable throughput service model (metaphorically a "lane") in Internet bottlenecks, and using ECN to provide a signal to achieve that. > > There is nothing fundamentally at odds about those two models. And once the details of the Prague congestion control algorithm are finalized, one goal (as our team has mentioned for a number of years) is to have a version of BBR that can use L4S signals and coexist with Prague congestion control in the L4S lane of Internet bottlenecks. > > 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 > > > Kudos to Google because I understood its importance after one local (but big) company tested and investigated BBRv1 (then implemented it). > After tests, they concluded that pacing is even more important than low latency. (I doubt, probably latency is more important) > Imagine that the server would increase the window sharply. The Server may have a 100GE interface. It could generate 10us of traffic as a burst (or even more). > Intermediate links could be 100GE or even bigger (highly probable), and the burst would travel as it is (without any spreading). > Then this burst could arrive at 10Mbps subscriber (good performance for shared public WiFi). 0.01ms burst would become 100ms burst. > It would create many negative consequences for the bottleneck link: > - tail drop if buffers are not enough > - guaranteed huge latency > Hence, we should completely forget about W (window) while discussing CC, we have to use T (time between packets). > CC next generation "should avoid bursts regulating inter-packet time, not the information permitted in transit". > > Best Regards > Eduard Vasilenko > Senior Architect > Network Algorithm Laboratory > Tel: +7(985) 910-1105<tel:+7%20985%20910-11-05>
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Bless, Roland (TM)
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Bless, Roland (TM)
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Christian Huitema
- Re: [tsvwg] "Pacing" requirement is lost in L4S Bless, Roland (TM)
- Re: [tsvwg] "Pacing" requirement is lost in L4S Ingemar Johansson S
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Neal Cardwell
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Bless, Roland (TM)
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Saverio Mascolo
- Re: [tsvwg] "Pacing" requirement is lost in L4S Neal Cardwell
- Re: [tsvwg] "Pacing" requirement is lost in L4S Christian Huitema
- Re: [tsvwg] "Pacing" requirement is lost in L4S Greg White
- Re: [tsvwg] "Pacing" requirement is lost in L4S Greg White
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Vasilenko Eduard
- Re: [tsvwg] "Pacing" requirement is lost in L4S Neal Cardwell
- Re: [tsvwg] "Pacing" requirement is lost in L4S Saverio Mascolo
- Re: [tsvwg] "Pacing" requirement is lost in L4S Ingemar Johansson S