Re: HTTP/3 Prioritization: kickstarting the discussion (again)

Dmitri Tikhonov <dtikhonov@litespeedtech.com> Thu, 04 July 2019 13:30 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 E8754120685 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 4 Jul 2019 06:30:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.65
X-Spam-Level:
X-Spam-Status: No, score=-2.65 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, 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=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 n7k5ZrSHRRGW for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 4 Jul 2019 06:30:56 -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 B1A3A120224 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 4 Jul 2019 06:30:56 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1hj1mH-0007Hj-TK for ietf-http-wg-dist@listhub.w3.org; Thu, 04 Jul 2019 13:27:57 +0000
Resent-Date: Thu, 04 Jul 2019 13:27:57 +0000
Resent-Message-Id: <E1hj1mH-0007Hj-TK@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 <dtikhonov@litespeedtech.com>) id 1hj1mF-0007Gt-WA for ietf-http-wg@listhub.w3.org; Thu, 04 Jul 2019 13:27:56 +0000
Received: from mail-qt1-x834.google.com ([2607:f8b0:4864:20::834]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from <dtikhonov@litespeedtech.com>) id 1hj1mA-0002tK-EH for ietf-http-wg@w3.org; Thu, 04 Jul 2019 13:27:55 +0000
Received: by mail-qt1-x834.google.com with SMTP id 44so4104976qtg.11 for <ietf-http-wg@w3.org>; Thu, 04 Jul 2019 06:27:30 -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:references :mime-version:content-disposition:in-reply-to:user-agent; bh=eEZzN1HMklWU8e9KTd6Nvi1k/+wJOnTDMLdc3fiYqqk=; b=zPkw6CDXPaZx5+G3PeP80UXBqYhLfRjPygCfNDeQ/g8bjBGR3vEmlXG1ephbuVM/H9 KDqjxKCcuMGlo7PeJY07OP6NAvQQzKfeZSLrHWoX+dS2OnqNdTOz/zt6W7D2AGAantTg oT2sJbnN4m9ic/VNV4BeXz6fCPLe2mfn7IXjx6cPltY0OG04PIydCRGEZ5eE/FjRUFx3 YGeljfPJrfOOqHvYNNcs1h27A7F4wWNyiUxerikdjCRCKXtTy5uIi+5KfffA9vaeMx3A 7u5L0g4YW7dTlZKLDhvGtCw8Hds3O1dVq/Clsyf0Tis8RVriDke4J+2OPTgBAAWrvlei pG2Q==
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:references:mime-version:content-disposition :in-reply-to:user-agent; bh=eEZzN1HMklWU8e9KTd6Nvi1k/+wJOnTDMLdc3fiYqqk=; b=A+HeXoxtY4ZytBttRKxHiCtuW2Lryl/qIt53jtthvUePY3i0GFnPOPc564yOod7/cS 8yyS3nMmjdCWtTpFzHUkFf6Zp9lktRWtfTN6hNzx6JG4qWCgoP+pDvN4P1mTFoilCY/5 bO+MP2HJ/SIsA45IcRyeGfD6AW7ZT16FGmUkXvuOzMuBlQ97/kRJ/c7rkOyLZfAB7H6Z Cs/V6E8gf+FTTXnDSMVa0MJQGt/XLd1yZy8kFdHhZ9X+M+KW3AmAmIRCoyjhjSSU9xeY aKwjEUxcw9ikmZTWZgQtj2a/Q82DKSju8KdgVVql/iQA9q3Ii7eflpVKGECBdKaPwcOO g4rA==
X-Gm-Message-State: APjAAAXPT7zxY/BtwYGtL7PHdZO0iRzzngCduiAVHCPt3X7kCvtEOgFa b1FWcJgkrDQvUTPpCImbtLoqmnDvMhU=
X-Google-Smtp-Source: APXvYqwkfa7o5ycgnYhbiXbguuutvJ8s7b+SeOiD9wIxn7Cs3qt8gqL57zut+dztP+ZTZimDUbYS+g==
X-Received: by 2002:ac8:31d6:: with SMTP id i22mr36577887qte.338.1562246849423; Thu, 04 Jul 2019 06:27:29 -0700 (PDT)
Received: from ubuntu-dmitri (ool-44c1d219.dyn.optonline.net. [68.193.210.25]) by smtp.gmail.com with ESMTPSA id k33sm2252307qte.69.2019.07.04.06.27.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Jul 2019 06:27:28 -0700 (PDT)
Date: Thu, 04 Jul 2019 09:27:20 -0400
From: Dmitri Tikhonov <dtikhonov@litespeedtech.com>
To: Robin MARX <robin.marx@uhasselt.be>
Cc: ietf-http-wg@w3.org
Message-ID: <20190704132719.GA6706@ubuntu-dmitri>
Mail-Followup-To: Robin MARX <robin.marx@uhasselt.be>, ietf-http-wg@w3.org
References: <CAC7UV9YW5xFc+C28QtLBfDOPcLZ+DEViR__GRuc9Kx8GhUaYOg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAC7UV9YW5xFc+C28QtLBfDOPcLZ+DEViR__GRuc9Kx8GhUaYOg@mail.gmail.com>
User-Agent: Mutt/1.5.24 (2015-08-30)
Received-SPF: pass client-ip=2607:f8b0:4864:20::834; envelope-from=dtikhonov@litespeedtech.com; helo=mail-qt1-x834.google.com
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1hj1mA-0002tK-EH 26345abb30c3156828815101848b761f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP/3 Prioritization: kickstarting the discussion (again)
Archived-At: <https://www.w3.org/mid/20190704132719.GA6706@ubuntu-dmitri>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36753
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 Wed, Jul 03, 2019 at 04:26:02PM +0200, Robin MARX wrote:
> We have been recently running some prioritization experiments for a variety
> of schemes and proposals using our own HTTP/3 implementation in the Quicker
> project.
> We have discussed our findings in a paper, which you can find in attachment
> and also on https://h3.edm.uhasselt.be.

Last paragraph of Section 5 states:

  " Note finally that our H3 implementation does employ
  " dynamic header compression using the QPACK specification.
  " While QPACK can in itself lead to HOL-blocking between
  " streams, even in the normal modus operandi (as decoding some
  " compressed headers can depend on the receipt of previously
  " encoded headers), we believe this effect is negligible in
  " our reported results.

I take this to mean that, in your experiment setup, the QPACK encoders
on both client and server use the dynamic table, that blocked streams
are allowed, and that the encoders do, in fact, risk blocked stream to
maximize compression performance.  Is that correct?

If so, did you observe HOL-blocking between encoder and request
streams?

It would be interesting to tease out the magnitude of this impact
by running experiments with QPACK_BLOCKED_STREAMS=0 vs
QPACK_BLOCKED_STREAMS=100 (since you already have a setup ready).
My own (purely theoretical) musings about this can be found here:

    https://blog.litespeedtech.com/2018/01/29/qcram-04-does-not-solve-head-of-line-blocking/

(QCRAM-04 became QPACK.)

I still posit that

  " the single control stream introduces ordering to otherwise
  " independent operations, making it unable to minimize HoLB
  " for a class of applications.

And that upgrading to HTTP/3 (from HTTP/1.x or HTTP/2) will make
some applications perform worse -- if blocked streams are allowed.

  - Dmitri.