Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id C51723A0C0C
 for <quic-issues@ietfa.amsl.com>; Tue,  5 May 2020 15:46:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.101
X-Spam-Level: 
X-Spam-Status: No, score=-3.101 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, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-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 (1024-bit key)
 header.d=github.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 kDqPVvkXeGFe for <quic-issues@ietfa.amsl.com>;
 Tue,  5 May 2020 15:46:16 -0700 (PDT)
Received: from out-21.smtp.github.com (out-21.smtp.github.com [192.30.252.204])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 523B43A0C0A
 for <quic-issues@ietf.org>; Tue,  5 May 2020 15:46:16 -0700 (PDT)
Received: from github-lowworker-2ef7ba1.ac4-iad.github.net
 (github-lowworker-2ef7ba1.ac4-iad.github.net [10.52.16.66])
 by smtp.github.com (Postfix) with ESMTP id 36315A045A
 for <quic-issues@ietf.org>; Tue,  5 May 2020 15:46:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com;
 s=pf2014; t=1588718775;
 bh=FHqDgd1TwnanWQdejpkk1CDwQ4iQeokaOIqyfAlAee0=;
 h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID:
 List-Archive:List-Post:List-Unsubscribe:From;
 b=LfQT458gpswPGY1EKSc1CMDGtr6EcbsE6EC4yQz6GxX7n6X+I+O1nAZt2QYu+LEEc
 /caxhT866EPGK+0CE9MKhtvEs1xi/p5Nvzr3cx/1deC4YXLOwaUqyn1jEG9kydhFdo
 uVCj4vfZagi7Q4XkfFtYxIsnvpmQHXNcwcayskkM=
Date: Tue, 05 May 2020 15:46:15 -0700
From: Jana Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts
 <reply+AFTOJK54RN5B4H7JY2N37554XXG3PEVBNHHCH3TLYY@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3586/review/406200734@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3586@github.com>
References: <quicwg/base-drafts/pull/3586@github.com>
Subject: Re: [quicwg/base-drafts] Why min CWND of 2 instead of 1 (#3586)
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_5eb1ecb7269ce_586b3fdbe92cd968154750";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/ebH9OtmngtUz3IG0CdVGpdgddDo>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG
 <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 May 2020 22:46:19 -0000


----==_mimepart_5eb1ecb7269ce_586b3fdbe92cd968154750
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

@janaiyengar commented on this pull request.



> @@ -245,6 +245,15 @@ QUIC specifies a time-based definition to ensure one or more packets are sent
 prior to a dramatic decrease in congestion window; see
 {{persistent-congestion}}.
 
+### The Minimum Congestion Window is 2 Packets

```suggestion
### The Minimum Congestion Window is Two Packets
```

> +QUIC recommends that the minimum congestion window be 2 packets instead
+of the 1 packet minimum in TCP. A 2 packet minimum congestion window avoids
+waiting for a probe timeout (see {{pto}}) every time a single packet is lost.
+A minimum of 2 packets also avoids waiting for a delayed acknowledgement, which
+can substantially decrease throughput, particularly if the max_ack_delay is
+larger than the round trip time.

```suggestion
TCP uses a minimum congestion window of one packet, but this can be fragile
in practice. Loss of a single packet sent with that window limits the sender to
waiting for a PTO ({{pto}}) to recover from that loss, which can be a
substantial period of time depending on the amount of backoff. Sending a
single data packet also increases the chances of incurring additional latency
when a receiver delays its acknowledgement. QUIC therefore recommends that
the minimum congestion window be two packets. While this increases network
load, it is considered safe, since the sender will still reduce its sending rate
exponentially under persistent congestion ({{pto}}).
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3586#pullrequestreview-406200734
----==_mimepart_5eb1ecb7269ce_586b3fdbe92cd968154750
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p></p>=0D
<p><b>@janaiyengar</b> commented on this pull request.</p>=0D
=0D
<hr>=0D
=0D
<p>In <a href=3D"https://github.com/quicwg/base-drafts/pull/3586#discussi=
on_r420445601">draft-ietf-quic-recovery.md</a>:</p>=0D
<pre style=3D'color:#555'>&gt; @@ -245,6 +245,15 @@ QUIC specifies a time=
-based definition to ensure one or more packets are sent=0D
 prior to a dramatic decrease in congestion window; see=0D
 {{persistent-congestion}}.=0D
 =0D
+### The Minimum Congestion Window is 2 Packets=0D
</pre>=0D
=E2=AC=87=EF=B8=8F Suggested change=0D
<pre style=3D"color: #555">-### The Minimum Congestion Window is 2 Packet=
s=0D
+### The Minimum Congestion Window is Two Packets=0D
</pre>=0D
=0D
=0D
<hr>=0D
=0D
<p>In <a href=3D"https://github.com/quicwg/base-drafts/pull/3586#discussi=
on_r420450546">draft-ietf-quic-recovery.md</a>:</p>=0D
<pre style=3D'color:#555'>&gt; +QUIC recommends that the minimum congesti=
on window be 2 packets instead=0D
+of the 1 packet minimum in TCP. A 2 packet minimum congestion window avo=
ids=0D
+waiting for a probe timeout (see {{pto}}) every time a single packet is =
lost.=0D
+A minimum of 2 packets also avoids waiting for a delayed acknowledgement=
, which=0D
+can substantially decrease throughput, particularly if the max_ack_delay=
 is=0D
+larger than the round trip time.=0D
</pre>=0D
=E2=AC=87=EF=B8=8F Suggested change=0D
<pre style=3D"color: #555">-QUIC recommends that the minimum congestion w=
indow be 2 packets instead=0D
-of the 1 packet minimum in TCP. A 2 packet minimum congestion window avo=
ids=0D
-waiting for a probe timeout (see {{pto}}) every time a single packet is =
lost.=0D
-A minimum of 2 packets also avoids waiting for a delayed acknowledgement=
, which=0D
-can substantially decrease throughput, particularly if the max_ack_delay=
 is=0D
-larger than the round trip time.=0D
+TCP uses a minimum congestion window of one packet, but this can be frag=
ile=0D
+in practice. Loss of a single packet sent with that window limits the se=
nder to=0D
+waiting for a PTO ({{pto}}) to recover from that loss, which can be a=0D=

+substantial period of time depending on the amount of backoff. Sending a=
=0D
+single data packet also increases the chances of incurring additional la=
tency=0D
+when a receiver delays its acknowledgement. QUIC therefore recommends th=
at=0D
+the minimum congestion window be two packets. While this increases netwo=
rk=0D
+load, it is considered safe, since the sender will still reduce its send=
ing rate=0D
+exponentially under persistent congestion ({{pto}}).=0D
</pre>=0D
=0D
=0D
<p style=3D"font-size:small;-webkit-text-size-adjust:none;color:#666;">&m=
dash;<br />You are receiving this because you are subscribed to this thre=
ad.<br />Reply to this email directly, <a href=3D"https://github.com/quic=
wg/base-drafts/pull/3586#pullrequestreview-406200734">view it on GitHub</=
a>, or <a href=3D"https://github.com/notifications/unsubscribe-auth/AFTOJ=
K4ES6BJRAB35SKK7H3RQCJLPANCNFSM4ML6ZUXA">unsubscribe</a>.<img src=3D"http=
s://github.com/notifications/beacon/AFTOJKYNEPLBB55BA7KWT5DRQCJLPA5CNFSM4=
ML6ZUXKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZ=
GODA3CDHQ.gif" height=3D"1" width=3D"1" alt=3D"" /></p>=0D
<script type=3D"application/ld+json">[=0D
{=0D
"@context": "http://schema.org",=0D
"@type": "EmailMessage",=0D
"potentialAction": {=0D
"@type": "ViewAction",=0D
"target": "https://github.com/quicwg/base-drafts/pull/3586#pullrequestrev=
iew-406200734",=0D
"url": "https://github.com/quicwg/base-drafts/pull/3586#pullrequestreview=
-406200734",=0D
"name": "View Pull Request"=0D
},=0D
"description": "View this Pull Request on GitHub",=0D
"publisher": {=0D
"@type": "Organization",=0D
"name": "GitHub",=0D
"url": "https://github.com"=0D
}=0D
}=0D
]</script>=

----==_mimepart_5eb1ecb7269ce_586b3fdbe92cd968154750--

