Re: [quicwg/base-drafts] Changing the Default QUIC ACK Policy (#3529)

Gorry Fairhurst <> Fri, 01 May 2020 15:02 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 898013A13E3 for <>; Fri, 1 May 2020 08:02:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.919
X-Spam-Status: No, score=-3.919 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_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.82, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 smo-_dXkA4_i for <>; Fri, 1 May 2020 08:02:05 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D8B3D3A136E for <>; Fri, 1 May 2020 08:02:04 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 075636E124D for <>; Fri, 1 May 2020 08:02:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1588345324; bh=tG2oAC4OjKtoBf1AfLwdjjBnTkiLDYDTxFyOlBZwYNU=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=f50ASzYeHZOtYhZ70D2NBLop+NpQLgCvRuCw5C0pqPXoe+AY06LH36BHk3RnmYzG6 stLs+KTdJ2IRkSs1Q9ZEkU3gOeZDk5mtW/ZX9aap13DKsMK8XTl27ewsj2BloXkAyr /XYgHPjARi9nyi5J/vYrd5UstYAaWEBRuB+M1IyY=
Date: Fri, 01 May 2020 08:02:03 -0700
From: Gorry Fairhurst <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3529/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Changing the Default QUIC ACK Policy (#3529)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5eac39ebec32f_a823f890cecd96487966"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: gorryfair
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: Fri, 01 May 2020 15:02:18 -0000

These results/article on computational efficiency are really 
interesting. Please see below.

On 01/05/2020 05:40, Kazuho Oku wrote:
> Hi, Gorry
> Thank you for sharing your experiments. I'm delighted to see results 
> showing that use of ack10 gives us comparable throughput to ack2.
> Recently, I have been looking into how ack-frequency affects the 
> computational efficiency of the server [1]. Using the (almost) same 
> setup, I have today run a benchmark comparing three ACK strategies: 
> ack2, ack10, ack 1/8cwnd.
> ack2: 334Mbps
> ack10: 414Mbps
> ack 1/8cwnd: 487Mbps
> As can be seen, ack10 is better than ack2, but lags behind ack1/8cwnd. 
> That's because there are still frequent ACKs. They take considerable 
> amount of CPU cycles.
This is useful, we see here there's a clear benefit here in using a 
larger ACK Ratio also in terms of server load.  We can see already the 
benefit at 1:10 and GSO helps as expected.
> If we want to see QUIC being as lightweight as TLS over TCP, it is 
> critically important to reduce ACK frequency as much as possible. This 
> is because the cost of processing ACK in QUIC is much more expensive 
> than TCP, due QUIC being a userspace transport.
We think that this is also really true. QUIC ACKs are also larger than 
TCP ACKs (see
> Based on this, if we are to change what we have in the base drafts, 
> I'd much prefer adopting what we have in the proposed delayed ack 
> extension [2], rather than just changing the default ack policy from 
> ack2 to ack10. By adopting what we have in the delayed ack extension, 
> we can expect better performance, and the endpoints would have the 
> freedom to change the behavior when the default ack policy is deemed 
> insufficient (regardless of the default being ack2 or ack10).
> [1] 
> [2]
I don't think the two approaches conflict.

The difference between the two approaches is that the small change to 
the base specification to use an ACK Ratio 1:10 ensures the default 
return path is at least as good as TCP for common traffic (even with 
common TCP ACK Thinning). Without this change, the end user could 
experience significant differences in performance between TCP and 
between different QUIC versions over asymmetric paths.

Whereas to me, the transport parameter extension looks like an exciting 
way to enable many more things, but there are also many ways this could 
usefully evolve based on CC, offload, pacing etec and I think this will 
take much more to work-out what is needed, safe and best ... then to 
reach consensus. We still also need to specify a default ACK Ratio in 
this case as well.

Best wishes,


> 2020年4月28日(火) 20:37 Gorry Fairhurst < 
> <>>:
> >
> > On 27/04/2020 17:19, Lars Eggert wrote:
> >
> > Folks who care about a change here need to prioritize progressing 
> this issue. We're close to being able to last-call the specs, and 
> would like this resolved in time..
> >
> > —
> > You are receiving this because you authored the thread.
> > Reply to this email directly, view it on GitHub, or unsubscribe.
> >
> > We’ve completed a round of updated analysis of the proposed change 
> to the QUIC spec, using quicly (changing to a 1:10 policy), and 
> chromium (which currently does 1:10 by default). Our hope is that this 
> change to the spec,  to actually make standard end-to-end QUIC work 
> better than TCP over asymmetric paths!
> >
> > This is a short slide deck about the performance of the proposed change:
> >
> >
> > There have been a number of other change made by the QUIC ID editors 
> relating to ACK processing, so we wanted to be sure these results were 
> up to date. (These results do not consider additional ACKs after 
> re-ordering - reflecting the latest text removing that.)
> >
> > We also really hope this will motivate a change the practice of 
> forcing of QUIC fallback to TCP (with PEP/Thining) over highly 
> asymmetric paths. People may also be interested in work for L4S to 
> evaluate the impact of ACK Thining for TCP-Prague.
> >
> > Please do provide feedback, or any questions on this - as Lars 
> notes, we think the time is running out for considering new changes, 
> even relatively simple ones like this.
> >
> > Gorry
> >
> > P.S. First email: 
> --
> Kazuho Oku

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