Re: [Masque] Prioritizing QUIC DATAGRAMs (was: Re: Prioritizing HTTP DATAGRAMs)

Martin Duke <martin.h.duke@gmail.com> Wed, 23 June 2021 21:01 UTC

Return-Path: <martin.h.duke@gmail.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 954DE3A404E; Wed, 23 Jun 2021 14:01:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 WOmGh_NEWqCj; Wed, 23 Jun 2021 14:01:34 -0700 (PDT)
Received: from mail-il1-x12e.google.com (mail-il1-x12e.google.com [IPv6:2607:f8b0:4864:20::12e]) (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 1D22E3A404D; Wed, 23 Jun 2021 14:01:28 -0700 (PDT)
Received: by mail-il1-x12e.google.com with SMTP id q18so3917622ile.10; Wed, 23 Jun 2021 14:01:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ci+yj7LO7wro4MphNtcWyMXpZVfPB9IX9107gjmXg+0=; b=ryUMUm/qz7pYqyuOLvikr9VwVVzx3hhPduSm+aqUafZfPCk8aXu0qz82R/3NWlwBYz gJgkDhUkzpVrP1GbfSnSoYbi3kEH0GOwNHJh35kaWD0/lZVd+n+wk4zqhgWIpdUfE47v gTHypUrmQfl0hzZHCBkJs+bwrXS3clqnQEL+T95uimPeEyWGZr9M61hngc0g6M65NtzG 19JPqd0c0n8qnAtapErguPAlj4Qc919Yrt43efm52zF+cr2uvA1P++zRI1Yfu1dZCLMi Tu0SEt8Fm9q/kdm/I4Q478eURTbQjar1iQDA7nYVU9xutwhYrpcD0t3G7KojQj/w0H6w GHpg==
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=ci+yj7LO7wro4MphNtcWyMXpZVfPB9IX9107gjmXg+0=; b=i/VlEr5Orni4fn4wh8eCh0iofjfsm2EbbFqqNn8d+LO1kc3QKpC2EdVkGax7Tjpwae a8r1yVvu/VEbVFY6QQsLoLiAgB7MZBSmZeYaJ3AOuWpvCV/tfXfI00XJEEtDqmnNTK9t 3LXPxwdLj7Tx8xgX580qphfkn9P4GBHQv41zrZe7SQpfK2PFn39rUoCNEHts7S9BCIwu HGTUI0wRXkooNiZNI6B4ECcc61189F/NCLMT/sSjpZwMuz0kvTL2/bnrcYT4GMArWKHG nRvjr4Ys/KAahDAFy7CFYoWiF/GPGN8er5qSEmR+Cuyvec56zPylIxrVb8J0BDFbNsUw R0aQ==
X-Gm-Message-State: AOAM533wQVjE09BfvTEZ8JMx8TEOTjfVyW5ZmVMCHOBjPkfjKTSRo10x A0RCjfQAc5umXs57DP/8VroyiVvc1M1k0OAoNps=
X-Google-Smtp-Source: ABdhPJzDe+rVxNi2GPwcxvTlo1l6pEKLmOKtQqsHk+sDTn7DggYsEjrYKTPQPzDaHI9IWD48iL+y7NAG6QQ5pv3H+Pw=
X-Received: by 2002:a92:1901:: with SMTP id 1mr975027ilz.237.1624482087826; Wed, 23 Jun 2021 14:01:27 -0700 (PDT)
MIME-Version: 1.0
References: <CALGR9ob=3CywgYvLJpSba6xCGwDEBzdJbuco28BMk9ayMcFe6Q@mail.gmail.com> <CAKKJt-d0srxhm==cxyXuJuDiqUk0sEgOAJRY+6ejq21LQVPsgQ@mail.gmail.com> <CALGR9oZOp5YWMWx61Etq42McOi02LOjxtRLL+xHhDpHKS94ukA@mail.gmail.com> <b9d7e589-df4a-0440-b5d4-847cca5a6908@rd.bbc.co.uk> <CALGR9oYRE0hBap+=VEr-KPD7Qp6gZZ_gg_0bcaDoquthKikMJg@mail.gmail.com> <CAJV+MGz=sszxnUn-oSrGbd_az7QPATLB_3VeaHmC4R1Gj0ua8g@mail.gmail.com> <53BD22F8-2BAA-4F9A-9673-77AD781C2EDD@gmail.com> <CAM4esxQTkMEi7y_QSVmYvEgN4U98-BHeTYwpFDRmTOdxjPkHqg@mail.gmail.com> <CALGR9oacZNVAKUD2qAv-ZB8VXs-XZEW+GE9GL_25gHNH13YiOg@mail.gmail.com> <CAM4esxQ=Z=_pn65pF=yMe3OcgLN3jfXkYpSs+d6FqgC7r18_qQ@mail.gmail.com> <CALGR9oZPRU-6kODqSBwW5xeEhVcyZb7vHx65H-AajhcmiKUfFw@mail.gmail.com>
In-Reply-To: <CALGR9oZPRU-6kODqSBwW5xeEhVcyZb7vHx65H-AajhcmiKUfFw@mail.gmail.com>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Wed, 23 Jun 2021 14:01:16 -0700
Message-ID: <CAM4esxQtzYCRRUt_tr6HxQ+zn-f1hZpBi1DZ3uaVWsWkL4MGMg@mail.gmail.com>
Subject: Re: [Masque] Prioritizing QUIC DATAGRAMs (was: Re: Prioritizing HTTP DATAGRAMs)
To: Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, Patrick Meenan <patmeenan@gmail.com>, MASQUE <masque@ietf.org>, Samuel Hurst <samuelh@rd.bbc.co.uk>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, David Schinazi <dschinazi.ietf@gmail.com>, QUIC WG <quic@ietf.org>, Kazuho Oku <kazuhooku@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000c9f76e05c575350f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/S1T8IyUxJyMkWRyBpZqFId2wYUA>
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: Wed, 23 Jun 2021 21:01:36 -0000

This is an argument against punting, I think. If there are additional
semantics required to specify priorities on a sub-stream basis, it will be
somewhat more painful to have this be an extension than something native.

Which is not to say we shouldn't punt.

On Wed, Jun 23, 2021, 13:25 Lucas Pardue <lucaspardue.24.7@gmail.com> wrote:

> Hey Martin,
>
> On Wed, Jun 23, 2021 at 9:13 PM Martin Duke <martin.h.duke@gmail.com>
> wrote:
>
>> Lucas,
>>
>> Assuming that we have the necessary language about QUIC APIs, as I've
>> just proposed, to enable something in future, then I personally have no use
>> cases or strong objection to punting. It is somewhat annoying to have a
>> draft for priorities, datagrams, and then priorities-with-datagrams, but if
>> writing the last bit will be a struggle (which I have no informed opinion
>> on) deferring it is probably the right decision.
>>
>> Now descending into the weeds:
>>
>> > It's easy to say this. The difficulty comes, as an implementer, with
>> knowing what to actually do with the information. Concrete example, if a
>> client signals "incremental false" does a server send all streams as FIFO
>> and then all DATAGRAMS as FIFO, or does it look at DATAGRAM flow creation
>> order
>>
>> No, I think the DATAGRAMs correspond to a stream and they go with the
>> STREAM frames in with priority. Whether one delivers STREAM or DATAGRAM
>> first within a particular stream maybe doesn't need tight specification; if
>> we do, I'd say STREAM (if for no other reason than to deliver the headers)
>> and then DATAGRAM, unless STREAM is being flow-controlled. As datagram
>> flows don't have a 1-to-1 mapping with requests and responses, I think
>> streams are the correct abstraction for datagram priority, not flows. If
>> there are multiple Flow-IDs associated with the same stream, they all get
>> grouped together for priority purposes.
>>
>
> I think this model breaks down entirely for something like WebTransport
> where the session is created with a single stream and then there'll
> potentially be multiple datagram flows in either direction all vying for a
> slice of the pie.
>
> Cheers,
> Lucas
>