Re: [aqm] [tsvwg] Immediate ECN: Autotuning AQM for RTT

" Ilpo Järvinen " <ilpo.jarvinen@helsinki.fi> Tue, 12 November 2013 23:20 UTC

Return-Path: <ilpo.jarvinen@helsinki.fi>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 80D5921E8089; Tue, 12 Nov 2013 15:20:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.072
X-Spam-Level:
X-Spam-Status: No, score=-6.072 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4, SARE_SUB_OBFU_Q1=0.227]
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 TA-rg+51T2Wc; Tue, 12 Nov 2013 15:20:34 -0800 (PST)
Received: from courier.cs.helsinki.fi (courier.cs.helsinki.fi [128.214.9.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8083911E814D; Tue, 12 Nov 2013 15:20:33 -0800 (PST)
Received: from melkinpaasi.cs.helsinki.fi (melkinpaasi.cs.helsinki.fi [128.214.9.14]) (TLS: TLSv1/SSLv3,256bits,AES256-SHA) by mail.cs.helsinki.fi with esmtp; Wed, 13 Nov 2013 01:20:16 +0200 id 00068157.5282B7B0.00003231
Date: Wed, 13 Nov 2013 01:20:16 +0200
From: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
X-X-Sender: ijjarvin@melkinpaasi.cs.helsinki.fi
To: Bob Briscoe <bob.briscoe@bt.com>
In-Reply-To: <201311122220.rACMKfo9003510@bagheera.jungle.bt.co.uk>
Message-ID: <alpine.DEB.2.02.1311130045490.18698@melkinpaasi.cs.helsinki.fi>
References: <201311111618.rABGILbC031136@bagheera.jungle.bt.co.uk> <CEA65B19.21ED5%g.white@cablelabs.com> <201311122220.rACMKfo9003510@bagheera.jungle.bt.co.uk>
User-Agent: Alpine 2.02 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
X-CS-Test-DKIM: none
Cc: Greg White <g.white@CableLabs.com>, tsv-area IETF list <tsv-area@ietf.org>, AQM IETF list <aqm@ietf.org>, tsvwg IETF list <tsvwg@ietf.org>
Subject: Re: [aqm] [tsvwg] Immediate ECN: Autotuning AQM for RTT
X-BeenThere: aqm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <aqm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/aqm>, <mailto:aqm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/aqm>
List-Post: <mailto:aqm@ietf.org>
List-Help: <mailto:aqm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/aqm>, <mailto:aqm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Nov 2013 23:20:41 -0000

On Tue, 12 Nov 2013, Bob Briscoe wrote:

> Greg, inline...
> 
> At 18:57 11/11/2013, Greg White wrote:
> 
> 
> > On 11/11/13, 9:02 AM, "Bob Briscoe" <bob.briscoe@bt.com> wrote:
> > 
> > >Greg,
> > >
> > >At 06:54 09/11/2013, Greg White wrote:
> > >
> > >>Bob, CoDel uses "interval" both as a hold-off for the first packet drop
> > >>and as the numerator in the invsqrt drop scheduling.  Setting interval =
> > >>0
> > >>would result in ECN being signaled on *every* ECN capable packet when the
> > >>sojourn time is above threshold.    This jibes with some of your charts
> > >>for RED, but others show a ramp up in mark probability rather than a step
> > >>function. Could you clarify?
> > >
> > >We've only looked at WRED in detail, because it was much more
> > >interesting (to us) to reconfigure existing implementations than have
> > >to wait for new code to be implemented and tested.
> > >
> > >The suggestions for PIE and CoDel are just conceptual at this stage -
> > >we've done no implementation of this idea with either. (I said this
> > >verbally when presenting the slides, but I should have put it in
> > >writing too). Please read my suggestions for PIE and CoDel in this light.
> > >
> > >I'm not surprised that CoDel derives other parameters from 'interval'
> > >that should have been declared and set separately. Andrew McGregor
> > >also pointed out to me that CoDel sets threshold = 0.2*interval, so
> > >threshold would have to be declared separately as well. This starts
> > >to reveal just how many magic numbers there really are in the CoDel
> > >algorithm.

Btw, Van & Kathleen say about this in ID:

"A CoDel control law more independent of interval is future work."

I suppose it still is...

> > To be more clear about my earlier statement, CoDel actually uses
> > "interval" to control a single aspect of the drop policy, however, the
> > code (and descriptions of it) imply that there are two different
> > functions, and my comments above were written in that vein. However,
> > here's how I would describe it more succinctly:  the "next drop time" is
> > always set according to interval/sqrt(count).  In the specific case of
> > sojourn time crossing above threshold from below, count happens to equal
> > 1, so the first drop is set at one interval in the future.  This is what
> > is sometimes described as the "hold off" period.
> 
> OK. From an admittedly hasty scan through Andrew McGregor's port of CoDel to
> ns3 (not the Linux code), it seems to introduce this hold-off time in the
> ControlLaw() function, but it only calls ControlLaw() from the ShouldDrop()
> function if the queue has remained above threshold for duration interval.
> 
> That implies that CoDel holds off signalling anything for 2 * interval, ie
> 200ms for the default setting of interval = 100ms.

There are two calls to it at least in the ID. CoDel is also implemented 
like that in ns2, Linux, and (based on very brief check) also in ns3. The 
first call happens exactly at interval, not two away from crossing the 
target (/threshold) delay. Both calls are preceded by a "drop" (/signal).


-- 
 i.