Re: [aqm] AQM schemes: Queue length vs. delay based

" Ilpo Järvinen " <ilpo.jarvinen@helsinki.fi> Thu, 14 November 2013 20:33 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 C5C7211E80FA for <aqm@ietfa.amsl.com>; Thu, 14 Nov 2013 12:33:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.148
X-Spam-Level:
X-Spam-Status: No, score=-6.148 tagged_above=-999 required=5 tests=[AWL=-0.076, 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 uskLXaUODUFd for <aqm@ietfa.amsl.com>; Thu, 14 Nov 2013 12:33:09 -0800 (PST)
Received: from courier.cs.helsinki.fi (courier.cs.helsinki.fi [128.214.9.1]) by ietfa.amsl.com (Postfix) with ESMTP id 76E9921E8120 for <aqm@ietf.org>; Thu, 14 Nov 2013 12:33:07 -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; Thu, 14 Nov 2013 22:32:51 +0200 id 000680B6.52853373.000003F5
Date: Thu, 14 Nov 2013 22:32:51 +0200
From: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
X-X-Sender: ijjarvin@melkinpaasi.cs.helsinki.fi
To: Preethi Natarajan <preethi.cis@gmail.com>
In-Reply-To: <CEAA66F5.4B52B%prenatar@cisco.com>
Message-ID: <alpine.DEB.2.02.1311142151560.14052@melkinpaasi.cs.helsinki.fi>
References: <CEAA66F5.4B52B%prenatar@cisco.com>
User-Agent: Alpine 2.02 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; boundary="-696250871-1250435348-1384459485=:14052"
Content-ID: <alpine.DEB.2.02.1311142229080.14052@melkinpaasi.cs.helsinki.fi>
X-CS-Test-DKIM: none
Cc: Naeem Khademi <naeem.khademi@gmail.com>, Michael Welzl <michawe@ifi.uio.no>, "aqm@ietf.org" <aqm@ietf.org>
Subject: Re: [aqm] AQM schemes: Queue length vs. delay based
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: Thu, 14 Nov 2013 20:33:17 -0000

On Thu, 14 Nov 2013, Preethi Natarajan wrote:

> From: Naeem Khademi <naeem.khademi@gmail.com>
> Date: Thursday, November 14, 2013 5:32 AM
> To: Preethi Natarajan <preethi.cis@gmail.com>
> Cc: Michael Welzl <michawe@ifi.uio.no>, "aqm@ietf.org" <aqm@ietf.org>
> Subject: Re: [aqm] AQM schemes: Queue length vs. delay based
> 
> 
> AFAIK all three studied AQMs (CoDel, PIE, ARED) have a parameter named
> "target delay" or "target queuing". Judging based on the (param) name,
> they supposedly try to maintain the queue delay/length around/at a
> certain value although "target delay/queuing" has different semantics
> in each AQM and the response to crossing that threshold/value is also
> different from one AQM to another. Moreover, It is favorable for an
> AQM that tries to fix bufferbloat problem to have a predictable delay
> distribution, most favorably around (e.g. mean, median, max) a certain
> value. PIE uses it, CoDel has it and ARED in fixed BW setups has it
> too. So, I'm not quite sure, why it shouldn't be possible to allow a
> certain size of burst in such threshold-based mechanisms (AFAIK
> (A)RED's Linux implementation already has a "burst" param that can be
> tuned, although its semantics may not be identical to the way CoDel or
> PIE handle bursts). Of course. The question is how effective is the 
> mechanism. As you note, whatever "burst" mechanism exists in Linux's 
> ARED wasn't effective as evident from the low throughput in the plots. 

IIRC, the Linux burst parameter is taken into account in frontend tc-tool 
only to calculate parameters for the kernel. I think its meaning was quite 
close to what L is in formula 3 [1] but it's like ten years ago when I 
read that bit of code. As such, its value only applies to the case where 
the queue average is zero before the burst occurs.

However, the real problem with these "burst" parameters is that they 
do not specify a limit for the burst. Instead, they are only used to set a 
minimum burst they allow but by no means give a way to specify a hard 
deadline when the burst has to be stopped at latest. By no means 
drops/marks typically occur soon after the "burst" threshold is crossed 
because the drop probability will be extremely small.

I've shown this lack of control with a typical RED setup [2] (ARED is 
actually worse than RED because of auto-tuning makes it even slower than 
typical RED setup but I didn't go to prove that). It also talks about 
th_max cutter and tail-drop fallback, which both seemed to be already 
mentioned in this thread. Based on how timers work in CoDel and PIE it is 
pretty obvious that the lack of control problem is present in them too 
(I've a paper coming up very soon on these issues too).


-- 
 i.


[1] Random Early Detection gateways for Congestion Avoidance.
Floyd, S., and Jacobson, V.
IEEE/ACM Transactions on Networking, V.1 N.4, August 1993, p. 397-413.

[2] Ilpo Järvinen, Aaron Yi Ding, Aki Nyrhinen, Markku Kojo, "Harsh RED: 
Improving RED for Limited Aggregate Traffic", In Proc. IEEE International 
Conference on Advanced Information Networking and Applications (IEEE AINA 
2012), Fukuoka, Japan, March 2012.
[http://www.cs.helsinki.fi/group/wibra/aina12.pdf]