Re: [tcpm] [iccrg] Cwnd growth after fast convergence in CUBIC

Vidhi Goel <vidhi_goel@apple.com> Sat, 07 November 2020 03:27 UTC

Return-Path: <vidhi_goel@apple.com>
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 E399D3A00E5; Fri, 6 Nov 2020 19:27:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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=apple.com
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 1g3Hj8cE2qa1; Fri, 6 Nov 2020 19:27:40 -0800 (PST)
Received: from nwk-aaemail-lapp02.apple.com (nwk-aaemail-lapp02.apple.com [17.151.62.67]) (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 A55573A011B; Fri, 6 Nov 2020 19:27:40 -0800 (PST)
Received: from pps.filterd (nwk-aaemail-lapp02.apple.com [127.0.0.1]) by nwk-aaemail-lapp02.apple.com (8.16.0.43/8.16.0.42) with SMTP id 0A73AqYK014515; Fri, 6 Nov 2020 19:27:33 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=3UX4fVZU+U6fSWUeS09u4NCMkEfrfxa49nLm8qohjRE=; b=KZ77J5FaBiqtPCcKEx/dJIELo7KBfsVKqkxWYazG8ttKWilB2mri3aIf9th7oHor8xJB BUgFF3h3Q/M1X0JueQcwZT5eZ+UsnpjxCYfWQ4tLNhU9edYgjag2Su1EeTHLoP9H7sTB 2BtM0B6nHsmeUheMGLEnfbfWh/dbQKSFbVjwJhvluDS14nHzLrdS3E3bbGD3eE8ag+B0 9auJuHdc4l1MMmKJCSL7UcS/FN3Xjwe91Ue3bp6emHyg99LpObqQja+IALl1pcwUL/WT qVSI4/AkEKnLH2SvxZSJs1rcmRSv/5qPmSq4H2mlFSpKqzEvz2/EZShKqn0R9RoJts00 rA==
Received: from rn-mailsvcp-mta-lapp01.rno.apple.com (rn-mailsvcp-mta-lapp01.rno.apple.com [10.225.203.149]) by nwk-aaemail-lapp02.apple.com with ESMTP id 34h4gjxn90-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 06 Nov 2020 19:27:33 -0800
Received: from rn-mailsvcp-mmp-lapp02.rno.apple.com (rn-mailsvcp-mmp-lapp02.rno.apple.com [17.179.253.15]) by rn-mailsvcp-mta-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.6.20200729 64bit (built Jul 29 2020)) with ESMTPS id <0QJE00MTMPLX6210@rn-mailsvcp-mta-lapp01.rno.apple.com>; Fri, 06 Nov 2020 19:27:33 -0800 (PST)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp02.rno.apple.com by rn-mailsvcp-mmp-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.6.20200729 64bit (built Jul 29 2020)) id <0QJE00700PIC8L00@rn-mailsvcp-mmp-lapp02.rno.apple.com>; Fri, 06 Nov 2020 19:27:33 -0800 (PST)
X-Va-A:
X-Va-T-CD: d372616deca2a8b45477d746e04bd5f5
X-Va-E-CD: cc88deaa2fe6674c646bde81085e4789
X-Va-R-CD: cf165b39e9253d775e50ccbeb702d059
X-Va-CD: 0
X-Va-ID: f01332ba-9eda-4fc1-a935-e400d50525ca
X-V-A:
X-V-T-CD: d372616deca2a8b45477d746e04bd5f5
X-V-E-CD: cc88deaa2fe6674c646bde81085e4789
X-V-R-CD: cf165b39e9253d775e50ccbeb702d059
X-V-CD: 0
X-V-ID: cab4c974-66a8-40c9-b070-8db25e25f70f
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312, 18.0.737 definitions=2020-11-06_06:2020-11-05, 2020-11-06 signatures=0
Received: from [17.149.232.178] (unknown [17.149.232.178]) by rn-mailsvcp-mmp-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.6.20200729 64bit (built Jul 29 2020)) with ESMTPSA id <0QJE00HOWPLWB500@rn-mailsvcp-mmp-lapp02.rno.apple.com>; Fri, 06 Nov 2020 19:27:32 -0800 (PST)
From: Vidhi Goel <vidhi_goel@apple.com>
Message-id: <A1E8DCCF-1B04-40AB-A4DA-2C7CB8B0D482@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_72099EA6-0356-49F9-A78D-EEB817F43989"
MIME-version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
Date: Fri, 06 Nov 2020 19:27:32 -0800
In-reply-to: <BC55FC1E-6EE5-4E00-A3DA-A1A8772330BF@amazon.com>
Cc: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>, Martin Thomson <mt@lowentropy.net>, iccrg IRTF list <iccrg@irtf.org>, Christoph Paasch <cpaasch@apple.com>
To: "Rosenblum, Wesley" <wesleyr@amazon.com>, Lars Eggert <lars@eggert.org>, "Scheffenegger, Richard" <Richard.Scheffenegger@netapp.com>
References: <BC55FC1E-6EE5-4E00-A3DA-A1A8772330BF@amazon.com>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312, 18.0.737 definitions=2020-11-06_06:2020-11-05, 2020-11-06 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/gmJD-YL9584EQ-9C1KJ26Qw95Iw>
Subject: Re: [tcpm] [iccrg] Cwnd growth after fast convergence in 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: Sat, 07 Nov 2020 03:27:42 -0000

++

> Agreed, and this is basically what Vidhi has suggested as well. In my option it is slightly
> more clear to introduce cwnd into the calculation of K as Vidhi has done. I suppose it comes 
> down to where in a particular implementation one calculates K.
> 
> One note: If W_last_max were to be incorporated into K, the special case mentioned in section 
> 4.8 about exiting hybrid slow start would also need to be updated to mention setting 
> W_last_max = W_max = cwnd, as W_last_max  would not have been set in such a case. 

The way we have implemented Cubic, using W_last_max won’t work for us either. Previous suggestion of using `cwnd` works for us,
K = cbrt(W_max - cwnd / C)


> That said, the intent was to document what the Linux code was doing at the time. Is there a difference between the RFC and what Linux has been doing or is doing now? If yes, it might be time to revise the RFC.
> 
> (I think Martin Thomson also found some nits recently.)


Revising the RFC would be good. While we are on the topic, there is one more thing that could use a discussion.

Christoph (cc’ed) and I had discussed this earlier regarding alpha_aimd used for TCP friendly region. 

Currently, alpha_aimd = 3*(1-beta_cubic)/(1+beta_cubic) // for the entire TCP friendly region

But we think that once the cwnd in TF region reaches W_max, we should set the alpha_aimd to 1 to have similar behavior as standard TCP congestion algorithm (eg. NewReno)

if (W_est < W_max)
	alpha_aimd = 3*(1-beta_cubic)/(1+beta_cubic)
else
	alpha_aimd = 1


Let me know your thoughts on this. I'd be happy to work on this.


Thanks,
Vidhi

> On Nov 6, 2020, at 12:34 PM, Rosenblum, Wesley <wesleyr@amazon.com> wrote:
> 
> Agreed, and this is basically what Vidhi has suggested as well. In my option it is slightly
> more clear to introduce cwnd into the calculation of K as Vidhi has done. I suppose it comes 
> down to where in a particular implementation one calculates K.
> 
> One note: If W_last_max were to be incorporated into K, the special case mentioned in section 
> 4.8 about exiting hybrid slow start would also need to be updated to mention setting 
> W_last_max = W_max = cwnd, as W_last_max  would not have been set in such a case. 
> 
> Thanks,
> Wesley
> 
> On 11/6/20, 6:10 AM, "Neal Cardwell" <ncardwell=40google.com@dmarc.ietf.org> wrote:
>> AFAICT,  changing Eq 2 to the following might fix the RFC and make it
>> match the Linux TCP CUBIC behavior:
>> 
>>        K = cubic_root(W_max - W_last_max*beta_cubic)/C) (Eq. 2)
> 
>    best,
>    neal
>