Re: Priority signals in HTTP/2

Martin Thomson <mt@lowentropy.net> Sun, 20 December 2020 23:07 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DDFA53A03F2 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 20 Dec 2020 15:07:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.748
X-Spam-Level:
X-Spam-Status: No, score=-2.748 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=CH9OkbVd; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=kQoC7W3N
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 aV5xagmzkh0s for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 20 Dec 2020 15:07:37 -0800 (PST)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0EDA73A03F1 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 20 Dec 2020 15:07:36 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1kr7l3-0006VT-EM for ietf-http-wg-dist@listhub.w3.org; Sun, 20 Dec 2020 23:04:57 +0000
Resent-Date: Sun, 20 Dec 2020 23:04:57 +0000
Resent-Message-Id: <E1kr7l3-0006VT-EM@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mt@lowentropy.net>) id 1kr7l1-0006Ui-TT for ietf-http-wg@listhub.w3.org; Sun, 20 Dec 2020 23:04:55 +0000
Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mt@lowentropy.net>) id 1kr7kz-0000hi-NK for ietf-http-wg@w3.org; Sun, 20 Dec 2020 23:04:55 +0000
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 08B2D5C012A for <ietf-http-wg@w3.org>; Sun, 20 Dec 2020 18:04:42 -0500 (EST)
Received: from imap10 ([10.202.2.60]) by compute1.internal (MEProxy); Sun, 20 Dec 2020 18:04:42 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm1; bh=Jv5+IwmMR5DRNV3Cv7fCxJPLKbDzlYX A8F4QTnZjfx4=; b=CH9OkbVdnn+tzXq5wwwmdhzNZ76UhTw7n1v7kQddFiWtuzu RSdVL4DGOFZhzL4+Y+k4vXZZE6R/4dYhb2MSapcatrCGjdbBRB/8OrnEDX+GTniV 8Pp5ed/hjKoawsvkU17tORhiiwQGQmVYA1RslWw6XDF/DwkDMBMG+WCTorsM82ft O5C8suBnzc6+J9bC7rmYyPg+j/tth7rsMUp5R8kxM9yo7g3rGK3cjKUuqpZUAzf7 pliizgtH4wW0WqA5isVA27cTEQvZxitBj8cLLYPakDhQV7PuQrkkaOKBVYtyAh26 xpMtwfnvY3Re9dLb0wuw/w7Do0u5P3QGRQTDacA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=Jv5+Iw mMR5DRNV3Cv7fCxJPLKbDzlYXA8F4QTnZjfx4=; b=kQoC7W3NbfPbO0rxDE6iIM LZcWw/Zp2EFdstVi1GjRxnJBYLOEruLAvBJ1NX+5H9C3ofv/lyfe4yrgRXG7tYLz SnyG2a/jO4xhS9ro3TLHuyiFR9mwUeFO/MbuSUmTpEIFZME+qqQ8lFB0HxM3EJX1 zc3BPF4Y2HGqlLxDRmVMf8H7AYCsm9884E9PNs3ydGURnMY93xnVwE91++EvJAPL zul0FB2RYJ+6S/gUX3V61AVLMB86gBs21nEMWYbHDZBQr1Ck2zQVwWvaw8ZJqPpR 6Fgrv6EFnXb2lPBL6gNgbGd2gqfrX7p2mYYWWcfJguL9zmFB+Zxp/YiOjji0o3kw ==
X-ME-Sender: <xms:idjfX1QJtdbZlw5OXqkq_ui7pX4wt8OQseYpzrvtdsXfqp9aUpNTCQ> <xme:idjfX-yM3MpruSFSHNaXLd3FsZov-yRop5BnJYyyC7HQY5lNpUUx4BimgPJazytcq dfxFKCSpeyU5EYhis4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvddtuddgtdejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsehttd ertderredtnecuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhho figvnhhtrhhophihrdhnvghtqeenucggtffrrghtthgvrhhnpeekteeuieektdekleefke evhfekffevvdevgfekgfeluefgvdejjeegffeigedtjeenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofigvnhhtrhhophihrdhnvg ht
X-ME-Proxy: <xmx:idjfX61gdA-bSR3eDCx5hgfhT9PdsJzO6-Ksv8g4j0leuAvzTd7rZg> <xmx:idjfX9ADyI04Q8xV_hiDHE1wcwwFZt7aUkFUMYkSA1PKK39oLeDO5Q> <xmx:idjfX-hDmjGy6chqDnN_hfQusaVmeUm3z9rVm7zT3DDkSl_waM6_jw> <xmx:itjfX5vKlS_Bmn1kSMHj0cP8lPZMMksmz4jh4nCyrRFp7bOO6WNVZA>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id ABA35200B9; Sun, 20 Dec 2020 18:04:41 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.3.1-61-gb52c239-fm-20201210.001-gb52c2396
Mime-Version: 1.0
Message-Id: <8a16e873-7e92-494d-84a2-3e3927b9f3ad@www.fastmail.com>
In-Reply-To: <CAAPGdfENarbmwHyYFO1oLOyhC__o=ZW_KZBs+XCJYSN_DHU+Vw@mail.gmail.com>
References: <32bc8d5e-23c9-412e-84a5-5f153e827c33@www.fastmail.com> <CAAPGdfENarbmwHyYFO1oLOyhC__o=ZW_KZBs+XCJYSN_DHU+Vw@mail.gmail.com>
Date: Mon, 21 Dec 2020 10:04:20 +1100
From: Martin Thomson <mt@lowentropy.net>
To: ietf-http-wg@w3.org
Content-Type: text/plain
Received-SPF: pass client-ip=66.111.4.28; envelope-from=mt@lowentropy.net; helo=out4-smtp.messagingengine.com
X-W3C-Hub-Spam-Status: No, score=-6.8
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1kr7kz-0000hi-NK 6bf31c97cbb9fb524204cea52dae08c4
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Priority signals in HTTP/2
Archived-At: <https://www.w3.org/mid/8a16e873-7e92-494d-84a2-3e3927b9f3ad@www.fastmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/38336
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Thanks for the input Greg.

On Sun, Dec 20, 2020, at 02:00, Greg Wilkins wrote:
> > about the importance of having prioritization in a multiplexed transport (though not necessarily signaling thereof).
> 
> Lost me here!    I'm just not sure that it is universally true that 
> priorities are needed in a multiplexed transport.   I'm sure there are 
> some circumstances that need them, but I am far from convinced that 
> they are generally required nor that the complexity of implementation 
> is justified in many of the cases that they might be conceptually 
> useful.

I'm not talking about sending signals to the other side, I'm talking about an endpoint allocating its resources in a fashion appropriate to their needs.  When we say PRIORITY, we refer to one endpoint telling the other what it wants.  We don't need that necessarily if you know enough from context.

I think that we have enough information now to know that - in general - it is good to know what is most important to send and prioritizing sending that.

> > 4.    Point to the new signaling system if that is mature enough (and probably even if it is not).
> 
> I don't think that any new priority signalling system should be linked 
> or recommended unless it has been proven to be of general benefit.
> However, I'd not be opposed to defining a general signalling system 
> that would allow consenting endpoints to exchange arbitrary signals. 
> Such a system could be used as the basis for a priority conversation 
> if/when something is agreed, but would be ignorable by non 
> consenting/participating endpoints.  It would also better allow for 
> experimenting with alternate solutions and optimizations (eg perhaps 
> some extension to flow control would be better than priorities).

This is the part that is hard.  I don't think that we can safely point to a general benefit from any scheme yet.  Nor do I think that this reference would need to be as firm as "please use this instead".  I was thinking that it would be of the form "other methods of signaling priority might be developed, see [x]".  Sticking a recommendation on it would be premature, I agree.

It's quite possible that FIFO handling of queries will serve you fine.  Robin Marx showed that that is far better than round robin for a few use cases.

> So the careful wording should say that the RFC7540 priorities may help 
> performance in some circumstances, but that it may also be valid to 
> ignore them. Ie it should say "your mileage may vary"!

Yes.  You correctly identified one of the challenges with the 7540 scheme: in addition to the non-trivial engineering cost of doing something complicated, you have the uncertainty associated with knowing that the extra cycles you spend were worth it.  I know that we saw some evidence that it was worth it under controlled circumstances, but it's hard to know if that research scales to large-scale deployments.