Re: [aqm] Gathering Queue Length Statistics

Daniel Havey <> Wed, 25 February 2015 19:17 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id EFAB21A7022 for <>; Wed, 25 Feb 2015 11:17:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.71
X-Spam-Status: No, score=-0.71 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, RCVD_ILLEGAL_IP=1.3, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Mfmv1Jnl3Bnc for <>; Wed, 25 Feb 2015 11:17:40 -0800 (PST)
Received: from ( []) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 219191A8758 for <>; Wed, 25 Feb 2015 11:16:50 -0800 (PST)
Received: from [] by with NNFMP; 25 Feb 2015 19:16:49 -0000
Received: from [] by with NNFMP; 25 Feb 2015 19:16:49 -0000
Received: from [] by with NNFMP; 25 Feb 2015 19:16:40 -0000
X-Yahoo-Newman-Property: ymail-3
Received: (qmail 39896 invoked by uid 60001); 25 Feb 2015 19:16:40 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=s1024; t=1424891800; bh=KQvrhxTUbnIIg1kXdVuFRG2i8Aqf+s7E7MGR2z8EZUI=; h=Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=JCu/iqMQztjE2YDWbYWZ2ve7xteZvRKiSBDShLpI6lqjqpw8u6I/cf09wULFDl905gpVo5AIuAPRaC6nlMUuDatZ9Y2oPJ/sIKf5QVz20rH1g1QvazBG9WnOWJvdkWzn6N5i5MlDqH8EB8raJ4khnsldaSAjSi6L93nWZ5XdUW0=
X-YMail-OSG: Uua5NhwVM1mc2hknbvrG3Pz_q.W_3HSt.vH4xgDWFn9YBB8 Q1bSkv.kbFEOauxDDkDp9Sxa8brjP1nDJVytFo_8r2RcL2MOBSbQZr1rM75H aBvAy8XAyT8vox_d32tBhxrSxLglHtA2JOUuBjpUzBqGEsdrSt2YVyfZYeGA MGU9U3bkH58kePcgwyoJXLff4PMq5_vZ2d0VqsGw8NYzbzcnpB4.Nf6UNodp k0422RWaZxEo5XgvadFxc4vEDhxTfuIr.Nk5ZZsrpbv8KPUDncN2qF9jyloG sSuW3cU2TIcQQRVU5dIH.Q5MYewsaJ5HjfeUN7OcbdOjTerSFdprRc.c0Oiy dyCXedbHeLiQ_TmFjS8jdIiC2MDt_erIFA6g8eApl.oyBwvDQj7_Fvousd0a p53oKqkcel6g1J6hOvEq9OY.6YNCS5dMdGGHEYrLmfF1tuGX0uCFbTn.yna6 mWr09RG.zRVGd3DlPhVf9bn_YX4Ifmz.Ra0qKOpoT6v7nS_rG7RFqQwdaLvn 3Dk9Af3ooRkrfffYFhq6zODsXD5CsoXdppbRRPI4JTRKHfsC0XgxxwpPBeB1 rJs500cSHLhcRCuUnZuXC9aSVQPJb5Jjsv_cv3To03.cbnxOv5KwTw_Y0ri2 YMb389kPA3H5uxz70Y4KLKkrwcGipkDd.34OcSe1ZEGX9BWYxUhJjCf28xl5 MW9B4qmXOcsz8THdIyWEhhStUMC7RZGtBrR.wGEa6d4mSeej8lDLmMWUEQ9T Q9uSISdGF1W4Rr_kA.xQwFVfpb5lXjZ2G2tJ6HzYQhrzUXImtZDqfoWTSHiH jdHo1KPaGC9Qru6Cv.uCKB39mkf8tiI4IW83lenDKt0SvLqq.3tE.uWh5qZY K5M2c2xbW9GRQQ8vyP8opP21AC.vzwY.dk92rLamBtBsf
Received: from [] by via HTTP; Wed, 25 Feb 2015 11:16:40 PST
X-Rocket-MIMEInfo: 002.001, SmVleiBEYXZlLCBkb24ndCBzY2FyZSB0aGUga2lkISAgOl4pICBIZSdzIG9ubHkgYW4gdW5kZXJncmFkIQ0KDQpMb29rIFJ5YW4sIERhdmUgcmVhbGx5IGRvZXMgaGF2ZSB5b3VyIGJlc3QgaW50ZXJlc3QgYXQgaGVhcnQgYW5kIHRoYXQgaXMgd2h5IGhlIHdhbnRzIHlvdSB0byB1c2UgQ0RGcyBpbnN0ZWFkIG9mIGF2ZXJhZ2VzLiAgQW5kIGhlIGlzIHJpZ2h0LCBJIHRoaW5rIHlvdSBzaG91bGQgdXNlIENERnMgYWxzby4gIEluIGZhY3QsIHNhdmUgeW91cnNlbGYgYSBwaWxlIG9mIHJlcGV0aXR2ZSB3b3JrIGEBMAEBAQE-
X-Mailer: YahooMailClassic/377 YahooMailWebService/
Message-ID: <>
Date: Wed, 25 Feb 2015 11:16:40 -0800
From: Daniel Havey <>
To: Ryan Doyle <>, Dave Taht <>
In-Reply-To: <>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Archived-At: <>
Cc: "" <>
Subject: Re: [aqm] Gathering Queue Length Statistics
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 25 Feb 2015 19:17:42 -0000

Jeez Dave, don't scare the kid!  :^)  He's only an undergrad!

Look Ryan, Dave really does have your best interest at heart and that is why he wants you to use CDFs instead of averages.  And he is right, I think you should use CDFs also.  In fact, save yourself a pile of repetitve work and just use Toke's tools.  They will produce better results and require less work from you :)

Trust me on this.  I have done both and Toke's tools are waaaaay better and easier than anything you (or I) will come up with.  Install Toke's tools and then you will have a cornucopia of awesome and repeatable results that you can just plug in to your final paper.  Go for it :^)

thanxs ;^)

On Wed, 2/25/15, Dave Taht <> wrote:

 Subject: Re: [aqm] Gathering Queue Length Statistics
 To: "Ryan Doyle" <>
 Cc: "" <>
 Date: Wednesday, February 25, 2015, 10:24 AM
 On Wed, Feb 25, 2015 at
 9:53 AM, Ryan Doyle <>
 > Hello,
 > I am a senior undergraduate student at the
 University of North Carolina at
 > Chapel
 Hill and am studying the effectiveness of AQMs. I have set
 up a lab
 > network and plan on running
 different sets of experiments with different
 > AQMs. My router machines are running Linux
 kernel version 3.16.0.
 > I am using the fq_codel, codel, and pie
 qdiscs for my research and am
 > wondering
 if there is a way to collect statistics regarding the
 > queue length since a qdisc was
 enabled? I have looked at tc's "-s" flag
 > statistics, but they show nothing
 about queue length and I have been unable
 > to find anything else that might help me
 get queue length statistics.
 Oh, god. I am getting incredibly sensitive
 about average queue length,
 and I realize
 that that is not what you meant. But since not enough
 people have seemingly read this or any of the
 related materials, here
 it is again.
 And I of course always
 recommend van´s talk on the fountain model for
 thinking about closed loop servo systems.
 In the bufferbloat
 We have
 developed many tools that drive aqms hard, see
 on github for that, which
 measures e2e delay without requiring any
 tools on the routers inbetween. e2e delay in my
 mind is way more
 important than average
 queue length. And you can derive the queue
 length(s) from tcp timestamps in those
 netperf-wrapper tests, from
 packet captures, if you must.
 If you absolutely MUST derive average queue
 length from the box, you
 can poll the
 interface frequently with tc -s qdisc show as well as
 with ifconfig- and parse out the number of
 packets and the number of
 bytes. But you can
 do MUCH more valid statistical analysis than that,
 with that sort of data set - and if you poll
 too frequently you will
 heisenbug your
 tests, as those data collection calls take locks that
 interfere with the path. and we have all sorts
 of advice about traps
 for the unwary
 Please use
 things like CDFs to see the range of delays, rather than
 averages. It is what happens at above 90% of
 the range that makes
 bufferbloat maddening
 to ordinary users.
 I am
 summarily rejecting any papers that I review that report
 queue length as if it meant
 anything. And for a few other reasons. You
 have been warned. I really lost my temper after
 the last paper I
 reviewed last weekend and
 the resulting flamage is all over the bloat
 list and codel lists, and starts here:
 > Best,
 > Ryan Doyle
 > aqm mailing list
 Let's make wifi fast, less jittery
 and reliable again!
 aqm mailing list