Re: HTTP/3 with strict priorities (PR #2700)

Ian Swett <ianswett@google.com> Fri, 17 May 2019 21:00 UTC

Return-Path: <ianswett@google.com>
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 F1D9D12016F for <quic@ietfa.amsl.com>; Fri, 17 May 2019 14:00:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.51
X-Spam-Level:
X-Spam-Status: No, score=-17.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_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 MQU8BPCDi6gK for <quic@ietfa.amsl.com>; Fri, 17 May 2019 14:00:13 -0700 (PDT)
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) (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 E2941120046 for <quic@ietf.org>; Fri, 17 May 2019 14:00:12 -0700 (PDT)
Received: by mail-wr1-x431.google.com with SMTP id f8so2065744wrt.1 for <quic@ietf.org>; Fri, 17 May 2019 14:00:12 -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; bh=ojC4Ea23ZQ8Pv6tYu3IW993XkEvSMxijP8hJ7r7uI0M=; b=Tifssx+uypCVO2qFqf/TFS9GTbrZM4FxSfAJ08xEMm4Y8MbMKhoXvSERSIM2WB1hVz Vq9W9uQndFHpwSs1x8Cbd3nX1ZCSW0WbyRMkNgr9RxEi+LQpN8QcGhmBBoSMimoETP+o E3yf2vvrFB1Pd/uh1GjRslNGsyveXhk8vx5BUgLiXt2wpih7uNuwhp7fu1ta76JH00w3 HBkn29adhMPWm29T/CobIMWQSQaAohe31/kbVxJYeoim/SvmCG5BzYnTvJh5H/sxClUg ET/TCWXwX81JZtBCnspDbzu0f4ctoMqKU1s/pPvhFUuI7L74hEkBKQ5ZavcEHCZEJK8/ WsfA==
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=ojC4Ea23ZQ8Pv6tYu3IW993XkEvSMxijP8hJ7r7uI0M=; b=UAunUJZF53+yTxqYQf1MD04o7TPdQIQ6UT6GGzZCohZXh3B5HVhRMlk3Du01ykC2a9 yOZRDPmUI40Uc5QCKjg8kIJqlZfoRqVJiQMkKQ5O2Tc8iayViGyJXdQpviDvMXfpKPy6 EZLX5RBKwX2YvAZUd6K2AomI/OoC4Xp9ub+0QEIZNs1WZAx4uNESP1IGyHhxW1MFdiku QSEahgKyHZevdprKlxqe7VTkLDWQ0bShB01YYrvupOygk5+SGb9EiKPLAyuW5mMLv7uN Om0Oxn82l1YejZWkn283/1kqjE3wKmHp0KE5c+MG0HOWssSXWxJFRY4sRftZOSiIATeZ Zc8w==
X-Gm-Message-State: APjAAAVd2bwZK2zFLTNI4V8DpA1RuUYyxZ/2eSqehV20LDmVdi/kIO/x uE2xhu45QKoGZbE5F8EOwTXg9Fg88akufyHVAq3s4+u5X4Q3pA==
X-Google-Smtp-Source: APXvYqw3Z2jYmt/tqLWTWpxbwhr9WnKLDWCysG34ic1ARn5joH+sSKsvhN0nffjpJqgBULyxF9dMo7XeIKdYg4luPGI=
X-Received: by 2002:a5d:534b:: with SMTP id t11mr19719753wrv.297.1558126810635; Fri, 17 May 2019 14:00:10 -0700 (PDT)
MIME-Version: 1.0
References: <20190515205451.GA32701@ubuntu-dmitri> <CAKcm_gMz=ENz_bKSAa6MOYA39w-+66em1xE=JSt7QoupaNLabA@mail.gmail.com> <20190517145540.GA13238@ubuntu-dmitri>
In-Reply-To: <20190517145540.GA13238@ubuntu-dmitri>
From: Ian Swett <ianswett@google.com>
Date: Fri, 17 May 2019 16:59:58 -0400
Message-ID: <CAKcm_gO=TqC89Y3qms5Ob20ir+x30yEG9aRtu_R_DX5DUbFOVQ@mail.gmail.com>
Subject: Re: HTTP/3 with strict priorities (PR #2700)
To: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000108f0b05891babbf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/00Pl7B1Aqdtha5Z_Etx4JYg4nQ8>
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: Fri, 17 May 2019 21:00:16 -0000

On Fri, May 17, 2019 at 10:56 AM Dmitri Tikhonov <
dtikhonov@litespeedtech.com> wrote:

> On Wed, May 15, 2019 at 05:51:27PM -0400, Ian Swett wrote:
> > > 1. What is a _strict priority_?
> > >
> > >     There is no definition of strict priority that I could find
> > >     in the diff.  Do strict priorities work outside of the
> > >     dependency tree?  For example, which stream has higher priority
> > >     in the following figure?
> > >
> --- 8< --- 8< --- 8< ---
> >
> > Strict priorities are only relative to other siblings under the same
> > placeholder/root.  I'll clarify that.  Currently the text says "Higher
> > priority elements have all available data sent before elements of lower
> > priority."
>
> I see, so this is two levels of prioritization, with weights (if present)
> serving to determine how resources are allocated to streams that have the
> same priority.  This feature is analogous to priority and concurrency in
> Patrick Meenan's proposal. [1]
>
> > > 3. What problem do all-or-nothing resources solve?
> > >
> > >     " When [weight is] absent, indicates the resource should be
> > >     " delivered all at once or not at all.
> > >
> > >     This is new.  I don't believe I've seen it in other prioritization
> > >     proposals.  Adding this dimension increases complexity.  What
> > >     problem do these all-or-nothing resources solve?
> > >
> >
> > This is an effort to incorporate Patrick Meenan's Round Robin Sequential
> > and Round Robin Interleaved proposal, as outlined on slide 49 here:
> >
> https://github.com/HTTPWorkshop/workshop2019/blob/master/talks/pardue-jones-priorities.pdf
> > or
> > here: http3-prioritization-proposal
> > <
> https://github.com/pmeenan/http3-prioritization-proposal/blob/master/README.md
> >
> >
> > I'm sure Patrick could rewrite this text more clearly, and I think
> > Patrick's explanation for the motivation is solid.
>
> I could not find the "all at once or not at all" concept mentioned
> in these documents, nor did I succeed in mapping the "not at all"
> part to anything in Patrick's proposal.  Where can I find his
> explanation for the motivation?
>

I'm referencing "Sequential" and "Interleaved" on slide 49.

I added this text after your original review, which hopefully is clearer:
"Higher priority elements have all available data sent before elements of
lower
priority.  When multiple elements have the same priority, if a weight is
specified, elements with weights are interleaved.  If a weight is 0, either
because it is the default weight or it was not specified, then elements are
delivered sequentially and all available data from one element is sent
before
any data from the next.  If a given priority level has some elements with
weights and some without, the two groups share the available bandwidth
equally."


>   - Dmitri.
>
> 1. https://github.com/pmeenan/http3-prioritization-proposal
>
>