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

Toke Høiland-Jørgensen <toke@toke.dk> Mon, 13 April 2015 16:35 UTC

Return-Path: <toke@toke.dk>
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 53B8B1ACEB6 for <aqm@ietfa.amsl.com>; Mon, 13 Apr 2015 09:35:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.206
X-Spam-Level: *
X-Spam-Status: No, score=1.206 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_DK=1.009, MIME_8BIT_HEADER=0.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no
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 POQC1p90nb1U for <aqm@ietfa.amsl.com>; Mon, 13 Apr 2015 09:35:08 -0700 (PDT)
Received: from mail2.tohojo.dk (mail2.tohojo.dk [77.235.48.147]) (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 E39341ACEB0 for <aqm@ietf.org>; Mon, 13 Apr 2015 09:35:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at mail2.tohojo.dk
Sender: toke@toke.dk
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toke.dk; s=201310; t=1428940437; bh=VwTs8yCXlUi6OpYcsFQpSEUsvrlhw2/Rqtj6ZJrmCE8=; h=From:To:Cc:Subject:References:Date:In-Reply-To; b=Ww50qvZUB+4SozSN1QAMaSKG1V4ZWTji1rTLg+DnsPwivE1NFie4sdsKv1TZlCMnD RUMGVe5T3lFcM0vx1cohV4YZG1cjTpOpinTvOWvn6bJiBKAAFfL930AeSyUrhyq3Qy enISf236ilEQ1Ve1vK4P5CnVhA9C56j57K89XQCw=
Received: by alrua-kau.kau.toke.dk (Postfix, from userid 1000) id 73A38C40445; Mon, 13 Apr 2015 17:53:56 +0200 (CEST)
From: Toke Høiland-Jørgensen <toke@toke.dk>
To: "Francini, Andrea (Andrea)" <andrea.francini@alcatel-lucent.com>
References: <1BFAC0A1D7955144A2444E902CB628F85E092996@US70TWXCHMBA11.zam.alcatel-lucent.com>
Date: Mon, 13 Apr 2015 17:53:56 +0200
In-Reply-To: <1BFAC0A1D7955144A2444E902CB628F85E092996@US70TWXCHMBA11.zam.alcatel-lucent.com> (Andrea Francini's message of "Mon, 13 Apr 2015 15:40:41 +0000")
X-Clacks-Overhead: GNU Terry Pratchett
Message-ID: <87vbh010tn.fsf@toke.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/Rm6_wKKav7oeUOrIHmqRxGly8Hs>
Cc: "aqm@ietf.org" <aqm@ietf.org>
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 16:35:09 -0000

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