Re: [tcpm] [iccrg] Cwnd growth after fast convergence in CUBIC
L X <lisongxu2@gmail.com> Sat, 07 November 2020 16:31 UTC
Return-Path: <lisongxu2@gmail.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 B33943A0A4A for <tcpm@ietfa.amsl.com>; Sat, 7 Nov 2020 08:31:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.053
X-Spam-Level:
X-Spam-Status: No, score=0.053 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=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=gmail.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 VqiXP_Mer1I2 for <tcpm@ietfa.amsl.com>; Sat, 7 Nov 2020 08:30:59 -0800 (PST)
Received: from mail-ot1-x330.google.com (mail-ot1-x330.google.com [IPv6:2607:f8b0:4864:20::330]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A44933A0A6E for <tcpm@ietf.org>; Sat, 7 Nov 2020 08:30:59 -0800 (PST)
Received: by mail-ot1-x330.google.com with SMTP id z16so4335167otq.6 for <tcpm@ietf.org>; Sat, 07 Nov 2020 08:30:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OcTkqBkldkUOg9LicKp+ibMX28fMGlheqrnZE2CvVV8=; b=VIFO9zImnRYQVXSRc9bZlcSf+OwMUYddsfI7gFoVC+U7dZlBZVWeazukUiqAoZHJGx KGr0WoAotsfm/KSAcrptOUP3KeGeqmsG8fosonslj6atBjzy//47ktbMiHR/C2n0vBSY S48kvNHyOEVtEQRPmy3V33TY+tp1lVhFF4x28phsMHOUJHkqxsdW5S2J3Jh7Dp9d/iY9 6k7c3LrRKK7BO5vN0teGNqtujcoWTs3Ym+eJDAITs5eYbVNX88KUNnPxVLZqpN+VO1SZ Uws2Kpu8yofB2oHpqzZHO0u6+uE/BDdOUAXwUudYSnhXiQ0GuJTMMN2DuhMt4x+aWofp JFmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OcTkqBkldkUOg9LicKp+ibMX28fMGlheqrnZE2CvVV8=; b=O5uTenHovW8yLL7GicnOWZoYNO56b7mNP8YU8hfLTkVqJPr9P4Uo9A/UKxXJsnit8l 90Sgm/YLb4ZT0cMoyVwXuSUo2EuqshRBiwHa4atkaB+vPRu68QXY4sYbFFRYNR4WYCBs S0h58Nhs2d1d6hRgCHqiBcSB8JyQC41cK6pBRcHpQjNfR3fpqo+pWv0QpD30ptAICfPn xJSx9a6cp2Brm3g6Gmc59MbEJAq0Ruh5prusWQuTZEw9fOWSOQOMim8Xpdt8jy+6r7/g wUrFKuZlw8II8eMoj0lfdt1ijZufxbptmgayz0OcochoRC3+T3T7kA+oJQ2bjf/Q+dRn xNVg==
X-Gm-Message-State: AOAM532NoYDDLWIlrKa5pXxnDLYGAzxvhe+WoyZUmkjFb09algJzAisO v6KC7OSHUiZs0H7nxMPzaDFhue7u/jCogFsDxLY=
X-Google-Smtp-Source: ABdhPJzERE2fUPkgTy200FylzQypjrDIcdsPP3YmtD86q3yp4O3F+jmLVmZ/YcxWGEGnomALxPTOz8z+n37W++LHeoc=
X-Received: by 2002:a9d:929:: with SMTP id 38mr5015527otp.170.1604766658341; Sat, 07 Nov 2020 08:30:58 -0800 (PST)
MIME-Version: 1.0
References: <C0FCC036-0040-4C2A-9C39-15DF1A9A1146@amazon.com> <DAB97903-5D7B-4310-9A66-0237CAE4428E@apple.com> <BC43606C-F2C7-4327-A43C-016B068514D0@eggert.org> <CADVnQy=KS1q94OsLLi86S4_hG7v4V=o8zdeS+bk1-m8d-Tb_gQ@mail.gmail.com>
In-Reply-To: <CADVnQy=KS1q94OsLLi86S4_hG7v4V=o8zdeS+bk1-m8d-Tb_gQ@mail.gmail.com>
From: L X <lisongxu2@gmail.com>
Date: Sat, 07 Nov 2020 10:30:46 -0600
Message-ID: <CAEmAVJRe+uXfD-jC11ZKNF+0n6n0gMXgb+6-uaduZB5ELkobzw@mail.gmail.com>
To: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org>
Cc: Lars Eggert <lars@eggert.org>, "Rosenblum, Wesley" <wesleyr=40amazon.com@dmarc.ietf.org>, Vidhi Goel <vidhi_goel=40apple.com@dmarc.ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>, iccrg IRTF list <iccrg@irtf.org>, Martin Thomson <mt@lowentropy.net>, xu@unl.edu
Content-Type: multipart/alternative; boundary="0000000000009e2f9f05b386da14"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/rT8ZxMqS4lSFdBYYZVXl7B_ivLw>
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 16:31:04 -0000
Yes, the RFC is different from the Linux Cubic in case of fast convergence. I would suggest changing Equation (2) of RFC 8312 to K = cubic_root((W_max* - cwnd)/C) (Eq. 2) where cwnd is the cwnd at the beginning of a congestion avoidance stage. That is, W_cubic(0)=the cwnd at the beginning of a congestion avoidance stage By the way, sometime the fast recovery stage also changes cwnd based on the number of packets in flight. As a result the cwnd at the beginning of a congestion avoidance stage may be different from W_last_max*beta_cubic. Therefore, I would prefer to using the following Equation (2) in RFC 8312 K = cubic_root((W_max* - cwnd)/C) (Eq. 2) instead of K = cubic_root(W_max - W_last_max*beta_cubic)/C) (Eq. 2) Thank you all Lisong On Fri, Nov 6, 2020 at 8:11 AM Neal Cardwell <ncardwell= 40google.com@dmarc.ietf.org> wrote: > On Fri, Nov 6, 2020 at 3:28 AM Lars Eggert <lars@eggert.org> wrote: > > 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. > > Yes, it seems that this is a case where the RFC differs from the Linux > TCP CUBIC code. > > The RFC says: > K = cubic_root(W_max*(1-beta_cubic)/C) (Eq. 2) > > which is equivalent to: > K = cubic_root((W_max - W_max*beta_cubic)/C). [B] > > The Linux code does something different: it computes K once per epoch > immediately after the fast recovery or ECN cwnd reduction phase > completes, using: > > K = cubic_root((W_max - cwnd)/C). [C] > > See the computation of bic_K here: > https://github.com/torvalds/linux/blob/master/net/ipv4/tcp_cubic.c#L254 > > For the non-fast-convergence case, the result of [B] and [C] are > equivalent, but for the fast convergence case they are not. So it > looks like in the case of fast convergence the RFC formula produces a > result that is incorrect, and does not match the Linux TCP CUBIC > behavior. > > 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 > > _______________________________________________ > iccrg mailing list > iccrg@irtf.org > https://www.irtf.org/mailman/listinfo/iccrg >
- [tcpm] Cwnd growth after fast convergence in CUBIC Rosenblum, Wesley
- Re: [tcpm] Cwnd growth after fast convergence in … Vidhi Goel
- Re: [tcpm] [iccrg] Cwnd growth after fast converg… Lars Eggert
- Re: [tcpm] [iccrg] Cwnd growth after fast converg… Neal Cardwell
- Re: [tcpm] [iccrg] Cwnd growth after fast converg… Rosenblum, Wesley
- Re: [tcpm] [iccrg] Cwnd growth after fast converg… Vidhi Goel
- Re: [tcpm] [iccrg] Cwnd growth after fast converg… Vidhi Goel
- Re: [tcpm] [iccrg] Cwnd growth after fast converg… L X