Re: [tcpm] finalizing CUBIC draft (chairs' view)

Jonathan Morton <> Thu, 13 October 2022 10:09 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D713CC1522A6; Thu, 13 Oct 2022 03:09:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.859
X-Spam-Status: No, score=-1.859 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 9c5HSMo36kRN; Thu, 13 Oct 2022 03:09:41 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:4864:20::22e]) (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 (Postfix) with ESMTPS id 795B9C14CF1D; Thu, 13 Oct 2022 03:09:41 -0700 (PDT)
Received: by with SMTP id h8so1680581lja.11; Thu, 13 Oct 2022 03:09:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Bx79x5csEQ7OfmO4+4YzT9eLh3A/zc+3WKf68kWHwlg=; b=FEPSxVKC9j6aLGqhI8kMFKFMSOs8pdOAjpdTbEAQF+8EmtBRm7jCxIOq92s41KDVVy 3pjhVsLPgv5aKmmFIKOXy1Y+cGcTUk7ND3Zj7YUvYcX8QX3GgzdF83ZM40wT21l1K+2X V1xYJZy5Dopv6xko647nPt6nSO6p4Keimh1R+XZclEuR8HZyTqlal/+ppChMJqJcERJ/ 0OxnzHA/1HmO0ZlauPB2gR1ioJAYePFETJt6wm8cz4TrR6wLAjoONLOiwFIk6ksu8Ut8 JH4k1xV6tlni9TV3lhas+eXM/D3owu0/RuldlC+C0j7GU822awRWdmYWjF7kHJz9ibYO qFRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Bx79x5csEQ7OfmO4+4YzT9eLh3A/zc+3WKf68kWHwlg=; b=DDXB6bt5K3h+/mrGb0CjIQGpk2KYA9GEAXyDUhL1bWzupvqVYfNnjuVGXrkeovUQwg CyvZRhRVISh2R0MxnlpoVJhfiMDTlUyCBS8qAtq9CXh3QoscnfTQGW8l/aXo70tG5tbM ECwmiS/DfPb7i13aARG6LYRscdE80fzNuG2e5FyTCVEK60+XWVnE6QlEwOzKl2L7z8Ar RNWnBNL6A4oae3/Ud9S2yGokgLgkoTjDoMjt4KjDItMhKpSvwjrvH8MrBiC+SkZ0n2uc Ii3eBJpuxgJp0pJtTHw1QXdEKZL5zqGP1SClxD1bUU9o3rrqhGCneJ1VmUnNvVDLRknB CGYw==
X-Gm-Message-State: ACrzQf1NJYKWyrArjaKjiw2GMK2fY971kU/tPDhdWwcmUGM3E6K2pMog mRmwkISy6vYa6Rc7d8rs3mEfHquuzBY=
X-Google-Smtp-Source: AMsMyM7JMEhkfHzqE4wlIqHO6ZQt/fg86/25DDdWTInmN9E6pq/zliOsOvT6GE9mq5NzBj6GXpqM7w==
X-Received: by 2002:a05:651c:1612:b0:26f:a378:3dfd with SMTP id f18-20020a05651c161200b0026fa3783dfdmr7604361ljq.469.1665655779018; Thu, 13 Oct 2022 03:09:39 -0700 (PDT)
Received: from ( []) by with ESMTPSA id 5-20020ac25f05000000b00492f1b2ac0bsm342696lfq.101.2022. (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Oct 2022 03:09:38 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.\))
From: Jonathan Morton <>
In-Reply-To: <>
Date: Thu, 13 Oct 2022 13:09:36 +0300
Cc: Yoshifumi Nishida <>, " Extensions" <>, tcpm-chairs <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <>
To: Markku Kojo <>
X-Mailer: Apple Mail (2.3654.
Archived-At: <>
Subject: Re: [tcpm] finalizing CUBIC draft (chairs' view)
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 13 Oct 2022 10:09:41 -0000

> On 11 Oct, 2022, at 1:13 pm, Markku Kojo <> wrote:
> We cannot have evidence if nobody has done any measurements. The impact to other coexisting traffic cannot be observed without *measuring* it.

On this point, I have prepared a "neutered" version of Linux CUBIC called LINEAR, specifically to explore this topic.

Essentially LINEAR is CUBIC, but with the polynomial growth curve removed so that it always operates in Reno-compatible mode, and with the facility to be easily configured (currently at compile time) for different values of beta (and the corresponding value of alpha).  Other features such as HyStart are still present, as they are relevant to dynamic performance when exiting slow-start.

Currently we have the following variants which can be instantiated and intermixed freely:

- LINEAR-A with beta=0.5, simulating NewReno plus HyStart.

- LINEAR-B with beta=0.7, simulating the Reno-compatible mode of CUBIC.

- LINEAR-C with beta=0.85, the most aggressive value permitted by RFC-8511.

Other values could easily also be tried if desirable.  In each case the corresponding alpha value is computed as per the RFC-8312 formula.  The baseline code was taken from Linux 5.10, so might not reflect the very latest fixes.

Pete Heist and I expect to conduct various tests on their performance and interaction in the near future, exploring both static (steady-state congestion avoidance) and dynamic (exiting slow start, step changes in channel capacity, start-up and shut-down of competing flows) behaviour.  Various path characteristics, particularly baseline RTT and queue type, will undoubtedly be relevant for testing.  We should be able to use the "harm metric" to quantify effects on competing traffic, again using a free choice of congestion controls.

 - Jonathan Morton