Re: [hybi] Multiplexing: Pre-AddChannelResponse quota
"Arman Djusupov" <arman@noemax.com> Fri, 15 June 2012 08:21 UTC
Return-Path: <arman@noemax.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6B25021F844F for <hybi@ietfa.amsl.com>; Fri, 15 Jun 2012 01:21:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SncSD7qk1qXT for <hybi@ietfa.amsl.com>; Fri, 15 Jun 2012 01:21:39 -0700 (PDT)
Received: from mail.noemax.com (mail.noemax.com [64.34.201.8]) by ietfa.amsl.com (Postfix) with ESMTP id AB9F321F8449 for <hybi@ietf.org>; Fri, 15 Jun 2012 01:21:36 -0700 (PDT)
DKIM-Signature: a=rsa-sha1; t=1339748501; x=1340353301; s=m1024; d=noemax.com; c=relaxed/relaxed; v=1; bh=8mevG7+sTlRewIgkJeb6HToM7jY=; h=From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References; b=0v3+ZPGR8uCdTjNCX6s9pxNCLbfN0jAg1O1C+FX5nJQEQxkjyBfS/LAtbRDSoT5OQPEvuSFG1kjrEAVf2SGZSU8s2BecuiipZChnG3gxlHRQSryqi4qeI65hOWZPbtUUQ+HsdLPNuFXLak5UmEPo9i6cBTcLZfqwbbCdJNIGr9U=
Received: from mail.noemax.com by mail.noemax.com (IceWarp 10.4.1) with ASMTP (SSL) id ZOK64239; Fri, 15 Jun 2012 11:21:39 +0300
From: Arman Djusupov <arman@noemax.com>
To: 'Takeshi Yoshino' <tyoshino@google.com>
References: <CAH9hSJZUAHQzDm4ofq6onc620SNretLQDOcjSnr2eQ0YA9yFdQ@mail.gmail.com> <002f01cd3cc4$4791b380$d6b51a80$@noemax.com> <20120607034440.GD26406@jl-vm1.vm.bytemark.co.uk> <CAH9hSJZWMgvQMNLapZAg_CS0vri=jZbfPLpLhfninjzG+JxxmA@mail.gmail.com> <CAH9hSJbChf6NPUqraaeEeLnDO=YyYja4SkwZJsWRfM5VUwZ59Q@mail.gmail.com> <002001cd4a14$53eb66f0$fbc234d0$@noemax.com> <CAH9hSJbz9HQrN67=Jf6bEmJikTGEViNEqjDP8XbHKrPKhYD19Q@mail.gmail.com>
In-Reply-To: <CAH9hSJbz9HQrN67=Jf6bEmJikTGEViNEqjDP8XbHKrPKhYD19Q@mail.gmail.com>
Date: Fri, 15 Jun 2012 11:21:14 +0300
Message-ID: <001301cd4acf$d8c5cda0$8a5168e0$@noemax.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0014_01CD4AE8.FE1576A0"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQHbEEjWH8q2xL+U7IgUz4ieagM0MAIpCHL8APvLbp8B3rSIHAHfCnvqAiE9EN8B8r7HPJaHycvA
Content-Language: en-us
Cc: hybi@ietf.org
Subject: Re: [hybi] Multiplexing: Pre-AddChannelResponse quota
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Jun 2012 08:21:41 -0000
Since we go that far in flexibility why not just give the client a quota and let it distribute it in the channels any way the client likes. This way the client will be able to give a higher or lower priority to newly established channels. The client will need to state the amount of quota it assigned to a channel slot when sending an AddChannelRequest. So when receiving a PreHandshakeQuota the client does not level it between available slots, but uses a share of this quota later when creating a new channel. This would be a simplified common quota. With best regards, Arman From: Takeshi Yoshino [mailto:tyoshino@google.com] Sent: Friday, June 15, 2012 6:19 AM To: Arman Djusupov Cc: Jamie Lokier; hybi@ietf.org Subject: Re: [hybi] Multiplexing: Pre-AddChannelResponse quota On Thu, Jun 14, 2012 at 6:58 PM, Arman Djusupov <arman@noemax.com> wrote: -- send quota for X is set to (PQ_i) - (total pre-handshake data sent) + (initial send quota assigned by the AddChannelResponse) The quota header in AddChannelResponse is not needed, the server can supplement the client quota using normal flow control frames. This would simplify it a bit. If the server needs to grant additional quota right after the AddChannelResponse, it can send an FC block in the same frame with the AddChannelResponse. The FC block format is more efficient than the literal format of the AddChannelResponse header. OK - When received, say, PreHandshakeQuota block, split it up and add to slots so that PQ_k are leveled (older ones first) among all slots Why to split up the quota? This leave room for strange cases when the quota is not divisible by the number of channels. Why not simply set or add a value to each already allocated slot? I tried to make it able to gradually decrease PQ_i for new slots when the server is overloaded. If PreHandshakeQuota adds the same value to each allocated slot, PQ_i for a new channel needs to be initialized to the same value as the other slots' on NewChannelQuota. Otherwise, PQ_i values are in-balanced between the new one and the others. Then, ... there's no way to decrease PQ_i. We may add a new channel with slightly smaller PQ_i to allow for suppression. This works, but one of its cons is that we cannot level PQ_i of allocated slots even when the server gets less loaded again because the PreHandshakeQuota keeps high slots high and low slots low.
- [hybi] Multiplexing: Pre-AddChannelResponse quota Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Jamie Lokier
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Jamie Lokier
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Jamie Lokier
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Arman Djusupov
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Jamie Lokier
- Re: [hybi] Multiplexing: Pre-AddChannelResponse q… Takeshi Yoshino