Re: [tcpm] [EXTERNAL] Review: draft-balasubramanian-tcpm-hystartplusplus-01

Praveen Balasubramanian <pravb@microsoft.com> Mon, 27 April 2020 03:02 UTC

Return-Path: <pravb@microsoft.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 AD9BC3A0528 for <tcpm@ietfa.amsl.com>; Sun, 26 Apr 2020 20:02:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.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 mR49GbxU-WVN for <tcpm@ietfa.amsl.com>; Sun, 26 Apr 2020 20:02:00 -0700 (PDT)
Received: from NAM06-BL2-obe.outbound.protection.outlook.com (mail-eopbgr650090.outbound.protection.outlook.com [40.107.65.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F0E3E3A04BB for <tcpm@ietf.org>; Sun, 26 Apr 2020 20:01:59 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mhk/JB5nVcbbRZYYfErFON5X7NK/MiRtc/gGYa0y6x+P4q7DrZfu0eSCgcHBOWUakeRBJ5qMn+y+W18etfVER4fRgZoqiyzY61OP+AdpKsMCCPG6S3u+b8ZJN30GCu+8RhN5kII32DmHKU4iHVAevgofvnk4fkIuwRB6PrNDCfvYqCrY/BbONodsGLflyqKkti3f01RiNfiS7tv9swLG3Vv9mWWsmqKeCBkYI5wwc3jN5F4jOaNuq6fVh02w6xHI2/jD+BkGtlEHvYUttShP3G5c4gu+eyb9Xac6OqyUHAGOyZiFDNtMHq29z8d5IWcdr/0yO68d7XaO2gVo2T9c0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=omZKhxqJkxXX4bXnzZYQcORYPiU4qyBNaefzkE2HHYw=; b=YhHzsRAX5dnomePI7DeS+oJOFerd8E2JL9dCqfeTS3czx5aaad+me7be2qgMCvZF6gtcPiFwtzagXcfQbtA9WH3Hb0LjvDoCqHjqqm1pooviIUGf5TLxqhbq70h9kKj1T667/C7rMoDQbBjndwyEHOpP+r7rSsBN9F6wPvVhiqMOSVNBGRZ9lKt4/tSQA/wfXs17kh4yasi/C7nmzYGWgjzDAg9hiEKszLCyA5V6qM+vvEL9JfxP1hv+t27EMHz5y1B9l8HInknRqfvSCGlSIrh3x/m9T8opZcwhH8g9eirDa6N7BbsO1pxhZyWJXV75ND+xpv7lNblS/6g7ddBt+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=omZKhxqJkxXX4bXnzZYQcORYPiU4qyBNaefzkE2HHYw=; b=io/yKm9szSDIn2CcV10/D0GdOQpSnf5g1LGjJNnZyv+57qrJvRjPclij9tU/ijAdDni09mJ36ukVL+Tk4L/NvDe1whvCj/EWIL+7IdDr3oVaQ3Q6QfIxqV+VB5hZyLVelYvzo/tkQHj+eLlsUOdWP5s2Dmk8LeLHNctPKyjqjls=
Received: from CO2PR00MB0120.namprd00.prod.outlook.com (2603:10b6:102:18::18) by CO2PR00MB0181.namprd00.prod.outlook.com (2603:10b6:102:15::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2988.0; Mon, 27 Apr 2020 03:01:42 +0000
Received: from CO2PR00MB0120.namprd00.prod.outlook.com ([fe80::8459:85d:30f8:53e5]) by CO2PR00MB0120.namprd00.prod.outlook.com ([fe80::8459:85d:30f8:53e5%13]) with mapi id 15.20.2989.000; Mon, 27 Apr 2020 03:01:42 +0000
From: Praveen Balasubramanian <pravb@microsoft.com>
To: Martin Duke <martin.h.duke@gmail.com>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Thread-Topic: [EXTERNAL] [tcpm] Review: draft-balasubramanian-tcpm-hystartplusplus-01
Thread-Index: AQHV5G/QnZcSwFUa+E2KZLTsf7pwlKggULfw
Date: Mon, 27 Apr 2020 03:01:42 +0000
Message-ID: <CO2PR00MB01203A3F155DE5A8071997ABB6AF0@CO2PR00MB0120.namprd00.prod.outlook.com>
References: <CAM4esxSBzEmLyMYnQOvVWpKoXXm-hsCnouJ0iF--SEYfK-AaJw@mail.gmail.com>
In-Reply-To: <CAM4esxSBzEmLyMYnQOvVWpKoXXm-hsCnouJ0iF--SEYfK-AaJw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=pravb@ntdev.microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-04-27T03:01:41.1427938Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=66fc8c08-2fe5-4690-8f7f-10e7ce0b0260; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic
authentication-results: spf=none (sender IP is ) smtp.mailfrom=pravb@microsoft.com;
x-originating-ip: [2001:4898:80e8:1:95d7:3f73:f682:d302]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: a3433a39-2eae-4596-d0dc-08d7ea57503f
x-ms-traffictypediagnostic: CO2PR00MB0181:
x-microsoft-antispam-prvs: <CO2PR00MB0181C14D995855D48CBF21B8B6AF0@CO2PR00MB0181.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0386B406AA
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: LVKoFlO5q5AHzzNnU7UeVXRKHyDE8+ilc5o2UvmTTWACy2z1DCatZVUuS+vhuUdtiFvjpa0UvFwr36QMifDCi9m7121oTdKJFA6XDrrgPo0fsU10ThhSEPHA5WNYM+Qm29NuUP1jnznBcyhpK10lh1+/yrz5hjrY91y4RYeNUMz4/qXU9VR2Ceyr0oIujTvJt6y3RgnHthbUfXQs4Rc6bQAa/M1AMpVO/sFR+XOLdSOi/sQqIpq8/rSYUyc/gjTY2tNFatE1SZBSRceqo4fYC4okWd+CNpRpSPBF3/JjiFpo3jVBJTXArh2LtUdadKbx1TaJv2xjIXwK9ZqF22DuOJBnl9WeqwZXmcWRxU7bDa4Q0Dqs06DOGl+QpZ/l7q5SaNcr/kvgkTla0xORk92XT7VYx1bRSij7ZwPlrWWFaziBLYig32dcdzQvdkK2onkN
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO2PR00MB0120.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(376002)(346002)(366004)(396003)(136003)(5660300002)(86362001)(478600001)(9686003)(8676002)(66946007)(2906002)(82950400001)(186003)(66446008)(64756008)(66556008)(66476007)(66574012)(76116006)(6506007)(53546011)(7696005)(10290500003)(82960400001)(33656002)(8990500004)(55016002)(52536014)(316002)(8936002)(110136005)(71200400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: UvU08LvScuwWr+Z/+B1rTLBpzrKGXsX+lxAo66WQPB1IROau7k7bhyN0xFX5A+LRhO0kVaT9NULh0Rwur81OP3PKBSzcl7Wb2UwyoKpZ8yJnQNX2IGwnqfHgIxRO55IMrvQzL6Sawc5zrfl0n+jPAtGBW02lZdPvaXHL7Otzm4KgeJVEkenHTszX8VIJO4f7zLzma//bW7/2rBOk1Hc4unYovY9N/NGi5ZvZMJ/9WkXRVdDAVu92j8Kt2q92r7PeM1cGc7vzKzx0s1suQe4ditTgZL/MXuCcmGBPaDAY7GZZnd/y+qxSpTA31yuhz0koAWLGJUyUo7Myl6uxiDhurnUojY6zvnoyFW7bjBHehffdB01MeEPwIrUgQrIVTWIX3/mHDGtB3AEf7c18k71lZ+R6Yi8LP7ZIgEKJ3T6+Q1cVtQTxTc9SGOmya08BqmACqxsM/0XH0yi99Wj84MYtpfwBavVMeYcnrZtaGxB4nS50X6fsrGbJUED/mlBCOZbYPLoxS4k9WYnOs+JXCrsSiXs9Ijfp12OiAWiB/kMImSubNjqj6erGGV9qolkYRKnOWY/s2hRrMzdSIEst6WTP/hyAkBWV8lEzFnWj0WyrYNw/wLgcBNn9BDXfMUsOefbU5698P1EBxP2YStlBKM33BHfSrFVwzZ+ZBIYzcbV4v4gKQTVx9kus8MteU3EHh2mBugGNJBxxvOWFTAqtfoWCgjoFFz5kzleBXPx9puSwhO92IZReI1sBwHFaTrrami8DTwjGZ5zaaivKq6ZYbaPjmyiJWeydS0+yjIUejLDQp7NbAVrF6jvBkqmd+S5h6WEhOip5zicCc1WxYC8gRn/cwk5lqW1Ae1z7MBU7Ft+b02E=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_CO2PR00MB01203A3F155DE5A8071997ABB6AF0CO2PR00MB0120namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CO2PR00MB0120.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a3433a39-2eae-4596-d0dc-08d7ea57503f
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Apr 2020 03:01:42.3789 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YKcb4wHYj/LLvl/APO3GUfNKxkS3aC3d1C3g419rGFx3vBvYZ0a/Lr2wlzE18nxU/NYd8L+wrIqYrbc87iOrY6P0tg0eg1mCd00w4qcQogU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR00MB0181
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/gTQPIjAS9y5gFh7maO7RKPnBWf4>
Subject: Re: [tcpm] [EXTERNAL] Review: draft-balasubramanian-tcpm-hystartplusplus-01
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: Mon, 27 Apr 2020 03:02:03 -0000

Thanks for the review Martin! Sorry for the really long delay in response. Just published version 03. Comments inline prefixed by >>.

From: tcpm <tcpm-bounces@ietf.org> On Behalf Of Martin Duke
Sent: Saturday, February 15, 2020 6:20 PM
To: tcpm@ietf.org Extensions <tcpm@ietf.org>
Subject: [EXTERNAL] [tcpm] Review: draft-balasuramanian-tcpm-hystartplusplus-01


Hi Praveen,

Thanks for writing this up. It's great to hear what's actually happening out there with major implementations.

1. I think this draft has a somewhat uncomfortable relationship with ABC (RFC 3465), which for some reason is still Experimental. In each description of Slow Start (Sec 1 and 3.2) you say one MSS per ack, which is the non-ABC Reno behavior. But then the actual LSS algorithm uses bytes counted.

>> Windows TCP does use ABC but with a limit L value that’s different than RFC 3465.  We have incorporated some text that suggests use of ABC along with HyStart++. I agree that it is quite strange that ABC is experimental.

Note that for a non-ABC implementation that also uses HyStart++, this means an LSS_DIVISOR as low as 0.5 can cause LSS to be *more* aggressive than regular slow start if the receiver acks every other packet. In the non-RFC but common case where ACKs are aggregated even more aggressively, LSS can be more aggressive than slow start for arbitrarily low divisor values. I'm not sure the design has to change, but there ought to be some discussion of these considerations.

2. in section 3.2, you set the ssthresh to cwnd upon entering LSS. But then later you say "HyStart++ ends when cwnd exceeds ssthresh..." which by definition is immediately. I think you mean the normal Reno/Cubic ssthresh; perhaps it would be better to invent a new name for the value that is used in computing K.

>> That was a mistake. This is now fixed to say that HyStart++ only ends upon observing a congestion signal.

Similarly, I don't believe MIN_SSTHRESH has any relationship to the conventional ssthresh (i.e. it is not a minimum) and therefore should also be renamed.

>> That’s fair. Now renamed to LOW_CWND.

3. Section 3.3 could use some further considerations for setting these parameters. In particular, values of LSS_DIVISOR > 1 will be more aggressive than slow start, at least for low values of cwnd/ssthresh. Depending on the result of #1 above, the warning may need to be for a lower value.

>> Added text to suggest that values greater than 0.5 (value suggested in the original LSS RFC) should not be used.

4. Though not necessary to make this draft worthwhile, some data from Microsoft's deployment showing the value of this would be helpful. If I were to try to sell this feature to our customers, they would probably want to see that it was providing benefits to large traffic generators rather than backing off for the good of the internet. In particular, I wonder whether Reno/Cubic is fair to Hystart++ as regular slow start would seem to cause LSS to cut the throttle.

>> We presented lab measurement data at the last IETF. We are in the process of doing some A/B experiments at scale with real world workloads. We did fairness comparisons in our lab measurements between Hystart and non-Hystart and we didn’t see any problems.

Nits:
- Please spell out SMSS before using it.

>> Done

- Title of 3.3: s/Constant/Constants

>> Fixed


- 3.3. You are little sloppy with units. MIN_SSTHRESH is clearly measured in bytes in Sec 3.2 but is reported in segments in this section.
>> Fair. Fixed LOW_CWND to be in packets and fixed the equation to use the SMSS multiplier.