[tcpm] Questions on HyStart++ draft 02

Junho Choi <junho.choi@gmail.com> Wed, 01 April 2020 23:15 UTC

Return-Path: <junho.choi@gmail.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 324D73A12E9 for <tcpm@ietfa.amsl.com>; Wed, 1 Apr 2020 16:15:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 9g7T_1TMs40J for <tcpm@ietfa.amsl.com>; Wed, 1 Apr 2020 16:15:45 -0700 (PDT)
Received: from mail-vk1-xa29.google.com (mail-vk1-xa29.google.com [IPv6:2607:f8b0:4864:20::a29]) (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 EE77B3A12FB for <tcpm@ietf.org>; Wed, 1 Apr 2020 16:15:44 -0700 (PDT)
Received: by mail-vk1-xa29.google.com with SMTP id s194so372762vkb.11 for <tcpm@ietf.org>; Wed, 01 Apr 2020 16:15:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=pGCSqSnKDXViiaMQXz2ueINcEmF0cCtjWau7/Gfy1xI=; b=Y8iJJADZzChT0alJ8J+FR0jj6urqV029BhxlWQ+UnPj1r/Hrp/+78+3/zFlOE6uQaK fSkMvzlu5isPi1WJsGQQOx4vmBaakiE3oWeNNXm7X1WifNxwydSVymVtiBIOMrh+692A LWifQBw5xY54yKjsUMY6yP+NzRCc3b+9OxCPVUdN/qDuufyCu6UD2NxB9Fbyc+WAJFg4 SfymMuUTaWcaI/Io8eEAWokvl0O95AY79/VE8Psmalr+qImvNQdan4BZdCMooqo1Pclz Omk6nc3NNJKXl7X4mbDxzKpMuj/pquvsTDt/YBMIGQExacvCaBXtY41BwAYej0STyxEc Kx/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=pGCSqSnKDXViiaMQXz2ueINcEmF0cCtjWau7/Gfy1xI=; b=UvwP7qQ3i+E3ARtSsRqmXadQ7M9hq0CdCuFIS2wozRWo6SiNiLDaKyIRggw1tKgkR8 CNbli0pJtpE3OUYRnwNW07gIx0U5j3zeR4OvG0mjh0R+rcUf4GAjJEshBSjMZzBouSNk mVZx6y15c0t5jup6rIg5TqR6/qyNFqcOHlPnPTy0E9ZP9FOPgLssC10u+Ac3BRLfcRsM fzpk5DxwBMGmT/lG1VhGT/q0zpc7Lx3EWlXpe6sXIr6196HFavin//1S7JRRkztsAmhc ++ffMZf9yyVMDqi8xb8bJloVo+OaZzwVvCD9KZEw5dYE05nAd/ZkmIy7PUULhMcxw4Is Hczw==
X-Gm-Message-State: AGi0PubmesyjSUeU0XIjvRVk7rpIlgionu0+a5srmilwh5cntGVndhD1 nKSCE1tF5c+N70CDhijPbarukJsQY7ostEd8qZk=
X-Google-Smtp-Source: APiQypLAYgx5/rxxWkLM/2lxiGidNscHKPB8vAhW3pnjk2EuuaY3EYtR/zzi0fm2VRElUuoDf9RGk6ghX24jvNE45x8=
X-Received: by 2002:a1f:1786:: with SMTP id 128mr260652vkx.26.1585782943729; Wed, 01 Apr 2020 16:15:43 -0700 (PDT)
MIME-Version: 1.0
From: Junho Choi <junho.choi@gmail.com>
Date: Wed, 01 Apr 2020 16:15:07 -0700
Message-ID: <CAJ5e+HAtU=-Dy+rEtQ2cLDCj72nzpMymn7DDxc2+fuXr2cWzPw@mail.gmail.com>
To: pravb@microsoft.com, huanyi@microsoft.com
Cc: tcpm@ietf.org
Content-Type: multipart/alternative; boundary="0000000000000d4efe05a242dd60"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/gAeK6qSu7NHXRkhRniqcVCtswy4>
Subject: [tcpm] 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: Wed, 01 Apr 2020 23:15:51 -0000

Hi,

I am working on QUIC implementation (https://github.com/cloudflare/quiche)
at Cloudflare. While I am researching on hystart, I came across
HyStart++ recently and I think this is a reasonable replacement of original
hystart, so I started the work based on the hystartplusplus draft 02.

This is about quic implementation but it's more general questions, so I am
posting here.

While I am implementing it, I have a few questions:

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?

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?

Best,

-- 
Junho Choi <junho dot choi at gmail.com>