Re: Call for consensus: HTTP/2 Priorities
Robin MARX <robin.marx@uhasselt.be> Sat, 17 August 2019 13:54 UTC
Return-Path: <robin.marx@uhasselt.be>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9118C120072 for <quic@ietfa.amsl.com>; Sat, 17 Aug 2019 06:54:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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=uhasselt.be
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 YqFXzNjclDhT for <quic@ietfa.amsl.com>; Sat, 17 Aug 2019 06:54:16 -0700 (PDT)
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5812D12002E for <quic@ietf.org>; Sat, 17 Aug 2019 06:54:16 -0700 (PDT)
Received: by mail-lj1-x231.google.com with SMTP id u15so7746297ljl.3 for <quic@ietf.org>; Sat, 17 Aug 2019 06:54:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uhasselt.be; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=qWkuSEu/1gVbJm9GAC9uwDxHXZn7w+JlI+cat0k4AZs=; b=pCdzzr5CD1xuzMFkmXidYB9OWP+kYCqYDvBZQi6ytvDbAVaxtFN6idq167pK1mD+2O TgSDcbUIXhIkdofnueDqswElPMJebshAoXRMUvuFSIe1eGeV4/7tq+bsYC+LQGUz2aQo P+glNkKc8Giu5qyZic8pfZBm5sLgSUhTtMXk8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=qWkuSEu/1gVbJm9GAC9uwDxHXZn7w+JlI+cat0k4AZs=; b=Vk+06Wd3mISYFIwISjb4LzmY1epA9wWeoCZS9xNQbcM7F2y4TUqlfGVhMPFGooDERj zulE/fqARzazgD8PmRysFpboaipXmO6HZdAJ7Pwxon53STHmHhr35rwnu5h4dhdimQO3 i75LY7ftlsToE4D2J8GNW/zjZ071/jo23oA/3NDbSVDY6n0xpl/Ym9aa6KXH4cPjo12o uy0SxaGTw1gDC4Xcsn8pDiRWflVZYKJeWNRX189RvEB23CFZ/2wOnNTNeVKHEx2Jd0PR uV9kAPfCpL0AmfnFS94Sk6Rxd98M22Ykyh2n+Cgap8zufTGXLE3dsknuX9dbdMY5Zpx5 bVnw==
X-Gm-Message-State: APjAAAUhr8aGW/nXACS3lr6V/3MQM/ikA0tpGMXh5v3Cg7hF8tHnep4O 5hjpPD0ESsDRaUxVQgWnwqsCrhtPt7S73X8Tla7mzVrtjmc=
X-Google-Smtp-Source: APXvYqzfGIU9VoCnpAtNSvEcyUqUC5+xIyA6NYd2AJnAmKw3mUyUpQweS7ZQRY/PJ4RV5lZuD/pxBK862Nig7NQ1Hq8=
X-Received: by 2002:a2e:81cb:: with SMTP id s11mr7954925ljg.179.1566050053338; Sat, 17 Aug 2019 06:54:13 -0700 (PDT)
MIME-Version: 1.0
References: <5E8935DC-6FB5-40F8-A843-1B3991D08CB9@mnot.net> <CACpbDcddQK3yO-hCrFys6eFYZXYvXzJ-SM68ix0xkGt_t52OJA@mail.gmail.com> <CAN1APdd=9=U+hYHEfZ3Zg36B7GLnJ13L3iT3zNV1QBEq1ACqnA@mail.gmail.com>
In-Reply-To: <CAN1APdd=9=U+hYHEfZ3Zg36B7GLnJ13L3iT3zNV1QBEq1ACqnA@mail.gmail.com>
From: Robin MARX <robin.marx@uhasselt.be>
Date: Sat, 17 Aug 2019 15:54:03 +0200
Message-ID: <CAC7UV9av8zbZ8VDcrgFcQAY15+WdOq7EDM9myNid9He6bFZU8Q@mail.gmail.com>
Subject: Re: Call for consensus: HTTP/2 Priorities
To: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002151e505905071b2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/CCLMDzqWo6TWTK9zmHyuoSF5wp4>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Aug 2019 13:54:21 -0000
At the risk of repeatedly screaming into the void: I do not have a problem with the removal of HTTP/2-style priorities per se. The setup is certainly quite complex and can be simplified in terms of implementation. However, the dependency tree is also very flexible and able to represent a wide variety of different prioritization schemes. That this flexibility has been severely under-utilized to this day, does not necessarily mean it's not needed in my opinion. And sure, we can drop it now, ship with something simple, and move to a more complex/flexible setup again down the road once we have more insights. However, that latter point is still not what seems to be on the table here. I still feel like we're proposing dropping priorities completely right now and -maybe-, just maybe (NOT *necessarily *as Mark says*)* shipping H3 with some form of priorities on-board (i.e., "priorities should not block H3"). The way I see this going forward is that many people just won't bother implementing any prioritization concept until it's clear what will end up chosen (and it's in the spec). Consequently, people will keep testing QUIC stack performance without caring about multiplexing (much): downloading a single file over a single stream, which imo is only part of the equation. I see us ending up with shipped implementations that don't have decent prioritization support, this time not because they can't be bothered to implement a dependency tree, but simply because nobody told them they should. Thus we run the risk of H3 performing worse than H2. As such, I am not really in favor of removing priorities from the spec until we have a replacement. Or if we do, I feel priorities should block H3 (even if it's just for a simplified setup). I really feel we're sticking our heads in the sand on this. We've been ignoring HTTP priorities for too long (otherwise we wouldn't be in this current mess). Next to that, we've also been ignoring QUIC-level priorities (with the very vague https://tools.ietf.org/html/draft-ietf-quic-transport-22#section-2.3 as only indication). I've asked this of multiple implementers on multiple occasions and no one had a concrete idea of how they will/should be mapping application-layer priorities to QUIC stream priorities yet. People seem to expect this to somehow resolve itself or that it can be bolted on as an afterthought, and maybe it will/can, but I doubt it. The only other conclusion I can draw from all this, is that priorities don't really matter in the big picture. I certainly see enough indicators to that end. For example Microsoft Edge not bothering to use them in the first place. For example browsers not seeming to a/b test optimal approaches for over 4 years. For example, some people advocating that "passive" resource request order + content-type is enough of a signal in itself to provide good page loading performance. For example, people proposing not letting them block H3. This viewpoint is 100% contradictory to my own prioritization research and my understanding of current web page building techniques. Maybe I'm missing things others take for granted. Maybe I'm making mistakes. Maybe priorities are not the cornerstone of a multiplexed protocol that I view them to be. In that case, by all means go ahead and continue down this proposed route, as it indeed seems the best way forward. If not: please give them the attention they deserve. With best regards, Robin On Sat, 17 Aug 2019 at 14:10, Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com> wrote: > +1 > > > On 17 August 2019 at 00.08.06, Jana Iyengar (jri.ietf@gmail.com) wrote: > > +1 to removing the current priorities from HTTP/3. > > On Thu, Aug 15, 2019 at 8:49 PM Mark Nottingham <mnot@mnot.net > <mnot@mnot..net>> wrote: > >> In Montreal, we had a discussion about priorities, where the outcome was >> that people in the room agreed to defer to the HTTP Working Group regarding >> whether HTTP/3 should ship with something compatible with HTTP/2 priorities >> in it: >> >> https://github.com/quicwg/wg-materials/blob/master/ietf105/minutes.md#h3-priorities >> >> Since then, the HTTP Working Group has come to consensus that it does not >> believe we should do so: >> https://www.w3.org/mid/00CD4B65-7015-45F6-9F18-624B0DB7A501@mnot.net >> >> This consensus call is to confirm this approach in this WG. In practical >> terms, it means we will remove the current HTTP/2-aligned priorities >> machinery from HTTP/3. It does NOT necessarily mean that HTTP/3 will ship >> without any form of priorities; just not this one. Doing so will resolve a >> number of outstanding issues, and make way for a replacement scheme, >> currently under discussion in a design team in the HTTP Working Group. >> >> Please respond by the middle of next week; we'd like to move forward with >> this resolution. >> >> Kind regards, >> >> -- >> Mark Nottingham https://www.mnot.net/ >> >> -- Robin Marx PhD researcher - web performance Expertise centre for Digital Media T +32(0)11 26 84 79 - GSM +32(0)497 72 86 94 www.uhasselt.be Universiteit Hasselt - Campus Diepenbeek Agoralaan Gebouw D - B-3590 Diepenbeek Kantoor EDM-2.05
- Call for consensus: HTTP/2 Priorities Mark Nottingham
- Re: Call for consensus: HTTP/2 Priorities Jana Iyengar
- Re: Call for consensus: HTTP/2 Priorities Mikkel Fahnøe Jørgensen
- Re: Call for consensus: HTTP/2 Priorities Robin MARX
- Re: Call for consensus: HTTP/2 Priorities Ryan Hamilton
- Re: Call for consensus: HTTP/2 Priorities Tommy Pauly
- Re: Call for consensus: HTTP/2 Priorities Mark Nottingham
- Re: Call for consensus: HTTP/2 Priorities Mark Nottingham