HTTP/3 with strict priorities (PR #2700)

Dmitri Tikhonov <dtikhonov@litespeedtech.com> Wed, 15 May 2019 20:55 UTC

Return-Path: <dtikhonov@litespeedtech.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 620611201FA for <quic@ietfa.amsl.com>; Wed, 15 May 2019 13:55:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=litespeedtech-com.20150623.gappssmtp.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 D5AdYdAPXkaC for <quic@ietfa.amsl.com>; Wed, 15 May 2019 13:55:02 -0700 (PDT)
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com [IPv6:2607:f8b0:4864:20::72c]) (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 EFA1D12028B for <quic@ietf.org>; Wed, 15 May 2019 13:55:01 -0700 (PDT)
Received: by mail-qk1-x72c.google.com with SMTP id a64so926788qkg.5 for <quic@ietf.org>; Wed, 15 May 2019 13:55:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=litespeedtech-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:mail-followup-to:mime-version :content-disposition:user-agent; bh=P+DwXnWmsRlzOOJAShRUccD7HPmEpIVPn2gTKokW33g=; b=H3hLGP4nj0usxuH4uAJJnzQ586fd5lEjutpkFTNu5Px43Le2kwhOPXOzisC/4g3UmM mf+N6u5p9dQ4LgynqtTqIdlAe/5BAu7tbxBBgHVtu9QmPnFLg9IaJvLCERjYC2VJGhyx vz4ke3bYxtJv/wYXO1qRGZZTFLnxAGhFjUBiBa//2cYbbCdJWGxfpndx1svwjLRbWoJ6 kOtoUjXmI0ZXS5p5G/Gg7qESKv8o8sFhA7UsfGH2K9aFGfiFFCEwxEDrwOEnjvwSKobl t0YPJ7GY+mxyM4O+M1Fo/Db5/k9kNHZsIYleYoBKVEkL6bBnvjNHKkIVvDRZNxkMHhr7 HfVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:mime-version:content-disposition:user-agent; bh=P+DwXnWmsRlzOOJAShRUccD7HPmEpIVPn2gTKokW33g=; b=Sfm2XJo4iwzHeP0YSLE7j22KSyjPGnzQ1SFd1qTefHHqFVjEVgCD8+jmKrSoYgDKfO fhu7nsXmdmaFoTsl3sLtcFv4Eeb3YtkSQJ6M94JHJuEKnwZqs/hlMa2tfPEcpapIHkYp iRbE9AcwD2uVP5X/ctUcdTcfrxY+ojB1pukT+riN85NMI22RTh9pHuTOP3wZa6CauwTL yzWOlAgaQ145bAuvkxvBlH6qLXRd6vTJi6Ec3c3+86ksO8QQbUJ3jjcy+8TawDpml4mA e9Wb2iKR8t6FaOqMkg2Lq9H48RD8RvnNJ9wOey2Sy0V0Xj+HiKxJCl/l/pl404VmZmxq ejjA==
X-Gm-Message-State: APjAAAWmquD/MW2XffYmypaiW4hQFOkf9wgt6dC4X6aQ3bn1rI2lu4BF qDoj4lZpBsmrqLrkGVnkiKBDMA==
X-Google-Smtp-Source: APXvYqz/BHf2GzQXuFVjhPPEihn2YKjupaCw2fbvFBQt9byq9MqsXM7KKGbiZwM2kTx8rnZoR7glfg==
X-Received: by 2002:ae9:f218:: with SMTP id m24mr26376076qkg.261.1557953701140; Wed, 15 May 2019 13:55:01 -0700 (PDT)
Received: from ubuntu-dmitri (ool-2f1636b6.static.optonline.net. [47.22.54.182]) by smtp.gmail.com with ESMTPSA id 22sm1665267qkl.4.2019.05.15.13.55.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 May 2019 13:55:00 -0700 (PDT)
Date: Wed, 15 May 2019 16:54:52 -0400
From: Dmitri Tikhonov <dtikhonov@litespeedtech.com>
To: Ian Swett <ianswett@google.com>
Cc: IETF QUIC WG <quic@ietf.org>
Subject: HTTP/3 with strict priorities (PR #2700)
Message-ID: <20190515205451.GA32701@ubuntu-dmitri>
Mail-Followup-To: Ian Swett <ianswett@google.com>, IETF QUIC WG <quic@ietf.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/lyxvH1AHQ2W3Fo2VLjHVdoLmWBY>
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, 15 May 2019 20:55:10 -0000

Hello Ian,

You opened a PR that proposes YAHPM (Yet Another HTTP Prioritization
Mechanism) -- HTTP/3 with Strict Priorities.  Having read through the
diff, I have several questions.  I am using this medium because your
PR does not have an associated bug.

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?

                (Root Node)
               /           \
              /             \
    (Placeholder A,     (Placeholder B,
     Weight 50)             Weight 100)
        |                    |
        V                    V
    (Stream P,          (Stream Q,
     Priority 100)       Priority 50)

2. Why require PRIORITY frames delivered on own streams?

    " In order to ensure that prioritization is processed in a
    " consistent order, any subsequent PRIORITY frames for that
    " request MUST be sent on the request stream.

    This requirement is unfortunate, as Lucas Pardue has already
    observed (see PR comments).  Is this done to avoid introducing
    false stream dependencies or is there another reason for this
    requirement?

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?

Thank you,

  - Dmitri.