Re: [quicwg/base-drafts] DATA frame encoding is inefficient for long dynamically generated bodies (#1885)

Kazuho Oku <notifications@github.com> Mon, 22 October 2018 01:07 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 11BC112D4EE for <quic-issues@ietfa.amsl.com>; Sun, 21 Oct 2018 18:07:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.064
X-Spam-Level:
X-Spam-Status: No, score=-8.064 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.064, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 sBvkLmpvdq6f for <quic-issues@ietfa.amsl.com>; Sun, 21 Oct 2018 18:07:36 -0700 (PDT)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 74CEC120072 for <quic-issues@ietf.org>; Sun, 21 Oct 2018 18:07:36 -0700 (PDT)
Date: Sun, 21 Oct 2018 18:07:35 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1540170455; bh=5tUtFUqyLgzN1Jc15THQYcwHGxpyy21D56DkUFiLiCE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=cBV2qviR3mJncTlOTJm6QCKbhzDD5fDp4xGZQYxbtPl1K60hgTlLp4XA5YYel2CIS +jGZvoR/tba1PT96dyrh9n3K08ldjzREFHa4PHCw5OEWy18OZF+X8WuZPlexeaGGZs HOG+tt8QauOWdLUceQepPg/J+lMqawC22emlqbMY=
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab6f0ef0f10e7332102d150fa689aac9c2f1853b9c92cf0000000117e4e4d792a169ce16286866@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1885/431720220@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1885@github.com>
References: <quicwg/base-drafts/issues/1885@github.com>
Subject: Re: [quicwg/base-drafts] DATA frame encoding is inefficient for long dynamically generated bodies (#1885)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bcd22d77c1e9_244c3f8023cd45b417116d7"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/Xuwcr5v54PGGBU33U8eAZifkVmY>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Oct 2018 01:07:38 -0000


@LPardue 
> There is some industry attention being paid to chunking end-to-end through the delivery chain.

I understand the same way.

> Perhaps there's scope for an extension to HQ and/or H2 that can explicitly declare no trailers on a stream, wresting performance on the endcode or pass through cases.

I am not sure if I like the complexity, partly because of the small performance gain we will see (see @dtikhonov' comment at https://github.com/quicwg/base-drafts/issues/1885#issuecomment-431348155) and also because it could be hard to use; it is often the case that a proxy cannot guess at the time of connection establishment to which origin server it would be connecting (consider the use of secondary server certificates).

Actually, my preference might go to fixing the issue in QUIC v2. For example, we could move the chunking layer into the transport by adding a END_OF_BLOCK flag to a STREAM frame for indicating the end of each block within a STREAM. Assuming that many of the application protocols will transfer size-delimited blocks (e.g. HQ frames), it makes sense to support the concept in transport.

Having it expressed as a flag of a STREAMS frame (by burning the frame type octet) will give us simplicity _and_ efficiency in terms of bandwidth, because we can totally eliminate the Length field of the HQ frames.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1885#issuecomment-431720220