Re: [tcpm] alpha_cubic
Bob Briscoe <ietf@bobbriscoe.net> Tue, 28 September 2021 12:10 UTC
Return-Path: <ietf@bobbriscoe.net>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 166113A2B28 for <tcpm@ietfa.amsl.com>; Tue, 28 Sep 2021 05:10:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RCWyJHQPfwJL for <tcpm@ietfa.amsl.com>; Tue, 28 Sep 2021 05:10:52 -0700 (PDT)
Received: from mail-ssdrsserver2.hostinginterface.eu (mail-ssdrsserver2.hostinginterface.eu [185.185.85.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5FA803A2B26 for <tcpm@ietf.org>; Tue, 28 Sep 2021 05:10:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:References:Cc:To:Subject:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=m9MTiBWRHBUfFfcJKbWpRn5ajs9Wfx/063vdQwkR6B0=; b=DPXbDLmJztonqm5mlQPTDBVsQI lE19KI4MsjputdnpTpQ4dty4/7j/ku4qaTThD9FdnUPYhi2HWURSxFNmjuIMqGhzGe1qCBDPztpb+ GWGNLZ3NbLUCnwJWn8+PbIvrRpHOcyOThPmicReN4ov05GwEKxfBqTH23eQwAV+FcnsNM8SU7NRO5 xG9FlsMdUEa/JWUi3cAXMejp4CGtTobxAcS1bL/hPxUMMyTRobFx3UxE3Jb58Ses/xcBCB/m9avfN wPIIkNMzvxxXvdWScA59JQbe4CDq25tCj1dL/nJbwM3VEGkzg8xEcDPoF3/jelUI60zXG4BWpfhRQ cpCbZ/YA==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:46046 helo=[192.168.1.13]) by ssdrsserver2.hostinginterface.eu with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from <ietf@bobbriscoe.net>) id 1mVBwi-002VHF-92; Tue, 28 Sep 2021 13:10:48 +0100
From: Bob Briscoe <ietf@bobbriscoe.net>
To: Neal Cardwell <ncardwell@google.com>
Cc: Yoshifumi Nishida <nsd.ietf@gmail.com>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Markku Kojo <kojo=40cs.helsinki.fi@dmarc.ietf.org>
References: <CAAK044SjMmBnO8xdn2ogWMZTcecXoET1dmZqd6Dt3WzOUi359A@mail.gmail.com> <alpine.DEB.2.21.2108300740560.5845@hp8x-60.cs.helsinki.fi> <ccfc4dc2-0570-1ba2-66a5-b5e199f11359@bobbriscoe.net> <CAAK044T-ZtZUuq4xBSuB1E9aqHOn96orXe=8ZMJHao_j4xpK3Q@mail.gmail.com> <2a3f7032-6548-061f-c6b1-a39442699228@bobbriscoe.net> <CAAK044Rcw2iryxQ7g-1nFGjnwxNkTX8NhnuGaOeDD=sQFH0sKw@mail.gmail.com> <8b67d4a4-798d-474d-aa9c-edb500f53b27@bobbriscoe.net> <CADVnQynHa6vLNdKCZ95gM6Rz+-+bz7A-D+W4VxrZ0EuAVAZG8w@mail.gmail.com>
Message-ID: <38410eee-67f5-6d31-ef00-b690fc876f6d@bobbriscoe.net>
Date: Tue, 28 Sep 2021 13:10:47 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <CADVnQynHa6vLNdKCZ95gM6Rz+-+bz7A-D+W4VxrZ0EuAVAZG8w@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------8BD69A9B2B3CA0F854614913"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ssdrsserver2.hostinginterface.eu
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: ssdrsserver2.hostinginterface.eu: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: ssdrsserver2.hostinginterface.eu: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/wu6EjjIG-0Jywk9Q-onifajy0Xs>
Subject: Re: [tcpm] alpha_cubic
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Sep 2021 12:10:58 -0000
Neal, [re-sending with trimmed message body - too big for ML] On 23/09/2021 22:46, Neal Cardwell wrote: > > > On Thu, Sep 23, 2021 at 1:16 PM Bob Briscoe <ietf@bobbriscoe.net > <mailto:ietf@bobbriscoe.net>> wrote: > > Yoshi, > > To summarize the main concern I already wrote in my first email > (but perhaps didn't summarize well): the formula assumes > deterministic marking (i.e. some but not all AQMs, and definitely > not drop-tail). I believe a large majority of the bottleneck > buffers on the Internet are still drop tail, despite the efforts > of many to recommend AQM deployment. So it's not particularly > applicable to the real Internet. > > It also assumes the sawteeth of flows with different RTTs all > centre on an operating point around the middle of the sawteeth, > which is perhaps true of RED, but not most other AQMs. > > I will still try to develop a better formula - I've thought how to > do it in principle, but haven't developed the maths for it - it's > hard. But pls don't wait for me. The Cubic RFC's good enough, and > the precise value of the Reno-Friendly alpha parameter is fairly > irrelevant given the most prevalent deployment (Linux) ignores the > RFC and sets it much more aggressively to 1 instead of 0.53 anyway. > > > Hi Bob, > > Can you please elaborate on the characterization of Linux TCP CUBIC as > using an alpha of 1 instead of 0.53? > > My experience in reading the Linux TCP CUBIC code and testing it and > examining its packet-by-packet behavior in congestion avoidance is > that it uses the 0.53 value. > > This is implemented in the code here: > https://elixir.bootlin.com/linux/v5.14/source/net/ipv4/tcp_cubic.c#L297 > <https://elixir.bootlin.com/linux/v5.14/source/net/ipv4/tcp_cubic.c#L297> > > Note that we have: > beta_scale = 15 > So the computation of: > delta = (cwnd * scale) >> 3; > means: > delta = (cwnd * 15) >> 3; > That means basically delta is: > cwnd * 15/8 > > That means, for example, for a cwnd of 100, the number of packets that > need to be ACKed before increasing cwnd is: > 100 * 15/8 = 187.5 > > Since 187.5 is 1.875x the cwnd, the rate of cwnd increase is 1 packet > / 1.875 rounds, or .533 packets per 1 round . > > So AFAICT this is implementing the correct 0.53 value you mention. [BB] OMG. I've been labouring under this misapprehension for years. I just believed what someone told me about the Linux code because I trusted them, without ever checking it. > > Where Linux TCP CUBIC Reno-emulation additive increase is not ideal is > that once cwnd reaches W_max, it does not return the additive increase > to 1, in order to match Reno for long-term cwnd growth. I have a patch > series with that and a few related fixes that I am trying to find time > to polish up and send upstream. [BB] Yes, that would be useful to fix. > > Apologies if I'm missing something or off in the weeds. :-) [BB] No, mea culpa. I'm the one in the weeds. So it matters even more whether 0.53 is really the correct value. Thank you. Bob > best regards, > neal > > > > Bob > -- ________________________________________________________________ Bob Briscoehttp://bobbriscoe.net/
- [tcpm] Concluding WGLC for draft-ietf-tcpm-rfc831… Yoshifumi Nishida
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Yoshifumi Nishida
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Lars Eggert
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Vidhi Goel
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Vidhi Goel
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Lisong Xu
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Sangtae Ha
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Markku Kojo
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Lars Eggert
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Lars Eggert
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Markku Kojo
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Yoshifumi Nishida
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Lars Eggert
- [tcpm] alpha_cubic (was: Concluding WGLC for draf… Bob Briscoe
- Re: [tcpm] alpha_cubic (was: Concluding WGLC for … Yoshifumi Nishida
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Markku Kojo
- Re: [tcpm] alpha_cubic (was: Concluding WGLC for … Yoshifumi Nishida
- Re: [tcpm] alpha_cubic (was: Concluding WGLC for … Jonathan Morton
- Re: [tcpm] alpha_cubic Bob Briscoe
- Re: [tcpm] Concluding WGLC for draft-ietf-tcpm-rf… Bob Briscoe
- Re: [tcpm] alpha_cubic Yoshifumi Nishida
- Re: [tcpm] alpha_cubic Bob Briscoe
- Re: [tcpm] alpha_cubic Neal Cardwell
- Re: [tcpm] alpha_cubic Bob Briscoe
- Re: [tcpm] alpha_cubic Bob Briscoe
- Re: [tcpm] alpha_cubic Markku Kojo
- Re: [tcpm] alpha_cubic Yoshifumi Nishida
- Re: [tcpm] alpha_cubic (Issue 1) Bob Briscoe
- Re: [tcpm] alpha_cubic (Issue 1) Bob Briscoe