Re: [quicwg/base-drafts] QUIC Transport: Flow Control (#3722)

Martin Thomson <notifications@github.com> Wed, 24 June 2020 01:03 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 40F7B3A0D21 for <quic-issues@ietfa.amsl.com>; Tue, 23 Jun 2020 18:03:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.483
X-Spam-Level:
X-Spam-Status: No, score=-1.483 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_IMAGE_ONLY_24=1.618, 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 kGDpIpE3J_gr for <quic-issues@ietfa.amsl.com>; Tue, 23 Jun 2020 18:03:38 -0700 (PDT)
Received: from out-28.smtp.github.com (out-28.smtp.github.com [192.30.252.211]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D17B33A0B87 for <quic-issues@ietf.org>; Tue, 23 Jun 2020 18:03:37 -0700 (PDT)
Received: from github-lowworker-bb778fb.ash1-iad.github.net (github-lowworker-bb778fb.ash1-iad.github.net [10.56.102.56]) by smtp.github.com (Postfix) with ESMTP id 295F08C0FAF for <quic-issues@ietf.org>; Tue, 23 Jun 2020 18:03:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1592960617; bh=3l00ejl7Ia3IvXAm3yafyxzmAJk7qD4r7trUxLkKTc0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=BqJbuy5HBuASrOAB2iZuljwA8QzUNKWHi7o1GEE/VQp54GK1bFte4FX0hC7pCdqrT fFRftD4wSJ7KYNshD5M+6HpSsFl7S4uEm3mZaA7XDJc2Ms8+wr9M2y1cXHJJNq/hHl J9UQzkThdlf1kV7yIqkjX7Cq3mo4jDhXgkaHZlyw=
Date: Tue, 23 Jun 2020 18:03:37 -0700
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKZHNMW2LTXELOERKIF472DWTEVBNHHCLGB6ZU@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3722/648521374@github.com>
In-Reply-To: <quicwg/base-drafts/issues/3722@github.com>
References: <quicwg/base-drafts/issues/3722@github.com>
Subject: Re: [quicwg/base-drafts] QUIC Transport: Flow Control (#3722)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ef2a66919a4f_6eed3fb3bd4cd9604146e"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
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/12Tix4iBPdhQtwZOt-07rc2Edq0>
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: Wed, 24 Jun 2020 01:03:39 -0000

I think that there are things that might be said about this point:

Unlike TCP, QUIC decouples flow control from congestion control.  This can release pressure on having a good flow control algorithm.  An endpoint can use flow control to constrain resource commitments without paying specific attention to tuning the algorithm.  

An endpoint might therefore implement a suboptimal flow control algorithm, up to the point where the BDP starts to approach the resources allocated to receiving data.  As BDP reaches this point, an endpoint needs to provide flow control updates in a timely fashion if it wishes to avoid flow control limiting throughput.  An endpoint that is unable to ensure that a peer has flow control credit in the order of the BDP will have their throughput limited by flow control and not congestion control.

(It's a little more complicated than that, as losses are discovered and repaired over a period larger than an RTT, and then you have to allow for flow control updates being lost.  The real value you need to target is therefore likely to be something more than 9/8 times the BDP.  But I think that gets the idea across.)

-- 
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/issues/3722#issuecomment-648521374