Re: [tsvwg] "Pacing" requirement is lost in L4S
Neal Cardwell <ncardwell@google.com> Tue, 23 April 2024 13:33 UTC
Return-Path: <ncardwell@google.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 C9821C14F6E8 for <tsvwg@ietfa.amsl.com>; Tue, 23 Apr 2024 06:33:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.596
X-Spam-Level:
X-Spam-Status: No, score=-17.596 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 NqdfcutoIjII for <tsvwg@ietfa.amsl.com>; Tue, 23 Apr 2024 06:33:42 -0700 (PDT)
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 8BB14C14F695 for <tsvwg@ietf.org>; Tue, 23 Apr 2024 06:32:55 -0700 (PDT)
Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-2dd6c160eaaso29049591fa.1 for <tsvwg@ietf.org>; Tue, 23 Apr 2024 06:32:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1713879174; x=1714483974; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=PjhMuU9GbwqkQrPG+gqGDAh087JUvixjkjHGa4wDvIs=; b=XtzjOp85n8mIoldk/2uDCtXJ6X5ja3kAHVItyMXVjrWYdTjNx31SPGLCFbJ4tQSIq+ Ao7GLVAOJWpbhzumtiU/pJEaWfsCYOHuNW8F5OpO7kwf0lvb0ypnagsKtxy+k1vmSu74 C2aZie37UH92SUaiUXvDcGB6mQIZFwnkMpqfWhVoX28HQA4QyFcbgDyNucTj3R3amGQh 32GkzCvtVlN/o9oxeHiNcG4BQAh88wYBvtymwkWHCXE0dNyCLZdRisBWG9BmqfkRGBPe RfNlU++UfZoIPWBwK4lHnLOO6hWblCEj96ntUv5yNJB3/zUqGgYTareSPfonqIxMuv8c B39w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713879174; x=1714483974; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PjhMuU9GbwqkQrPG+gqGDAh087JUvixjkjHGa4wDvIs=; b=Fq0kkcrSQUJ5kEPmkrY4DTVvNwzz13nlKC3WCdXDGOf2ZsG0skFjL6DjVvidciV4uw 2l3CnV3QapCAviqj+h2i0Z0+5VsbAZzw5es/JIM92pRx2MGFZYzv7dO/HMBGwd6UXMW6 HHQ3Qb9fAU3ic85M1g34pK32ZnER48WU7LBqmOzlQ5mITqrQrqI2TxAzOqstuzDmklCi HXE1//vkmnOvcnI+V+GOaqgd3wXh0GQZfoZmsedq8UD8s9mmEe08VwM/KCPCZ16KCNzK zQ50PUn/rSWu/MOA1kAM/96kP6zSYvVHl9UuyfJkoj0JX5ausyf27g7sC+v1WTzkfAC4 LbMQ==
X-Gm-Message-State: AOJu0YyEobBKvbTt3gcsizoHygRTSEog5rWz5IgY+uTH8VpFTNTAyB0P 01TycyDNiPfopbwHy41jbT7TUnlF8NsNcWYEVplUvReBTsO/Kn4AWYlCTPjCbTBjC5U27/6k9kc IUqyVxcOojzfRKncxtdXqEg6cRHj7jFZfwpXt
X-Google-Smtp-Source: AGHT+IEJBJwpq6ILqdMFIdzSjlYfcsXvQnkUzmF6ePVs4BCbDqWKZXJ69EWMmF/R/r299usnMl0Hwy3eclM0B5/TC5I=
X-Received: by 2002:a2e:890a:0:b0:2dd:d2db:1981 with SMTP id d10-20020a2e890a000000b002ddd2db1981mr3489771lji.53.1713879173432; Tue, 23 Apr 2024 06:32:53 -0700 (PDT)
MIME-Version: 1.0
References: <a19c38376c7541b89a3d52841141fa0c@huawei.com> <CADVnQym-2e7dMeFKSZp-xY7j_vcN349AX_yBTqt0giai4VzHoQ@mail.gmail.com> <b5652106fd66420d92ab71496208b1bf@huawei.com>
In-Reply-To: <b5652106fd66420d92ab71496208b1bf@huawei.com>
From: Neal Cardwell <ncardwell@google.com>
Date: Tue, 23 Apr 2024 09:32:32 -0400
Message-ID: <CADVnQy=bi5bk1-_exwFSWfyfyBkMNZK0_y-mPN=STgn3hxe44w@mail.gmail.com>
To: Vasilenko Eduard <vasilenko.eduard=40huawei.com@dmarc.ietf.org>
Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000052c4830616c397c6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/JKoE8quvz3RaVLnEdam8wMusoKM>
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 13:33:47 -0000
On Tue, Apr 23, 2024 at 4:13 AM Vasilenko Eduard <vasilenko.eduard= 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> > *Sent:* Friday, April 19, 2024 17:24 > *To:* Vasilenko Eduard <vasilenko.eduard@huawei.com> > *Cc:* 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> 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 <+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