Re: [tcpm] CUBIC rfc8312bis / WGLC Issue 6 and proposed text

Yuchung Cheng <ycheng@google.com> Wed, 13 July 2022 02:46 UTC

Return-Path: <ycheng@google.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 0C471C15948B for <tcpm@ietfa.amsl.com>; Tue, 12 Jul 2022 19:46:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.606
X-Spam-Level:
X-Spam-Status: No, score=-17.606 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1MTKwemKT5vr for <tcpm@ietfa.amsl.com>; Tue, 12 Jul 2022 19:46:11 -0700 (PDT)
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6E291C157B53 for <tcpm@ietf.org>; Tue, 12 Jul 2022 19:46:11 -0700 (PDT)
Received: by mail-wr1-x42f.google.com with SMTP id a5so13591605wrx.12 for <tcpm@ietf.org>; Tue, 12 Jul 2022 19:46:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0vTjxBa5iEis5H48sfO0URDGd1+XLOnEPA1LBMp/Fyw=; b=XiYDGt2DX7Vs6bFyg1C/ju/OUAAvDl/rWgM88uiN8W29+VpyllDFNiMeUeOoCGMuY9 u6SvKp0mqw2i82oZCUDRCjOPVPw+lAgGzQAf+MtTvSyQfzihEKvA82KSdbr3/e4qVviV tqdWJsjozGQND7FXSoqDwovTZT3/I8ZjCIA489zDZM5s7sSfGOE5pbG49fv5Gqpz50wj cbw/4wSKylVdxB6Aszuy9jsJPG2iwZYKUymVCuPTInNXCQC9od48cHGxeplil1cvOiTU nUz3TuM0fHUSQF8A/82YC9Yoi+7hlc8QjZTScu+J6kFPqOkdfeVUuCO5i6KeVhcnJZHA glpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0vTjxBa5iEis5H48sfO0URDGd1+XLOnEPA1LBMp/Fyw=; b=mM32pUED9rLUNRqvUuJnzKTPOiRVy0IbuQw9uq/AdKUPyUk63yYthcj01AocJ2Tklp W3dYw1/5rphLADlWEozKnrNt3Ps/0d5Jwxb+yIeoxzhd/PzLP4LtIqRnelApYFJKZRXT Ql5iteudf5jUI8PpuJMNZz8CeaDu8I7OryW77UagoSPjTeBq1TZhZJzykI4BRCOyK73g h1hIF8oQWlHutPTes0z9KVbnztLePDj/DkKbTaTjHz6rj+xk6THVHu9AM3A4eHQIiIjw 32Esa2F4RXgDya6xn8NasfBzashUQkdOrQT6qG0sy6wacxdME5PGN+lann+fnyBiOG9o /Bcw==
X-Gm-Message-State: AJIora8IEVwTa9vf2c0scvFOULH0FuCJVChXIs1QA+T7eFR7BcbWi6wj bLU5wFs51dGG9/CndosulrResBsoBLGc6h44RsCYhw==
X-Google-Smtp-Source: AGRyM1sd/1KaEdHkglMRoGP0BDlREv0yfMg18Tyo7sZoa82YFuCZ4ANM8coD/AVuz5gVL22oxYZbpyCL6g/v2RHAeGg=
X-Received: by 2002:a05:6000:2cc:b0:21d:76d8:1f2c with SMTP id o12-20020a05600002cc00b0021d76d81f2cmr859768wry.471.1657680369407; Tue, 12 Jul 2022 19:46:09 -0700 (PDT)
MIME-Version: 1.0
References: <alpine.DEB.2.21.2207112026000.7292@hp8x-60.cs.helsinki.fi> <31DCA869-30FA-41C6-B21F-3D71E600FFF2@apple.com>
In-Reply-To: <31DCA869-30FA-41C6-B21F-3D71E600FFF2@apple.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Tue, 12 Jul 2022 19:45:29 -0700
Message-ID: <CAK6E8=ddwJK+e8f5Jxe8AW6CmHhvRFyPxb6nhpJ-jdEtXxp5UQ@mail.gmail.com>
To: Vidhi Goel <vidhi_goel=40apple.com@dmarc.ietf.org>
Cc: Markku Kojo <kojo=40cs.helsinki.fi@dmarc.ietf.org>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Neal Cardwell <ncardwell@google.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/VsHG0QP6rdFtgjyS54vQugg_-0E>
Subject: Re: [tcpm] CUBIC rfc8312bis / WGLC Issue 6 and proposed text
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
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: Wed, 13 Jul 2022 02:46:15 -0000

AFAIK, the latest (and previous) Linux Cubic implementation does not follow
"The implementations that use _cwnd_ MUST use other measures to avoid
_cwnd_ from growing beyond the receive window"

I don't see the need to add that check in Linux as the effective
window is always the min of cwnd and rwnd.

On the other hand, Linux does restrict cwnd growth if flight size is
below cwnd but the
actual logic is more sophisticated than a "cwnd < inflight" check to
work w/ TSO chunking issue well.
https://elixir.bootlin.com/linux/latest/source/net/ipv4/tcp_output.c#L1881
(Neal cc'd here is the inventor of the advanced check)

Just want to reflect a major implementation status.


On Tue, Jul 12, 2022 at 2:01 PM Vidhi Goel
<vidhi_goel=40apple.com@dmarc.ietf.org> wrote:
>
> Thank you Markku for proposing the text. Some of this is already covered in the latest draft but I can do some edits to your proposed text and create a PR.
> I spoke to other co-authors about this suggestion as well and we are mostly ok with it.
>
>
> Vidhi
>
> > On Jul 11, 2022, at 5:37 PM, Markku Kojo <kojo=40cs.helsinki.fi@dmarc.ietf.org> wrote:
> >
> > Hi all,
> >
> > I promised to propose some text to some of the remaining issues.
> > This thread starts the discussion on the issue 6 and proposes text to solve the issue:
> >
> > Issue 6) Flightsize:
> >
> >   The current text in Sec 4.6 w.r.t using FlightSize vs. cwnd for
> >   calculating multiplicative decrease is fine except that it does
> >   not quite correcly reflect what stacks that use cwnd instead of
> >   flightsize should do and actually do. AFAIK and what was
> >   discussed in github all stacks apply some sort of restrictions
> >   to not allow cwnd to grow beyond rwnd and to not use an
> >   arbitrarily high (old) cwnd value to calculate new cwnd
> >   when a congestion event occurs.
> >
> >
> > Current text in Sec 4.6::
> >
> >  Some implementations of CUBIC currently use _cwnd_ instead
> >  of _flight_size_ when calculating a new _ssthresh_ using Figure 5.
> >
> > Proposed new text:
> >
> >  Some implementations of CUBIC currently use _cwnd_ instead
> >  of _flight_size_ when calculating a new _ssthresh_ using Figure 5.
> >  The implementations that use _cwnd_ MUST use other measures to
> >  avoid _cwnd_ from growing beyond the receive window and to not
> >  allow _cwnd_ to grow when bytes in flight is smaller than
> >  _cwnd_. This prevents a CUBIC sender from using an arbitrarily
> >  high _cwnd_ value in calculating the new value for _ssthresh_
> >  and _cwnd_ when a congestion event is signalled, but it is not
> >  as robust as the mechanisms described in [RFC7661].
> >  [Many|Most|All] TCP implementations of CUBIC that use _cwnd_ apply
> >  such measures. Likewise, a QUIC sender that also uses congestion
> >  window to calculate a new value for the congestion window and
> >  slow-start threshold is required to apply similar mechanisms
> >  [RFC 9002].
> >
> >
> > Any comments and help in formulating the text are welcome.
> >
> > Need also some guidance from TCP implementations of CUBIC to finish up the second but last sentence.
> >
> > Thanks,
> >
> > /Markku
> >
> > _______________________________________________
> > tcpm mailing list
> > tcpm@ietf.org
> > https://www.ietf.org/mailman/listinfo/tcpm
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm