Re: [aqm] References on AQM test results and fq_nocodel

"Francini, Andrea (Andrea)" <andrea.francini@alcatel-lucent.com> Mon, 13 April 2015 17:24 UTC

Return-Path: <andrea.francini@alcatel-lucent.com>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 85E2B1ACF1C for <aqm@ietfa.amsl.com>; Mon, 13 Apr 2015 10:24:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.91
X-Spam-Level:
X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 GSqgkCY8aGIX for <aqm@ietfa.amsl.com>; Mon, 13 Apr 2015 10:24:37 -0700 (PDT)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-01.alcatel-lucent.com [135.245.210.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A6C81ACF1D for <aqm@ietf.org>; Mon, 13 Apr 2015 10:24:36 -0700 (PDT)
Received: from us70tusmtp2.zam.alcatel-lucent.com (unknown [135.5.2.64]) by Websense Email Security Gateway with ESMTPS id 8F2D83ABBD86B; Mon, 13 Apr 2015 17:24:27 +0000 (GMT)
Received: from US70TWXCHHUB04.zam.alcatel-lucent.com (us70twxchhub04.zam.alcatel-lucent.com [135.5.2.36]) by us70tusmtp2.zam.alcatel-lucent.com (GMO) with ESMTP id t3DHORJA015399 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 13 Apr 2015 13:24:27 -0400
Received: from US70TWXCHMBA11.zam.alcatel-lucent.com ([169.254.5.179]) by US70TWXCHHUB04.zam.alcatel-lucent.com ([135.5.2.36]) with mapi id 14.03.0195.001; Mon, 13 Apr 2015 13:24:27 -0400
From: "Francini, Andrea (Andrea)" <andrea.francini@alcatel-lucent.com>
To: "toke@toke.dk" <toke@toke.dk>
Thread-Topic: [aqm] References on AQM test results and fq_nocodel
Thread-Index: AdB2ACpSZak1wModQSWAzPrkxbVugAAB6VUXAACscRA=
Date: Mon, 13 Apr 2015 17:24:27 +0000
Message-ID: <1BFAC0A1D7955144A2444E902CB628F85E093A39@US70TWXCHMBA11.zam.alcatel-lucent.com>
References: <1BFAC0A1D7955144A2444E902CB628F85E092996@US70TWXCHMBA11.zam.alcatel-lucent.com> <87vbh010tn.fsf@toke.dk>
In-Reply-To: <87vbh010tn.fsf@toke.dk>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.18]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/7d5fmmyecaaFDQg6tShFI-e7Q9w>
Cc: "aqm@ietf.org" <aqm@ietf.org>, Michael Welzl <michawe@ifi.uio.no>
Subject: Re: [aqm] References on AQM test results and fq_nocodel
X-BeenThere: aqm@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 13 Apr 2015 17:24:39 -0000

Thank you Toke (and Michael) for the pointers.

Just based on the results of the IETF 91 slides, it would seem that disabling CoDel in fq_codel helps in a variety of cases (most evidently in the fairness plots), and only causes some increase in VoIP delay at relatively low link rates (the fq_codel and fq_nocodel curves do overlap in the 100/100 Mbps case of slide 34). 

CoDel's effort to limit the queuing delay appears well motivated when there is only one queue (e.g., to shield VoIP from the delay induced by bulk-transfer or video traffic), but when multiple queues are available the net gain of the effort is unclear. I suspect the same may happen with the flow-queue version of PIE.

Is this just because the set of tests in the slides does not include one that clearly exposes the superiority of fq_codel over fq_nocodel? And what would that test look like?

Andrea


-----Original Message-----
From: toke@toke.dk [mailto:toke@toke.dk] 
Sent: Monday, April 13, 2015 11:54 AM
To: Francini, Andrea (Andrea)
Cc: aqm@ietf.org
Subject: Re: [aqm] References on AQM test results and fq_nocodel

Hi Andrea

> 1. Besides the results in Toke’s ICCRG presentation at IETF 91 in
> November 2014
> (http://www.ietf.org/proceedings/91/slides/slides-91-iccrg-4.pdf),
> where can I find other comprehensive comparisons of AQM
> implementations for Linux (or any other non-simulated system that
> handles real packets)?

The data underlying my experiments are available from here:
http://www.cs.kau.se/tohojo/modern-aqms/ -- that page also has links to
the test scripts used to run the experiments. The paper is still under
submission, so can't link that, sadly, but I can share a copy with you
privately if you are interested.

> 2. In Toke’s slides, the fq_nocodel scheme appears to be never worse
> than fq_codel (or any other AQM in those tests), except for the VoIP
> delay plot of slide 12. Besides the Linux code, is there anywhere a
> description of the fq_nocodel scheme?

Well, fq_nocodel is basically the term I use for fq_codel configured so
as to disable the CoDel algorithm (i.e. the target and/or interval is
set to 100 seconds so the algorithm never triggers). As such, it doesn't
have a description outside of my paper, but you can read the fq_codel
draft and ignore everything it says about CoDel, I suppose :)

Also, note that configuring fq_codel in this way in Linux is not optimal
in terms of CPU use: it deliberate triggers the overflow drop mechanism,
which does a linear search through all configured queues, eating up 4k
of cache on every drop. If your test router is sufficiently
CPU-over-provisioned (a modern x86 counts as this for <=1Gbit speeds)
this doesn't affect performance, but I wouldn't recommend it on a tiny
MIPS processor, for instance. (Oh, and this limitation is specific to
the current implementation, and could easily be fixed if anyone wanted
to; the overflow mechanism was meant as a backup, and so wasn't
optimised like, say, the SFQ was).

-Toke