Re: [quicwg/base-drafts] Stream creation order (#634)

Mike Bishop <notifications@github.com> Wed, 27 September 2017 22:39 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 0D8431344AC for <quic-issues@ietfa.amsl.com>; Wed, 27 Sep 2017 15:39:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.02
X-Spam-Level:
X-Spam-Status: No, score=-2.02 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 1h565AppEtIR for <quic-issues@ietfa.amsl.com>; Wed, 27 Sep 2017 15:39:37 -0700 (PDT)
Received: from o1.sgmail.github.com (o1.sgmail.github.com [192.254.114.176]) (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 C28C8134495 for <quic-issues@ietf.org>; Wed, 27 Sep 2017 15:39:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=aLPkIKVKtNU84uih6rDIDEJRQww=; b=KDVEJKHcdrODvkc6 WDA/DqWpolbjuijaLiWW3SbXCoiGQuhDlDzPrWDaKA3lcJaEk8ftQCp4nooJpsVX Kz/norbminXp3SHrnD8Jw4J07dS27bGR64euviSHvzOx5nPOvUW8GofJ+wITvbO9 PGrmRdk7Oe9LtCtvI3qhAiE/8uA=
Received: by filter0640p1mdw1.sendgrid.net with SMTP id filter0640p1mdw1-8393-59CC28A8-E 2017-09-27 22:39:36.567675913 +0000 UTC
Received: from github-smtp2a-ext-cp1-prd.iad.github.net (github-smtp2a-ext-cp1-prd.iad.github.net [192.30.253.16]) by ismtpd0017p1iad2.sendgrid.net (SG) with ESMTP id tvM2HNshSUm_v4fW-mUHlg for <quic-issues@ietf.org>; Wed, 27 Sep 2017 22:39:36.516 +0000 (UTC)
Date: Wed, 27 Sep 2017 22:39:36 +0000
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abe01bf992ae10582d65d103fecff099d7222d135892cf0000000115e3eaa892a169ce0e164e9f@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/634/332675911@github.com>
In-Reply-To: <quicwg/base-drafts/issues/634@github.com>
References: <quicwg/base-drafts/issues/634@github.com>
Subject: Re: [quicwg/base-drafts] Stream creation order (#634)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_59cc28a8681a5_2308b3fc016b48f28101770"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak3ePLoVoyIRAbDSanfeyRP6141Hx2i5UXhjQL OVhjHaBhJITPUozye5RLNwGUjbrwEtYej2Z/BKOPeeAEY2Ghs08SSw7GENPWbR95dafd3VX4COkJcv inR2CApBZsW7H5qnSLVYIGDZiUdipIxKZkpU72yg8M4Pt7ZgaGyHBCZea3mhRsGl5uOShyrqtfVWx4 k=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/aLMU2Nj6uJzEnnmoYzEtQLol21Q>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 27 Sep 2017 22:39:39 -0000

I think I can partially explain it.  Each stream for which you're tracking state consumes some memory.  You can elide out large contiguous chunks by saying that:

- Lowest idle stream ID is X
- Of streams < X, any stream not in my state table is closed
- Table contains any idle or open streams < X

If an implementation is implementing tracking in this way, the arrival of stream 200 when X=100 means inserting 100,102,...,198 into the table as idle, then 200 as open.  By mandating that they be used in order, even if reordering occurs, you are less likely to do large chunks of this work at a time (you might get 108 when X=100, but not 200) and if you *do* have to do a large chunk of work the work is still timely because you know all those streams have data in-flight so you would have been doing the work in a few packets anyway.

-- 
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/634#issuecomment-332675911