[quicwg/base-drafts] Recovery: exit initial slow start on RTT increase (#2728)

Christian Huitema <notifications@github.com> Mon, 20 May 2019 16:23 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 []) by ietfa.amsl.com (Postfix) with ESMTP id 470F41201B3 for <quic-issues@ietfa.amsl.com>; Mon, 20 May 2019 09:23:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.606
X-Spam-Status: No, score=-1.606 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] 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 ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id r4TC1xZU4s6j for <quic-issues@ietfa.amsl.com>; Mon, 20 May 2019 09:23:22 -0700 (PDT)
Received: from out-17.smtp.github.com (out-17.smtp.github.com []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 528D61201B0 for <quic-issues@ietf.org>; Mon, 20 May 2019 09:23:08 -0700 (PDT)
Date: Mon, 20 May 2019 09:23:07 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1558369387; bh=aauqlaAbR8OHJKTpYNxPxICN1G8XlHNPii9dPi/C+xI=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=B4/1VxFK2BYvvTk7G1lkqDDrlBCtadeGG19J5etsluzdGO33UIzTfH9O6FKmZ6tM6 ab8x10/sv8ayOX6n7WvyMRa3XRTh/fIz9iUoncPQmRWFQC8W2snhXnrDIE+51sJH0I tf088uotFUCNqfu50eFpH8PLJuyB5NwB1YALtQFE=
From: Christian Huitema <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK4XTBU5LOCBT73QCDF26ADOXEVBNHHBVGEL6M@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2728@github.com>
Subject: [quicwg/base-drafts] Recovery: exit initial slow start on RTT increase (#2728)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ce2d46b4fe14_6c563fd1c56cd96018891f"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: huitema
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/Uv9DWu9va_RjmYtmFoGu-C0oHSY>
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, 20 May 2019 16:23:27 -0000

The current recovery spec says *7.2. Slow Start*: 
_QUIC begins every connection in slow start and exits slow start upon loss or upon increase in the ECN-CE counter. QUIC re-enters slow start anytime the congestion window is less than ssthresh, which only occurs after persistent congestion is declared. While in slow start, QUIC increases the congestion window by the number of bytes acknowledged when each acknowledgment is processed._ 

That's fine, but it is often advisable to exit the initial slow start before observing the first loss. Very often, the default behavior results in widely overshooting the "fair" window, leading to not just one loss but rather a series of losses. For example, implementations could monitor the evolution of the RTT during initial slow start, and exit slow start as soon that the measured RTT exits RTTMin + some margin -- maybe the min 1/8th of RTT and 10 milliseconds, or 1ms 1/8th of RTTMin was too small. 

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: