Re: [quicwg/base-drafts] A pacing algorithm (#3630)

Jana Iyengar <> Thu, 14 May 2020 02:49 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 442113A0934 for <>; Wed, 13 May 2020 19:49:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.869
X-Spam-Status: No, score=-1.869 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.173, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_28=1.404, 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: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 3uGb0PrFOpy0 for <>; Wed, 13 May 2020 19:49:27 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 988733A0933 for <>; Wed, 13 May 2020 19:49:27 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id EC67DA047A for <>; Wed, 13 May 2020 19:49:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1589424566; bh=/aiFiOT6vckExWfnf2naEkHduJwFKDaixQggH1Wvv0I=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=lqDEWO5RC8DLzs0EtM/Tql6LEivtHjMqf9Hko2MIsv/Amn2Fqef4xxUyQ4qtRDRbF 1ww5zZIPwhFwqj/cHShre6f10LIG136pAj5THV4TDNp7ufxywpqkl67bTaxDshmUXB fD81/+7PTvxOfk3XiYJOpbuqEjnpiQx2WVuKoazY=
Date: Wed, 13 May 2020 19:49:26 -0700
From: Jana Iyengar <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3630/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] A pacing algorithm (#3630)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ebcb1b6dd5f6_bf63ff67a8cd95c6057ca"; 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
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 14 May 2020 02:49:29 -0000

@janaiyengar commented on this pull request.

> @@ -897,9 +897,33 @@ congestion window, which is recommended to be the minimum of
 max_datagram_size is the current maximum size of a datagram for the connection,
 not including UDP or IP overhead.
-As an example of a well-known and publicly available implementation of a flow
-pacer, implementers are referred to the Fair Queue packet scheduler (fq qdisc)
-in Linux (3.11 onwards).
+Endpoints can implement pacing as they choose, as long as the rate of bytes

I think this is all too much prescription. I suggest you move this up above the previous paragraph, and lead into the burst paragraphs like so: 

"Endpoints can implement pacing as they choose. A perfectly paced sender spreads bytes exactly evenly over time. For a window-based congestion controller, such as the one in this document, that rate can be computed by averaging the congestion window over the round-trip time. More precisely, `pacing rate = N * congestion_window / smoothed_rtt`, where using a small N (for example, 1.25) protects the sender from short-term variations in round-trip time or from scheduler delays.

Further practical considerations, such as packetization, scheduling delays, and computational efficiency, can cause a sender to deviate from this rate over time periods that are much shorter than a round-trip time. Sending multiple packets into the network without any delay ..."

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