Re: [quicwg/base-drafts] Add some MUSTs to congestion control (#3978)

Jana Iyengar <notifications@github.com> Tue, 25 August 2020 01:16 UTC

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 913613A0E2F for <quic-issues@ietfa.amsl.com>; Mon, 24 Aug 2020 18:16:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.2
X-Spam-Level:
X-Spam-Status: No, score=-1.2 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_32=0.001, 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 qgpT9chH5fBr for <quic-issues@ietfa.amsl.com>; Mon, 24 Aug 2020 18:16:29 -0700 (PDT)
Received: from out-25.smtp.github.com (out-25.smtp.github.com [192.30.252.208]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C9E303A0CFC for <quic-issues@ietf.org>; Mon, 24 Aug 2020 18:16:28 -0700 (PDT)
Received: from github-lowworker-52827f8.ash1-iad.github.net (github-lowworker-52827f8.ash1-iad.github.net [10.56.108.24]) by smtp.github.com (Postfix) with ESMTP id C8E58840E0B for <quic-issues@ietf.org>; Mon, 24 Aug 2020 18:16:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1598318187; bh=BHMQmBacmEPcLf0YO4g8bNElix8Ph5596Sw89zrTGjw=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=aJfK4Eh7ZqpIlEluEGVpBhAhZ+HspFTQL7HsrNW3fqAvMvIqTVIwmPxbmLdM9l8ty +QvoQml1zwBl8jSXsgM8kWUKI9A8K2SGxwSez2lco1vLFosaYGQIRKr7V9IKHOCviE olGu8ORInCHPGrLiUIvTjQspRUpCeSXsIGBUxBPE=
Date: Mon, 24 Aug 2020 18:16:27 -0700
From: Jana Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK4HKMPBGOAKAECMK2V5KBDWXEVBNHHCQBGZIM@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3978/review/474028120@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3978@github.com>
References: <quicwg/base-drafts/pull/3978@github.com>
Subject: Re: [quicwg/base-drafts] Add some MUSTs to congestion control (#3978)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f44666bb9c74_214d1964177c5"; 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/R1TklUx7wExVjtj9Hp3E2rGyQrU>
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, 25 Aug 2020 01:16:31 -0000

@janaiyengar commented on this pull request.



> @@ -767,20 +767,22 @@ While in slow start, QUIC increases the congestion window by the
 number of bytes acknowledged when each acknowledgment is processed, resulting
 in exponential growth of the congestion window.
 
-QUIC exits slow start upon loss or upon increase in the ECN-CE counter.
-When slow start is exited, the congestion window halves and the slow start
-threshold is set to the new congestion window.  QUIC re-enters slow start
-any time the congestion window is less than the slow start threshold,
-which only occurs after persistent congestion is declared.
+QUIC MUST exit slow start and enter congestion avoidance upon loss or upon
+increase in the ECN-CE counter. When slow start is exited, the congestion
+window halves and the slow start threshold is set to the new congestion

Let me start by saying that QUIC doesn't have to be precisely the same as TCP -- this is why we are not normatively referencing RFC 5681. Even if this is a behavior difference from deployed TCP, this is not a reduction in quality. What is the change you're proposing?

That said, what you say isn't true in TCP. Specifically, RFC 5681 says (in Section 4.3):
```
   That is, when the first loss in a window of data is detected,
   ssthresh MUST be set to no more than the value given by equation (4).
   Second, until all lost segments in the window of data in question are
   repaired, the number of segments transmitted in each RTT MUST be no
   more than half the number of outstanding segments when the loss was
   detected.
```
That last sentence is critical. With just RFC 5681, TCP will do exactly as QUIC does. This isn't true of Linux TCP however, which uses rate halving... the PRR document (RFC 6937, Section 1) goes through this is some detail, and is in fact one of the reasons for PRR's existence.

-- 
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/3978#discussion_r476030650