Re: [quicwg/base-drafts] Remove PRIORITY (#2924)

Lucas Pardue <> Tue, 23 July 2019 05:45 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 54EC2120096 for <>; Mon, 22 Jul 2019 22:45:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Status: No, score=-8 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 FPSKHrp6RoNl for <>; Mon, 22 Jul 2019 22:45:56 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 42955120041 for <>; Mon, 22 Jul 2019 22:45:56 -0700 (PDT)
Date: Mon, 22 Jul 2019 22:45:55 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1563860755; bh=NawJJPyC8IjSmHlH0jWZ1ywcVRLoX2tbWPTnkICndyI=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=xH8VGnFHFWOaTde1AtUASAL9oFQaNEWWvD6N56zTAFeXl2UyPcUPnvNvTtm9mXd6a YPo09+o/yarmo3Sm/rGUp1TcvIQm7s8RoG3/NXcBgPdAn90Tovyo2o8aHNUMLgx8Hz lApKnF8X2gpmW1SVbeoKeLxm0138bw+VJ9tyICP8=
From: Lucas Pardue <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/2924/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Remove PRIORITY (#2924)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d369f133f170_45783fe3910cd960382232"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: LPardue
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: Tue, 23 Jul 2019 05:45:59 -0000

An attempt to summarise some of my points stated on the PR:

Prioritisation of contending data egressing from a QUIC endpoint is an important property. In HTTP/3, the most applicable use case is concurrent response data. 

Considering how well this property is achieved, H2's prioritisation scheme - frame-based tree building requiring chatty exchanges of signals - in practice offers little demonstrable advantage over its anithesis - static absolute priorities. Worse still the challenges of realizing the flexibility of the dependency tree has led to static priority structures that are built the same way every time. One could argue that the success criteria for H2's prioritisation is abysmal because it has been shown that doing nothing is better than doing something*.

Research has shown that prioritisation is maximally effective when adapted to the needs of the application instance (aka specific web page). However, experience has shown that using frame-based tree building to do this is unachievable across a meaningful population of HTTP implementations within the lifetime of a protocol generation. Therefore, it is undesirable to port the same system to the next generation unless it is expected that the present issues can be fixed or corrected. No evidence of that has been presented.

Removing frame-based tree building does not remove all prioritisation signals. It reduces the amplitude of the signal but the waveform is still there is the form of request generation order and resource type. Enhancing this signal with deployment experience is the next step, which may or may not need to happen immediately and may or may not result in a single answer.

* admittadly in some, not all, cases.

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