Re: HTTP/3 Prioritization Proposal

Ian Swett <ianswett@google.com> Tue, 07 May 2019 19:58 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 EE6341200EF for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 7 May 2019 12:58:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.508
X-Spam-Level:
X-Spam-Status: No, score=-10.508 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.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 ABYjpyCQf8Zn for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 7 May 2019 12:58:35 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (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 99B7D1200D6 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 7 May 2019 12:58:35 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1hO6Be-0002aK-Fs for ietf-http-wg-dist@listhub.w3.org; Tue, 07 May 2019 19:55:38 +0000
Resent-Date: Tue, 07 May 2019 19:55:38 +0000
Resent-Message-Id: <E1hO6Be-0002aK-Fs@frink.w3.org>
Received: from titan.w3.org ([2603:400a:ffff:804:801e:34:0:4c]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <ianswett@google.com>) id 1hO6Bb-0002Zd-Ma for ietf-http-wg@listhub.w3.org; Tue, 07 May 2019 19:55:35 +0000
Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from <ianswett@google.com>) id 1hO6Ba-0000nA-3i for ietf-http-wg@w3.org; Tue, 07 May 2019 19:55:35 +0000
Received: by mail-wm1-x32c.google.com with SMTP id m20so323784wmg.1 for <ietf-http-wg@w3.org>; Tue, 07 May 2019 12:55:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CaqgSfLxNZX8n590tnt9TMYYY4yMn1MJCM9MO09Pq8o=; b=CztEWPm7yFKXEICi3BbapvO68eYOkECxb5h6jgpRUClHxBFWr623om20KAzamZjJlY gDYDAJSkzN2Tco25zZpDmU5SvLTWwOGNlAUz2iRZTnfYK89Bk86R9lHKDCv4qDDnu9Y2 15VPTBC1UGMnmRD57eG47wC5fXGnKL96Q+5P/3z9VhRgpgacgCvCiBU/0fphSP0B1GPy JTwzeLeEXs+9qF8/BaZoHboB2Bu2j5EOJIDtjc0PrQwcxjxYrt/tSFhRfJYTfu19WjJ+ 5FAL3NdLsyFRs67CbbQQ0BLxWnwMVRX5789JNHdVn9h0VDXu9myhqELtHZ786jWazykm g8Ow==
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:cc; bh=CaqgSfLxNZX8n590tnt9TMYYY4yMn1MJCM9MO09Pq8o=; b=cSRvyb7aK3bCMiKNu+fgMO7cQuSeKK0+k3tBL6OrEMDBo1UPDhbV9fdYnjwU7e2m6c ClhN+V2TeaTAybbkR4IPMexEJsVQydZ5sEXSeyMLDAXRDZRaaPEs9z0OjuFK0SBqNx16 KAvYYdU8cr46d4Z8VobhEab9CQIke/OSIUw5Z1JrNcjydTna10vCF7WcFrqkLOL++6ZZ oi8Toa0nm86E7YIIFpgta8+7wj67rQNFQIotOnOfhrxxInns+NUkMv7kIUnSu5mrEMF8 gjhAGmByqR1BPKdsh4T/XzwdsTeNOiaHqg61e17dOJf+z6qltfXux29Wd11/u0BDyupu BVaA==
X-Gm-Message-State: APjAAAW87GGGmAwtY9mEQfJANezc1PU02DphaEq7dTIqTXK+O8aXo6ZT svRlsq7qC7wM0vUCo85VCViQjF+KBiaxXVggnDuCdg==
X-Google-Smtp-Source: APXvYqxsTkF758pAH/MyX1Wz4e8slJt/v3NY0zeofH/DZYos5k9feCIuTfznBvwxpVT15IW4EG6hw0wRhOFaxsge7kY=
X-Received: by 2002:a1c:c18c:: with SMTP id r134mr104589wmf.124.1557258911671; Tue, 07 May 2019 12:55:11 -0700 (PDT)
MIME-Version: 1.0
References: <CAJV+MGxs_v5A4GT6SJDxCYj7Q-_Vw_Cd-0nGw=1nknZtp5nDuQ@mail.gmail.com> <B8CB38E8-B886-47BF-B2FF-785CA0723A71@mnot.net> <CALGR9oaqtZb6AiWaxLMSq=W5-USR5_0B+3PvyjEuERT7sw2z3A@mail.gmail.com> <CY4PR22MB0983F6D306B49EDFA1CEA85BDA970@CY4PR22MB0983.namprd22.prod.outlook.com> <1acaec63-e13d-3437-ca0d-1c75371c32a7@treenet.co.nz> <CAJV+MGwhLz4Fq+XTj_2dJcK3HKOQj2m6hux-fBTirGVKFUKCQg@mail.gmail.com> <20190129185706.GA15194@ubuntu-dmitri> <CALGR9obAcduCzH_vpebn9T0x7m_vKTXKokK6v+Mgf72Mph7uqw@mail.gmail.com> <CAJV+MGw=aDBCuRjJ3RDaGpH3Xg7OHtTJnqUstBbbc-z864uLuw@mail.gmail.com> <CAOdDvNoKhWJmzf83NUrzzTjM8Rtaa9GHYjdNzEG10m29EMhWKQ@mail.gmail.com> <CAKcm_gP4D4m6JPrpktk5PmcDyvcJoZMTDDpY8G49mfQxawZ8bg@mail.gmail.com> <F8B9A0EE-EA51-4704-BA2E-61C69A0E26B7@mnot.net>
In-Reply-To: <F8B9A0EE-EA51-4704-BA2E-61C69A0E26B7@mnot.net>
From: Ian Swett <ianswett@google.com>
Date: Tue, 07 May 2019 15:54:48 -0400
Message-ID: <CAKcm_gMNFY3eKiu-+x7mHvruEdAPY+_hqR+Bb6kM+zeeG65LWA@mail.gmail.com>
To: Mark Nottingham <mnot@mnot.net>
Cc: Patrick McManus <mcmanus@ducksong.com>, Patrick Meenan <patmeenan@gmail.com>, Lucas Pardue <lucaspardue.24.7@gmail.com>, Amos Jeffries <squid3@treenet.co.nz>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="000000000000414b7c0588519833"
Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=ianswett@google.com; helo=mail-wm1-x32c.google.com
X-W3C-Hub-Spam-Status: No, score=-19.6
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, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1hO6Ba-0000nA-3i 64ecf19cd36ade7a1b038958ed569d6b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP/3 Prioritization Proposal
Archived-At: <https://www.w3.org/mid/CAKcm_gMNFY3eKiu-+x7mHvruEdAPY+_hqR+Bb6kM+zeeG65LWA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36615
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>

On Sat, May 4, 2019 at 2:32 AM Mark Nottingham <mnot@mnot.net> wrote:

> > On 4 May 2019, at 6:26 am, Ian Swett <ianswett@google.com> wrote:
> >
> >> This is a much more important property in an aggregator like a CDN who
> might be bringing different front end connections into a single backend
> connection.. the priority expressed by the client should exist in some ways
> e2e (css before imgs!), but in other ways hop to hop (you don't want every
> css to stall every browser's images).. the tree allows that.
> >
> > This statement concerns me for a few reasons.  One is I doubt any CDNs
> can pull this off at scale, so I don't think it's practical.
>
> Any particular reason why? Most CDNs have a hierarchy of some kind, to
> protect the origin from having to serve too many CDN nodes directly.
>

I may have misunderstood what Patrick was trying to say.  I thought he was
imagining a case where multiple connections from the SAME client hit a
single CDN node.  After re-reading his text and reading your comments, it
appears you have a case where there are many different clients going to a
single origin server and you're trying to use priorities to provide equal
weighting instead of using multiple connections.

In that case, strict priorities within groups and round robin within
groups(aka placeholders) seems like a better design that's simpler than the
existing proposal.  And client-facing servers could indicate a max number
of placeholders of 0.


> This came up at the latest HTTP Workshop; no one with an intermediary was
> using priorities in this way -- but that's because most intermediaries
> aren't using H2 on the back-end connection. Once they do, the next hurdle
> they'll hit is that H2's use of TCP means that using a single connection to
> origin is unattractive, so they'll use a number in parallel. In theory, H3
> should address that; in practice, we'll see.
>

I think you're supporting my point that we have essentially no deployment
experience with these being utilized as originally envisioned?

>
> Regardless, it's not unreasonable to think that an intermediary will
> multiplex more than one client's traffic onto a connection (either to a
> parent node, or to the origin).
>
>
> > Someone should correct me if I'm wrong.  Another is that to pull this
> off, you'd need reliable ways to know that a single user was the owner of
> two different connections, which seems potentially concerning from a
> privacy perspective?
>
> Why would that be?
>

It was the single user aspect I was confused by.  I'll assume that was a
misunderstanding.

>
>
> >  Lastly, I don't think it would result in optimal loading.  If one could
> do this, strict numerical priorities would likely work better, because
> they'd preserve most of the clients original intent instead of equally
> sharing bandwidth between blocking resources(ie: HTML, CSS) and
> non-blocking ones(ie: images).
>
> I'm not sure what you mean here. With strict numerical priorities, an
> intermediary would either have to pass through the priorities unchanged (in
> which case a misbehaving client could claim everything is e.g., priority
> 255 and hog resources), or it'd have to normalise the priorities in some
> fashion, which practically (if not completely) precludes preserving the
> relative priority of a given client's requests.
>

That makes sense now that I understand what Patrick had in mind.  Though
hopefully the cache hit ratio of your CDN is high enough that most
resources don't go back to the origin.

>
> Cheers,
>
> --
> Mark Nottingham   https://www.mnot.net/
>
>