Re: [tcpm] [EXTERNAL] Questions on HyStart++ draft 02

Yi Huang <huanyi@microsoft.com> Tue, 28 April 2020 00:42 UTC

Return-Path: <huanyi@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 9D9483A09EE for <tcpm@ietfa.amsl.com>; Mon, 27 Apr 2020 17:42:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, HTTPS_HTTP_MISMATCH=0.1, 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 gma90QlzisU7 for <tcpm@ietfa.amsl.com>; Mon, 27 Apr 2020 17:42:34 -0700 (PDT)
Received: from NAM06-BL2-obe.outbound.protection.outlook.com (mail-eopbgr650102.outbound.protection.outlook.com [40.107.65.102]) (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 1E3293A09DF for <tcpm@ietf.org>; Mon, 27 Apr 2020 17:42:32 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DJ43DxyUKSUCp4cUM+v7O3mtbkKgz39Lt6z91UXbMX9FBExzcpSBbRbFzvMb37gRkFyZcYyvhsAq8RYM7MOF9zxOY9BtXe4eFbW3G6QWS1e8Kop2lf8nkIbKHdLYdJnGkkKcMer0sl/qLUMARVePOLCAre/GEZ+UDEFTuQsuBcHqQJ/2LgRUZ+ipaj75q5K6bKXddvKgQUEdkn2KnG/IVevvVY+s2pwC9XTxsWbR2LwLt4XKOkQXER/FO/uQPn6/1UYPPSJG37nzqoAoWeX1gTsPGZ8TAHmV0QtSxIzxh/MEI1rjBFhIehqwTtUzQgcEFT6skWDp1GdlFPVqI8Z+sQ==
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=Oh2rzolOD2ZUHzNhC0uSi/FwBTjKwM8AQ4T/GuAVQhQ=; b=bU8Oqov9vuqbQq7K7ZWUGeBSu1Kz5ray6DVvgqFeJB6klTs5vExGbWeek/bNOFAICWu+a/h5IS7s5B5viJOHccCDHD9jPRYh2QlmSbWzYWQJlQiJ0AHqPCg2Alu+mPPAjLjdG7rrp7ooQ/76m7z9rNaP73IShWD9+cqRZpN6ar5p6W5BqnBcxwvcoP/IIXUcoM+hHZZHPe0i6wpofCUZrxD8NkrNQH0u9fV4KtvETBG1rVxEoaF5wcUV6R0lGtHtzluwN9mEqyokp9mRISyIf3YHqPjxlD9x9YM8bddVPj4v6IpwJdyMAZci7xNNNpb+6qOQZHXXrUOpC+3zQohR4A==
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=Oh2rzolOD2ZUHzNhC0uSi/FwBTjKwM8AQ4T/GuAVQhQ=; b=gItKsZxxuOgpezDv793FrNxulY1Do+x+juXYiqMDDX+lrVrijKGSQDB+niqjyrBE+ChdNyR5gTXXopgVXYDVGDPKYh0WhzYoDajOSpq21/pVhHhdZuDaNGeDERkGwBRALVS+6G3HkmUKzqQhrTPqFA7QUBKCLh7hWPvvLAE6wJg=
Received: from DM5PR00MB0392.namprd00.prod.outlook.com (2603:10b6:4:a0::28) by DM5PR00MB0325.namprd00.prod.outlook.com (2603:10b6:4:9f::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2992.0; Tue, 28 Apr 2020 00:42:30 +0000
Received: from DM5PR00MB0392.namprd00.prod.outlook.com ([fe80::9087:2452:8a31:6981]) by DM5PR00MB0392.namprd00.prod.outlook.com ([fe80::9087:2452:8a31:6981%9]) with mapi id 15.20.2989.000; Tue, 28 Apr 2020 00:42:30 +0000
From: Yi Huang <huanyi@microsoft.com>
To: Junho Choi <junho.choi@gmail.com>
CC: Praveen Balasubramanian <pravb@microsoft.com>, "tcpm@ietf.org" <tcpm@ietf.org>, Matt Olson <maolson@microsoft.com>
Thread-Topic: [EXTERNAL] Questions on HyStart++ draft 02
Thread-Index: AQHWCHuVjeyKxI/TR0GdAjicR50BCqhk60fwgACL0ACACO+DgIAAAsGAgB9t5QCAAAKEkA==
Date: Tue, 28 Apr 2020 00:42:30 +0000
Message-ID: <DM5PR00MB039215AA5AD1262CAC67CA15C3AC0@DM5PR00MB0392.namprd00.prod.outlook.com>
References: <CAJ5e+HAtU=-Dy+rEtQ2cLDCj72nzpMymn7DDxc2+fuXr2cWzPw@mail.gmail.com> <SN2PR00MB00778599FB58D63C89C88BCCC3C60@SN2PR00MB0077.namprd00.prod.outlook.com> <CAJ5e+HBjsF6fTXSRABGsbNxUf-MhaErC6yQauN2N2urgNTay5Q@mail.gmail.com> <CY1PR00MB007307864A3675BE240369BDC3C00@CY1PR00MB0073.namprd00.prod.outlook.com> <CAJ5e+HC0CZX2KL7dKgnOOFb78aZH8r_Kmjnp2ESn0dHOzujHXg@mail.gmail.com> <CAJ5e+HAd=0t2rgY0JpC8UBZv89Pe6vrEyRUsr2q_LwKpdwAD-g@mail.gmail.com>
In-Reply-To: <CAJ5e+HAd=0t2rgY0JpC8UBZv89Pe6vrEyRUsr2q_LwKpdwAD-g@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=huanyi@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-04-28T00:42:28.2464627Z; 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=4c839093-0436-47d8-9cf0-93d1901158dd; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic
authentication-results: spf=none (sender IP is ) smtp.mailfrom=huanyi@microsoft.com;
x-originating-ip: [2601:600:877f:ac89:f4ce:1642:68b9:d6f4]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 8b9b0c12-b82c-4a50-af3a-08d7eb0d08a1
x-ms-traffictypediagnostic: DM5PR00MB0325:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DM5PR00MB0325D3FEE24CA8A0A1664CE2C3AC0@DM5PR00MB0325.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0387D64A71
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: 2UFqitCHAaaWoRbwY3S88q5OUWRlgegymPeUwEtoPpmPqogepOTpGWKLpfTyQitHZLzbmLrkQbFV79dsWZdIqs/TB0FDADigxt1VQM7Z8CDk8ex7akw6ebfoK8yKOdwefZ9dR5F5RH3r27ohMB73UwYL7q2KyWQ4ZKu57HTiTkxB2Oe96ZqXevmrblUlguUmfkZwrXqXkAGB8DJQ7bIsuLO5xhTxv9xv4f9Xrl8H+YGpmCQFlL3/BJfcUMYtKVJOSyaf86V/SRmBzj4a/huEknJ7M8DU+zTJfrJmvZy8ITH99F6O4/ptBUFrMud0maIHXtJuEzJGgOxUtCMsTLV2FhMUxwTQRWeTi28Mlsqmmgvb2gy12MqHOeoYvwTV9ndUKhfzIjd3wAlnzUSpw82+8zUpoU1Bhu2xbW+VEXQezUwM6Y5f2wIQZVozWYIeh0+6axwlzr7+sa9tBlFXsZQExGBFsZQVYK4LY0kiBFcUOaoMgxDiE7+ZREH6rl2A3obhwSaQb50QBdqNbVouq30gDw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR00MB0392.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(6029001)(4636009)(396003)(346002)(366004)(376002)(39860400002)(136003)(86362001)(66476007)(66946007)(71200400001)(4326008)(52536014)(9686003)(186003)(107886003)(55016002)(2906002)(8676002)(8936002)(66556008)(66446008)(76116006)(64756008)(82950400001)(33656002)(82960400001)(7696005)(54906003)(478600001)(53546011)(6506007)(8990500004)(316002)(966005)(6916009)(10290500003)(5660300002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: rQzdMP7rWe2UaGsXR9fr4BL5JGRZcHijk0gYV3tmwV59wcisOEImZ5Jqg0xGM2uPeTuUBfs7LkBY8hJryvu/bkg/Qb8mb5TAlAZDm0fAdFQaXyOpC7ld4QF6Py9DjSj743dzwmakofgJ3oEjd9U13UI0CCAOi6NvTl+3/Rm3PEUDlkk8WLdLvRAXfzguN4ryGXA52xopJ7n//jkKOlYUv8NCbg++hCFigjjsla10BZO6F0d1D0t87I+MQS/c2khvlnL5uG6AbJNjklMP1Ph/3vtio1cCM3HGFzTTlPdFVu2UNtt7Fz2Vg7uF5A7BFPV0Q4G/WWJSFfrS16nJh/jYKjekgM9ISxsMlxkPU/5IfqlXQpYAHi4mlEehvG3ACZrD4I4ITvISFtfsv3D643jJZvaCdI2avetLbE6TeX8PBK92Tz7r6katgLRyfkog4g25oDwZGA+wuSDzMyJQD5TvUV95aXanJDpHMT2UJMiGSkORpxD/+vE738wdBUaifjfi7m2GUbXHGym/atAWrKmKZhMnJOVMJABaEYJiTmXsosDMCa9U9iZ8N3ctaY+4hCDrniiW18kZciLt+I3eS6nHdkViC1KCdkmgdljmSr6x6f0f2EklO8z66/BWBqWZt3dcR+y/I46MI8QAdT+Li7Y1Fbv9V6z++v2RsejeRST/h7vDJjGI1GdZrkN79KyUEEHox0EGzOjHmq2cE72FYeBJBTBr86vSW62vfaK6uXQngUPCD9qAyHwploAhTN18BSkU3WOSK6I6nCq68soiDCJXZ8JgPWL7AiShyi8jn231gQ4Ltt0uHBIBhCw4Cha/PMF4O6CZdBmUohnb7kAUQgSPL+7RR43mKIvgeUTPjPm6LWQ=
Content-Type: multipart/alternative; boundary="_000_DM5PR00MB039215AA5AD1262CAC67CA15C3AC0DM5PR00MB0392namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM5PR00MB0392.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b9b0c12-b82c-4a50-af3a-08d7eb0d08a1
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2020 00:42:30.7241 (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: DXByrqINBpL/EHVQT/HbU+wRs8tH4W6RcGeg3M9IIe59az+yIMedt5VhesaMDz9jrqjSd0dGBotcs8Pw77VKKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR00MB0325
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/-ASb9m2ETE9jUCq9Ypa5yezs7kg>
Subject: Re: [tcpm] [EXTERNAL] Questions on HyStart++ draft 02
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: Tue, 28 Apr 2020 00:42:39 -0000

I am excited to see Hystart++ was adopted by your QUIC implementation. Thanks Junho!

From: Junho Choi <junho.choi@gmail.com>
Sent: Monday, April 27, 2020 5:30 PM
To: Yi Huang <huanyi@microsoft.com>
Cc: Praveen Balasubramanian <pravb@microsoft.com>; tcpm@ietf.org
Subject: Re: [EXTERNAL] Questions on HyStart++ draft 02

FYI, I made a PR https://github.com/cloudflare/quiche/pull/476<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcloudflare%2Fquiche%2Fpull%2F476&data=02%7C01%7Chuanyi%40microsoft.com%7Ce2d04fd13ac043cf8dac08d7eb0b54bd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637236306220848757&sdata=wTup02uocSEYky5utB2eimcI8zYCmzmfv93SNyGYMX4%3D&reserved=0> for implementing HyStart++ in quiche, based on draft 02.
The algorithm is modified for QUIC a little (e.g. tcp sequence number vs quic packet number) but in general it's same.

Best,

On Tue, Apr 7, 2020 at 5:32 PM Junho Choi <junho.choi@gmail.com<mailto:junho.choi@gmail.com>> wrote:
Ok, thanks for clarifying!

On Tue, Apr 7, 2020 at 5:24 PM Yi Huang <huanyi@microsoft.com<mailto:huanyi@microsoft.com>> wrote:
Yeah, it does nothing for the first round.

From: Junho Choi <junho.choi@gmail.com<mailto:junho.choi@gmail.com>>
Sent: Thursday, April 2, 2020 12:55 AM
To: Yi Huang <huanyi@microsoft.com<mailto:huanyi@microsoft.com>>
Cc: Praveen Balasubramanian <pravb@microsoft.com<mailto:pravb@microsoft.com>>; tcpm@ietf.org<mailto:tcpm@ietf.org>
Subject: Re: [EXTERNAL] Questions on HyStart++ draft 02

Hi Yi,

Thanks. See inline for my following question.

On Wed, Apr 1, 2020 at 5:04 PM Yi Huang <huanyi@microsoft.com<mailto:huanyi@microsoft.com>> wrote:
1. Section 4.2 -- each round is initialized as

   lastRoundMinRTT = currentRoundMinRTT
   currentRoundMinRTT = infinity
   rttSampleCount = 0

In the very beginning of the connection, what is "currentRoundMinRTT" when
there is no previous value?

I am using current rtt (or initial rtt value) and is it ok?

[Yi]: In our implementation, lastRoundMinRTT and currentRoundMinRTT are initialized to 0xffffffff as sentinel values. We only compare lastRoundMinRTT with currentRoundMinRTT when both of them are valid values. Using currRTT seems to essentially behave the same as assigning a sentinel value.

So in the beginning of the connection lastRoundMinRTT is <inf>. When ack is received currentRoundMinRTT = min_rtt but
lastRoundMinRTT is still <inf>. When the 1st round ends, it looks always doing nothing because the following if() is always false?

  if (currentRoundMinRTT >= (lastRoundMinRTT + RttThresh))



2. Section 4.2 -- When used with cubic, CA_cwnd() is based on cubic algorithm I think.
 This means I need to do cubic variables calculation during slow start
 such as K and W_cubic. When is considered as a start of
 congestion avoidance and what W_max will be?

 Currently I use a start of limited slow start as a beginning of congestion recovery
 and use cwnd at the time for W_max. Is my understanding correct?

[Yi]: Yes, that’s exactly what we do in Windows.

Sound great. Thanks.

Best,

--
Junho Choi <junho dot choi at gmail.com<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgmail.com%2F&data=02%7C01%7Chuanyi%40microsoft.com%7Ce2d04fd13ac043cf8dac08d7eb0b54bd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637236306220858750&sdata=f8cekJiJx4S625oCkaUDVymXiVPknaarRR9IuLhytfs%3D&reserved=0>>


--
Junho Choi <junho dot choi at gmail.com<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgmail.com%2F&data=02%7C01%7Chuanyi%40microsoft.com%7Ce2d04fd13ac043cf8dac08d7eb0b54bd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637236306220868745&sdata=FHoov33SoCU1DWSZZ0n4DqCL0tQVjBrLc2mGBXNxI0Q%3D&reserved=0>>


--
Junho Choi <junho dot choi at gmail.com<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgmail.com%2F&data=02%7C01%7Chuanyi%40microsoft.com%7Ce2d04fd13ac043cf8dac08d7eb0b54bd%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637236306220868745&sdata=FHoov33SoCU1DWSZZ0n4DqCL0tQVjBrLc2mGBXNxI0Q%3D&reserved=0>>