Re: [tsvwg] comments about draft-ietf-tsvwg-aqm-dualq-coupled-01.txt

Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Tue, 08 August 2017 19:34 UTC

Return-Path: <spencerdawkins.ietf@gmail.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 39A22132667 for <tsvwg@ietfa.amsl.com>; Tue, 8 Aug 2017 12:34:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, 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=gmail.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 bmCifEWDOzEM for <tsvwg@ietfa.amsl.com>; Tue, 8 Aug 2017 12:34:05 -0700 (PDT)
Received: from mail-yw0-x22c.google.com (mail-yw0-x22c.google.com [IPv6:2607:f8b0:4002:c05::22c]) (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 70093132660 for <tsvwg@ietf.org>; Tue, 8 Aug 2017 12:34:03 -0700 (PDT)
Received: by mail-yw0-x22c.google.com with SMTP id l82so27592091ywc.2 for <tsvwg@ietf.org>; Tue, 08 Aug 2017 12:34:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=iJoAxUG7TqDN8gEs3wjkrG1woFHo5cqdjAvnMssREkg=; b=AEfllQHkHd7iyBd24UVxHeB7iwo2W1yqJKii7I+Zv/S0apHQeBvGvYgoVXhs2vutUN 0/k/xfr/k1x+ET+EIWoRElR8CkVDtXcRnYrG4Aa+JXtQjZBxMFkX3R5c+IiAdoMHFwIR bxUbxHLQwQGeA+tL4qQOLF7yyZEg1Q8o08J/v0bB5tAktTgOE3q00aBo2UYLzYYzPl8e TSTrff9N+reX7neWtu+/njmtHLMLLTyG6iGuD+kAvRYfikNvItj/+t6pEn8n+T5q9c0n UMLayW0RrC+agZgsKuzJrDvDEnQ0ccYulGz6rL1Uz17vKndl3WKuJYfSiRhQszjMs/4l kNPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=iJoAxUG7TqDN8gEs3wjkrG1woFHo5cqdjAvnMssREkg=; b=MBfZgFPJeYGg8jH7wS4r2pJFR7pxOZ2EMHTZEKXd2tisjCCCep83sh/3fAWrQYKfsF dFwFPfgbWSHEnluSP0LpgEXCfU0s0YQOftmEEjkKz5NeuFV6Pd7EHIvsQcOGmUJ1sY1D e/MBMpN8ydWHw+krvQmC6ftgvnnExSQHn9M8g68kswrxTxWlYy0zp45LoS/SkxEo21Pi LvkxjllR3Z+O/nA0+pUSqxdIeupZ/gEIcPm3tIPWu8tDF57WFgDx5I11xwO6RYyGQPq2 5TXTdTFLpuz71ucDHxHiOVrSo+9w1Gu/mXR4LDc4LaW08is61KE0P6ToELFHsRIQ3eMj Fpnw==
X-Gm-Message-State: AHYfb5goGhVnRab0pRv3ljv3SvjKRVPD6wJut8JHCDK0BLa+nd2m952g As5NK9QJA6B+hGZ/hg+BfTwGqCKlUg==
X-Received: by 10.13.213.148 with SMTP id x142mr4528546ywd.311.1502220842601; Tue, 08 Aug 2017 12:34:02 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.52.79 with HTTP; Tue, 8 Aug 2017 12:34:02 -0700 (PDT)
In-Reply-To: <20170807143120.GC11845@oracle.com>
References: <20170807143120.GC11845@oracle.com>
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Tue, 08 Aug 2017 14:34:02 -0500
Message-ID: <CAKKJt-eZ2jVy_FyUi9NgnEXqNxmgtE2Vjj1+VnT4mtEJ12ynjA@mail.gmail.com>
To: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="001a114fa266b297490556430b5c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Lk8pUQe0PikLLCImvVBFgeDTcNE>
Subject: Re: [tsvwg] comments about draft-ietf-tsvwg-aqm-dualq-coupled-01.txt
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 Aug 2017 19:34:08 -0000

Speaking as an individual, but as an individual who needs to understand
what's going on at PubReq time :-) ...

On Mon, Aug 7, 2017 at 9:31 AM, Sowmini Varadhan <
sowmini.varadhan@oracle.com> wrote:

> I had some questions as I was going over this document and
> Bob Briscoe suggested that this might be a useful discussion to
> share with a list, so here's a current summary, including
> clarifications that Bob provided for me offline
>
> In general, I liked the fact that the Appendix starts off by first
> discussing core concepts and then gets into the more complex overload
> case- this makes it easy to understand how the various blocks build on
> each other.
>
> In keeping with that same core -> complex flow, it might be easier to
> refactor Appendix A.1 a bit, so that it first goes over the enque/dequeue
> logic and then gets into the more complex PI-update Pseudo-code.
>
> I realize the document *is* trying to do that, but it took
> me some time to figure out the semantics of alpha/beta/alpha_U/beta_U
> (these get defined in Figure 1, but a detailed description
> is only available at the bottom Page 17..)
>
> What eventally helped me put things in place was the brief background
> that Bob offered (in the offline thread)
>
> Bob> A Proportional Integral (PI) algorithm changes the controlled
> variable (the
> Bob> loss probability p) dependent on how fast the queue is increasing
> (which is
> Bob> Proportional to excess load) and how far any standing queue is
> Bob> from its target (which represents the Integral of load). Two "gain
> Bob> factors", beta and alpha, respectively weight how strongly each of
> Bob> these elements alters p.
>
> Bob> The stability analysis in [PI216] recommends the values of alpha
> Bob> and beta (in the header file in Fig 1) on the basis that these
> Bob> cause the AQM to change p (loss prob) as fast as poss in response
> Bob> to changes in load without over-compensating and therefore causing
> Bob> oscillations in the queue.
>
> Bob> The recommended values of alpha and beta determine how much p ought
> Bob> to change if it was updated every second. It is best to update p
> Bob> as frequently as possible, but the actual update interval (Tupdate)
> Bob> is constrained by hardware performance. For link rates from 4 -
> Bob> 200 Mb/s, we found Tupdate=16ms is sufficient. Whatever value of
> Bob> Tupdate is chosen, p should change by the same amount per second,
> Bob> but in more smaller steps. So the gain factors used need to
> Bob> be scaled by (Tupdate/1s). This is why alpha_U and beta_U are
> Bob> used for updating p in Fig 4, where alpha_U= alpha*Tupdate and
> Bob> beta_U=beta*Tupdate.
>
> Some/all of this information would be useful to have in the doc, since
> it provides the needed brief background for dualpi2_update, within
> the draft itself.
>

I found Bob's note to be very helpful to me. It might be helpful to include
something like that text in the document itself.

Do the right thing, of course.

Spencer


> One follow-up question (I've not read all of [PI216] yet, it's on my
> reading list) - what is the general trend of Tupdate for faster
> link-rates? E.g., what is the expected Tupdate at 1Gb/s?
>
> It would also be helpful to define the high-level semantics
> of cq.time(), cq.len(), lq.len() etc. E.g. the description that Bob
> offered in the offline mail (below) could be added in the preamble
> to enque/dequeue, to improve readability (and also help an implementor
> quickly see what the function indirections are supposed to do).
>
> Bob> cq.time() is a function that returns the time that the head packet
> Bob> has been in the classic queue (cq), which is called the "service
> Bob> time" of the queue, or sometimes the "sojourn time".
>
> Bob> Similarly for lq.time(), cq.len() and lq.len(), where lq is the
> Bob> L4S queue and len() is the length in bytes.
>
> I'm still working through the doc, will get back here with additional
> questions/comments.
>
> Thanks
> --Sowmini
>
>