Re: [hybi] Multiplexing: Pre-AddChannelResponse quota

Takeshi Yoshino <tyoshino@google.com> Fri, 15 June 2012 03:19 UTC

Return-Path: <tyoshino@google.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 BF1BF11E80B6 for <hybi@ietfa.amsl.com>; Thu, 14 Jun 2012 20:19:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.976
X-Spam-Level:
X-Spam-Status: No, score=-102.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
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 yiXDT9KBnUl9 for <hybi@ietfa.amsl.com>; Thu, 14 Jun 2012 20:19:10 -0700 (PDT)
Received: from mail-gg0-f172.google.com (mail-gg0-f172.google.com [209.85.161.172]) by ietfa.amsl.com (Postfix) with ESMTP id 0316611E8089 for <hybi@ietf.org>; Thu, 14 Jun 2012 20:19:09 -0700 (PDT)
Received: by ggnc4 with SMTP id c4so2171830ggn.31 for <hybi@ietf.org>; Thu, 14 Jun 2012 20:19:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record; bh=BUuL+6T1klyF6EtZJ4pEcmWBUzKVw8mt6NNUkEk/ndE=; b=QANSrTG3C2euvEPrjPVJ0MLRcdriX3NSJDoNarcuAgkmk3x6BRWuJJTKkuPLlY0+6C E6vMl4rieurvazbOUxBtdb5L1yuQ/K5Hk/Pkb2MjfQzxksg8IC+W56lHQaz22DdB8Yt2 ZIzx1X2ScJkQE9V3jB8h5Ff8Ed/iXRVwEslRBzAiXd2vApx7pl9K9m3DniYjPmXCGqe/ 7NBL9SR09LAKe9yclqtH+6MfmE/Dh4Kai9rrASt4K+u+jlvcTaw3B1/1VxdtZo5bIjpL RvbFoonXusWH1jGrf8RYvDoWvAaG+3drt+E6JMjJnbWQkv0bZQK6lKWjn+DmQt6wMjdr 6dfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=BUuL+6T1klyF6EtZJ4pEcmWBUzKVw8mt6NNUkEk/ndE=; b=TucOHRn+QjZgh6rlpMhZ2Z97MGwWqMdnP2RLkMbtDyb8xsjD1HV6XhxXOpSCkBwwzj R96dkSzRM7jJuwtO9Uua0iTpDc8ksSd05f++28gR6A48KNAu/Or+itLbEmr6AoMsvIrT wttwC7SGx1Oj/Tqhge6VOn7rwWquzTrAq/slkZVlKDpwvUO+hEZr6sipPnouXPQ/Qpr+ O0gIjn9NUXNtZKTBY0YbFVKtGP647DzBL01DGkuIaZNQZSBotX1kzTEB7HyxP5vz2eF6 bKk9Erd6DtToGShNpLvivX39+G5QRwIhMtelyZuSXCuwGQ21SgOvDFg5fFxZPXakNqvL XoAw==
Received: by 10.50.179.74 with SMTP id de10mr165850igc.61.1339730349234; Thu, 14 Jun 2012 20:19:09 -0700 (PDT)
Received: by 10.50.179.74 with SMTP id de10mr165838igc.61.1339730349126; Thu, 14 Jun 2012 20:19:09 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.66.7 with HTTP; Thu, 14 Jun 2012 20:18:48 -0700 (PDT)
In-Reply-To: <002001cd4a14$53eb66f0$fbc234d0$@noemax.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>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Fri, 15 Jun 2012 12:18:48 +0900
Message-ID: <CAH9hSJbz9HQrN67=Jf6bEmJikTGEViNEqjDP8XbHKrPKhYD19Q@mail.gmail.com>
To: Arman Djusupov <arman@noemax.com>
Content-Type: multipart/alternative; boundary="14dae934041b8df5f204c27a47c5"
X-System-Of-Record: true
X-Gm-Message-State: ALoCoQk8rOJk4+ldffx/wJpvVy5I4eRummQw2oq7mM5ReI/kipXmU4RWdjepIkLe6J+v1Da6FE5xQB/cdcfHkn/3zmCQgHdhED3eV63sorNttJ1wn6/2aVdktnPmzMFGywjBgS0P/+TU
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 03:19:10 -0000

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.