[tcpm] Cwnd growth after fast convergence in CUBIC

"Rosenblum, Wesley" <wesleyr@amazon.com> Thu, 05 November 2020 19:32 UTC

Return-Path: <prvs=571d08e49=wesleyr@amazon.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 C96383A19C8 for <tcpm@ietfa.amsl.com>; Thu, 5 Nov 2020 11:32:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.599
X-Spam-Level:
X-Spam-Status: No, score=-9.599 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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazon.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 x6DvQP7T4jJD for <tcpm@ietfa.amsl.com>; Thu, 5 Nov 2020 11:32:17 -0800 (PST)
Received: from smtp-fw-33001.amazon.com (smtp-fw-33001.amazon.com [207.171.190.10]) (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 A3C913A19C5 for <tcpm@ietf.org>; Thu, 5 Nov 2020 11:32:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1604604738; x=1636140738; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=bA6Y2Yzrj5edLXDuMShq9TgsUscCDgO5Pd9H/kPva9k=; b=DscJwzZLBxVp/N7GP6JOqvHK0OqqGnMSJL7gf1cty+eL7qUUuZHxwQ6C N38JcF7napon3I2bh8sHA4GbUrvZOLhiDE5CUhujqKdLK4LIoA2BfecV/ z0v0KJBx69HxIXl6/NSPH0OH7X7SB2kYs9XpyHFtabf7k6S4iU/ksIKpq Q=;
X-IronPort-AV: E=Sophos;i="5.77,454,1596499200"; d="scan'208";a="91073281"
Received: from sea32-co-svc-lb4-vlan3.sea.corp.amazon.com (HELO email-inbound-relay-1d-474bcd9f.us-east-1.amazon.com) ([10.47.23.38]) by smtp-border-fw-out-33001.sea14.amazon.com with ESMTP; 05 Nov 2020 19:32:10 +0000
Received: from EX13MTAUWC002.ant.amazon.com (iad12-ws-svc-p26-lb9-vlan3.iad.amazon.com [10.40.163.38]) by email-inbound-relay-1d-474bcd9f.us-east-1.amazon.com (Postfix) with ESMTPS id C731FA2088 for <tcpm@ietf.org>; Thu, 5 Nov 2020 19:32:09 +0000 (UTC)
Received: from EX13D03UWC001.ant.amazon.com (10.43.162.136) by EX13MTAUWC002.ant.amazon.com (10.43.162.240) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 5 Nov 2020 19:32:08 +0000
Received: from EX13D03UWC001.ant.amazon.com (10.43.162.136) by EX13D03UWC001.ant.amazon.com (10.43.162.136) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 5 Nov 2020 19:32:08 +0000
Received: from EX13D03UWC001.ant.amazon.com ([10.43.162.136]) by EX13D03UWC001.ant.amazon.com ([10.43.162.136]) with mapi id 15.00.1497.006; Thu, 5 Nov 2020 19:32:08 +0000
From: "Rosenblum, Wesley" <wesleyr@amazon.com>
To: "tcpm@ietf.org" <tcpm@ietf.org>
Thread-Topic: [tcpm] Cwnd growth after fast convergence in CUBIC
Thread-Index: AQHWs6pZgRHriaRhl0KFJQo63h8sSg==
Date: Thu, 05 Nov 2020 19:32:08 +0000
Message-ID: <C0FCC036-0040-4C2A-9C39-15DF1A9A1146@amazon.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.42.20101102
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.43.162.144]
Content-Type: text/plain; charset="utf-8"
Content-ID: <3348514639CC02448DC533B8D21CEF65@amazon.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/O7Q55oXcoI1XNBZ_wAQOMdhRQNY>
Subject: [tcpm] 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: Thu, 05 Nov 2020 19:34:22 -0000

In RFC8312, section 4.6, the fast convergence heuristic specifies to further reduce W_max when a decrease in available bandwidth is detected. After W_max has been further reduced, W_cubic(0) will be less than cwnd, since W_max is now less than the previous cwnd. When entering congestion avoidance, this can cause the target congestion window to be less than the current congestion window. For example, say cwnd = 100, beta_cubic = .7 and a congestion event occurs:

W_max = cwnd = 100;
W_max = W_max*(1.0+beta_cubic)/2.0 = 85   // further reduce W_max for fast convergence

cwnd = cwnd * beta_cubic = 70	          // window reduction
W_cubic(0) = W_max * beta_cubic = 59.5

If we were to enter congestion avoidance at this point, with a small enough RTT, the target candidate congestion window as calculated by W_cubic(t+RTT) may be less than the current congestion window (~59.5 < 70). 

My question is: How should the cwnd be adjusted in congestion avoidance when it is below the target candidate congestion window? If we were to follow section 4.3 and increment cwnd by (W_cubic(t+RTT) - cwnd)/cwnd, this would result in a negative increment, which doesn’t make sense to me. The Linux CUBIC implementation adds a “very small increment” in such a case: see https://github.com/torvalds/linux/blob/master/net/ipv4/tcp_cubic.c#L293-L297. Does anyone know why Linux adds that increment? My inclination is to just leave the cwnd as is and not make any adjustment when target cwnd <= cwnd, but I’m wondering if there is any other guidance for this case.

Thanks,
Wesley