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
>