Re: [quicwg/base-drafts] Persistent Congestion Time Threshold (#2365)

ianswett <notifications@github.com> Mon, 28 January 2019 23:32 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 2F93C131132 for <quic-issues@ietfa.amsl.com>; Mon, 28 Jan 2019 15:32:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.553
X-Spam-Level:
X-Spam-Status: No, score=-12.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-4.553, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 912XApMy1t57 for <quic-issues@ietfa.amsl.com>; Mon, 28 Jan 2019 15:32:24 -0800 (PST)
Received: from out-2.smtp.github.com (out-2.smtp.github.com [192.30.252.193]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0633130EE3 for <quic-issues@ietf.org>; Mon, 28 Jan 2019 15:32:23 -0800 (PST)
Date: Mon, 28 Jan 2019 15:32:22 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1548718342; bh=6eNuC+XYFULJeNCbO7eAzcC0II3IzmsWUGRB/pMp38E=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=PYHQd1x0y3O2BfXBwOXC3DDgRXLc/PBuiJoH7Mir+AwVfBgZw6IfXJcdU2sXfzV6P D0mGyFvWoN9Jd/Fg/o3WKm9+4IgE+GaNL7PD55T0Fd5QhfD8E8eMSkPhQBd517TStR Vavz1cAk8w0UVt9PQaDggxCIgd1fSZ++Y6QNsXr8=
From: ianswett <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab541dba2152551844343010a14c36aeec72bf3cca92cf000000011867530692a169ce17fab1f6@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2365/review/197306266@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2365@github.com>
References: <quicwg/base-drafts/pull/2365@github.com>
Subject: Re: [quicwg/base-drafts] Persistent Congestion Time Threshold (#2365)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c4f9106c21d9_79b33fb235ed45b41288a2"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
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/0bABp_ksbOaQR0YoCkNA18SgTt4>
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: Mon, 28 Jan 2019 23:32:26 -0000

ianswett commented on this pull request.

I think the pseudocode is good, but I have some suggestions on the text.

> @@ -1003,15 +1003,21 @@ packets might cause the sender's bytes in flight to exceed the congestion window
 until an acknowledgement is received that establishes loss or delivery of
 packets.
 
-When an ACK frame is received that establishes loss of all in-flight packets
-sent prior to a threshold number of consecutive PTOs (pto_count is more than
-kPersistentCongestionThreshold, see {{cc-consts-of-interest}}), the network is
-considered to be experiencing persistent congestion, and the sender's congestion
-window MUST be reduced to the minimum congestion window (kMinimumWindow).  This
-response of collapsing the congestion window on persistent congestion is
-functionally similar to a sender's response on a Retransmission Timeout (RTO) in
-TCP {{RFC5681}}.
-
+## Persistent Congestion
+
+The network is considered to be experiencing persistent congestion when the

The old text was more correct than this text in the sense that it's important that not only does time pass, but all the packets are lost within that period of time.

How about:
"When an ACK frame is received that establishes loss of all in-flight packets sent over a long enough period of time, the network is considered to be experiencing persistent congestion."

> -window MUST be reduced to the minimum congestion window (kMinimumWindow).  This
-response of collapsing the congestion window on persistent congestion is
-functionally similar to a sender's response on a Retransmission Timeout (RTO) in
-TCP {{RFC5681}}.
-
+## Persistent Congestion
+
+The network is considered to be experiencing persistent congestion when the
+sender goes a period of time without receiving any ACK frames for its in-flight,
+ack-eliciting packets.  Generally, this can be calculated as a number of
+consecutive PTOs (pto_count is more than  kPersistentCongestionThreshold, see
+{{cc-consts-of-interest}}), but since the PTO timer is reset when a new
+ack-eliciting packet is sent, an explicit timeout must be used to account for
+those cases where PTOs do not occur.
+
+When persistent congestion is encountered the sender's congestion window MUST be

```suggestion
When persistent congestion is established, the sender's congestion window MUST be
```

> @@ -1003,15 +1003,21 @@ packets might cause the sender's bytes in flight to exceed the congestion window
 until an acknowledgement is received that establishes loss or delivery of
 packets.
 
-When an ACK frame is received that establishes loss of all in-flight packets
-sent prior to a threshold number of consecutive PTOs (pto_count is more than
-kPersistentCongestionThreshold, see {{cc-consts-of-interest}}), the network is
-considered to be experiencing persistent congestion, and the sender's congestion
-window MUST be reduced to the minimum congestion window (kMinimumWindow).  This
-response of collapsing the congestion window on persistent congestion is
-functionally similar to a sender's response on a Retransmission Timeout (RTO) in
-TCP {{RFC5681}}.
-
+## Persistent Congestion
+
+The network is considered to be experiencing persistent congestion when the
+sender goes a period of time without receiving any ACK frames for its in-flight,
+ack-eliciting packets.  Generally, this can be calculated as a number of

Suggestion: replace "Generally, this can be calculated as a number of consecutive PTOs (),..." with
"Commonly, this can be established by consecutive PTOs,..."

-- 
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/2365#pullrequestreview-197306266