[tcpm] hystart++
Randall Stewart <rrs@netflix.com> Thu, 02 December 2021 18:46 UTC
Return-Path: <rrs@netflix.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 3824D3A12E5
for <tcpm@ietfa.amsl.com>; Thu, 2 Dec 2021 10:46:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.801
X-Spam-Level:
X-Spam-Status: No, score=-2.801 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.701, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
header.d=netflix.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 BPhJWJ05AnOV for <tcpm@ietfa.amsl.com>;
Thu, 2 Dec 2021 10:46:43 -0800 (PST)
Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com
[IPv6:2607:f8b0:4864:20::430])
(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 B8CEC3A089C
for <tcpm@ietf.org>; Thu, 2 Dec 2021 10:46:43 -0800 (PST)
Received: by mail-pf1-x430.google.com with SMTP id g18so424911pfk.5
for <tcpm@ietf.org>; Thu, 02 Dec 2021 10:46:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netflix.com; s=google;
h=from:mime-version:subject:message-id:date:to;
bh=+8HKXoBzgXOS93A9Ou6DjL58HnYZJ3KmEkxF0NL66Ms=;
b=gMZmoxRQJkE5TDVAgmCXWziQvH0cTuGaIOigF2RcI6YPHzua41C5JudbUGOrtRHdWC
yE+vZnc/tTJd3zn3td1Y+bo3GG7L0D+vMrs9nks3UEPRBeABsHKuoOKa3Q8dk7k1guxp
8r3HVja8I4IMZ5YJ+R8xozCN2pcHSDGuUn2xg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:from:mime-version:subject:message-id:date:to;
bh=+8HKXoBzgXOS93A9Ou6DjL58HnYZJ3KmEkxF0NL66Ms=;
b=6BcNLBz1wR4UvTxZjB0Lvn950Uka0kV7heibGn1AQbP+5UrfVam1uCT8rNOn+Jrauw
qm40Gp8/9VresWdWYI3BZ8mwgKIID61Wmbxo32HRTVDWXJX/vxBf++xV6zgyU5P+tIZg
AXd4S8PaBUrMnVcLNbmHclp8HSvO/puLvHgIHE3lgUnQLLpo5RRLcpcHWm3DNU1xxS8Y
ZWvvJoUZfg2r5TMmw5droTpgwOyJ9qwHTmXmcxWUeJl/tXY3GSBxFCUuIu36O9aS3RBF
PxzI1DLsMUinjDNt7aUZlVUtcGMQYJcjWzOzaFmdjDTGXjWhyDGLzr1fAhdAE/GKi7mk
KTyw==
X-Gm-Message-State: AOAM530jaGQLFcChgldaQ5ymuBOn3OvvLWB4LjEel+SqwElGDg2m6R2S
7ZRiauGV5f5az3AKFd+W5T3380h/p0c3cQ==
X-Google-Smtp-Source: ABdhPJwnMPYC+4sIJ96zKG7efIS77+/y3hs7AbfGOYbDzKx96drV7Mf1fIkA+/lGXggQoGQNu98HpA==
X-Received: by 2002:a65:6a12:: with SMTP id m18mr800182pgu.124.1638470801368;
Thu, 02 Dec 2021 10:46:41 -0800 (PST)
Received: from smtpclient.apple
(nonat-pool-1510-nbry-162-213-116-120.carolinaconnect.net. [162.213.116.120])
by smtp.gmail.com with ESMTPSA id a23sm325572pgh.35.2021.12.02.10.46.40
for <tcpm@ietf.org>
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Thu, 02 Dec 2021 10:46:40 -0800 (PST)
From: Randall Stewart <rrs@netflix.com>
Content-Type: multipart/signed;
boundary="Apple-Mail=_F3D1CD5E-E717-40A4-B10F-C3BB5F219900";
protocol="application/pkcs7-signature"; micalg=sha-256
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
Message-Id: <D8D48D50-6143-49D5-B3D8-C1888FFE33EB@netflix.com>
Date: Thu, 2 Dec 2021 13:46:39 -0500
To: tcpm@ietf.org
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/ckgRZah35VzNJLWCh8dAMHj9iWw>
Subject: [tcpm] hystart++
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, 02 Dec 2021 18:46:45 -0000
Greetings all:
I have implemented hystart++ off of the draft-03 for FreeBSD
(both newreno and cubic) and I have noted one thing that I think
is a bug in the spec:
Draft-03 currently says:
o if (currentRoundMinRTT >= (lastRoundMinRTT + RttThresh))
+ cssBaselineMinRtt = currentRoundMinRTT
+ exit slow start and enter CSS
<And>
- if (currentRoundMinRTT < cssBaselineMinRtt)
o cssBaselineMinRtt = infinity
o resume slow start including HyStart++
But notice that the threshold for entering CSS is (lastRoundMinRtt + RttThresh) and
the exiting of CSS back to Slow Start is (currentRoundMinRTT < cssBaseLineMinRTT), which can
under the right circumstances set up an oscillation. In the case I observed I saw lastRoundMinRtt set
to like 63ms and currentRoundMinRtt set at 115ms. And the next RTT in was 114ms.. so out of
CSS into Slow Start, but the next measurement (114ms again) pushes you back into CSS since
the lastRoundMinRTT + RttThresh is around 63ms or so.
I would think what you really want here is to set cssBaseLineMinRTT to (lastRoundMinRtt + RttThresh).
I.e. on entry:
o if (currentRoundMinRTT >= (lastRoundMinRTT + RttThresh))
+ cssBaselineMinRtt = (lastRoundMinRtt + RttThresh)
+ exit slow start and enter CSS
R
------
Randall Stewart
rrs@netflix.com
- [tcpm] hystart++ Randall Stewart
- Re: [tcpm] hystart++ Neal Cardwell
- Re: [tcpm] hystart++ Randall Stewart
- Re: [tcpm] [EXTERNAL] Re: hystart++ Yi Huang