Re: [aqm] New Version Notification for draft-baker-aqm-sfq-implementation-00.txt
Dave Taht <dave.taht@gmail.com> Tue, 24 June 2014 20:44 UTC
Return-Path: <dave.taht@gmail.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 518B61B2883 for <aqm@ietfa.amsl.com>; Tue, 24 Jun 2014 13:44:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.101
X-Spam-Level:
X-Spam-Status: No, score=-0.101 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] 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 p6Si1QYta0Wg for <aqm@ietfa.amsl.com>; Tue, 24 Jun 2014 13:44:30 -0700 (PDT)
Received: from mail-oa0-x22b.google.com (mail-oa0-x22b.google.com [IPv6:2607:f8b0:4003:c02::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2DD7E1B287F for <aqm@ietf.org>; Tue, 24 Jun 2014 13:44:30 -0700 (PDT)
Received: by mail-oa0-f43.google.com with SMTP id o6so1011487oag.30 for <aqm@ietf.org>; Tue, 24 Jun 2014 13:44:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=D8cSQ1fHxWORoUz3/YMRM5ux98It+7WHwyMtuoI6Rxc=; b=dBZEHFOL/Gq+8SqgZQcNeaw3c9aiO7r4pf6nFGellhsAV9YVPhS5OGVMkymm9+m+FD IIYFC9uA22YoBEqqurAWouDEoQtFwalcZzNGtOkQ/YQ7zg2HYFmMaLD06s0OKpqfG3oS WNMQAuLTT755p4hlAphnxdLw8iBNBsrIi0RI/krY7GVbC3wbDpJ5/60ODrgwzipJSAFf fL87V1O+ej8WgTjMp2QJjqToxtc454lLPNUAiQ1LOQt8PoTKNsg7aoNlZaaG2wlVW3/W MoaC3NjaqVdz69zlupYCZ5H7EvBM7vGy3r5Y0gy3+dFp069P/FEBagsoJy6x0KtzuuRt dycw==
MIME-Version: 1.0
X-Received: by 10.182.95.68 with SMTP id di4mr3409893obb.87.1403642669562; Tue, 24 Jun 2014 13:44:29 -0700 (PDT)
Received: by 10.202.48.200 with HTTP; Tue, 24 Jun 2014 13:44:29 -0700 (PDT)
In-Reply-To: <A1DBF044-755D-4382-9AE8-930180358D0A@cisco.com>
References: <1403639157.90844.YahooMailBasic@web141606.mail.bf1.yahoo.com> <A1DBF044-755D-4382-9AE8-930180358D0A@cisco.com>
Date: Tue, 24 Jun 2014 13:44:29 -0700
Message-ID: <CAA93jw4kN50nFF1zWLUOM=_TEqo-kXs3qTJMti81PXuuVKS5DA@mail.gmail.com>
From: Dave Taht <dave.taht@gmail.com>
To: "Fred Baker (fred)" <fred@cisco.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/aqm/KkvvK9iQv9_FwzD8590RlUOl-5c
Cc: RichardScheffenegger <rs@netapp.com>, "aqm@ietf.org" <aqm@ietf.org>, "dhavey@yahoo.com" <dhavey@yahoo.com>, grenville armitage <garmitage@swin.edu.au>
Subject: Re: [aqm] New Version Notification for draft-baker-aqm-sfq-implementation-00.txt
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: Tue, 24 Jun 2014 20:44:32 -0000
On Tue, Jun 24, 2014 at 1:01 PM, Fred Baker (fred) <fred@cisco.com> wrote: > > On Jun 24, 2014, at 12:45 PM, Daniel Havey <dhavey@yahoo.com> wrote: > >> So IMHO it really doesn't matter except in the weird corner case where a a running flow has already bloated the queue and then we switch on the AQM. Hmm? In practice, changing the qdisc in Linux, at least, does completely blow up the existing queue: all packets are discarded, the various data structures removed, the new data structures created, then switched. Don't do that. Do it once, at init time, or before address acquisition. Simple schemes can be handled now (linux 3.13 and later) by a single sysctl variable, set either in /etc/sysctl.conf or via sysctl -w net.core.default_qdisc=fq_codel # or pie, or sfq, or fq Arguably this needs to allow for arguments, be more flexible and interface specific. Same goes for enabling ecn or not. (net.ipv4.tcp_ecn=0) More complex implementations, like htb, have a "default" direction things go until things are fully setup. Other linux implementations, like drr and qfq, do not, and result in packet loss until entirely setup. Recently support for a "plug scheduler" was developed in order to assist vm migration, which might make it more possible to switch out qdiscs without interrupting service. > That actually has me a little worried with the 100 ms delay built into codel. "Initial delay" until it finds a sane delay to drop at. >Imagine, if you will, that you have a deep buffer at the bottleneck and a relatively short RTT, and are moving a large file. I could imagine codel’s delay allowing a session to build a large backlog and then “suddenly turning on AQM”. on a 10 MS link with O(200) packets queue depth, for example, you could build 100 ms plus of data in the queue, spend the delay mostly emptying it, and then drop the last queued packet because 100 ms had gone by, there was still data in the queue, and the next packet had sat there longer than 5 ms. Given that pie depends on an estimation window being filled this is not a problem pie has. However needing that window filled is a big problem at low bandwidths for pie. As for codel.... Well there is a specific inhibit in present forms of codel to not drop the last packet in the queue even if it has sat there too long. Codel stops dropping at minbytes (called maxpacket in the code), which is a variable determined from the flow characteristics, and is usually 1MTU in size, but can be larger if TSO or GRO are in operation on the device. The first versions of fq_codel preserved this behavior: it would never drop the last packet in any fq_codel queue. This (still) seems like desirable behavior in the case of having nearly one queue per flow, but it led inevitably to what I had called the horizontal standing queue problem (where we could end up with 1024 queues all with one packet and no longer meeting the latency target(s)). So eric made the backlog maxpacket check global to all queues, and that's what's been deployed ever since. Later work, (I think) is showing, that in practice any inhibit at all hurts on the architectures available, as htb or (bql and the tx-ring) are already buffering up packets below where codel was dropping from near-head. More packets will always be along, later. This patch disables the maxpacket check entirely, and results in a space and cpu savings, without much observable negative or positive effect on latency and utilization on the bandwidths available to me. I remain a bit concerned about what happens with TSO and/or GRO enabled. http://snapon.lab.bufferbloat.net/~cero2/0003-codel-eliminate-maxpacket-variable.patch I'd love it if people tried it. Of higher concern to me has long been more sanely applying hysteresis in the drop rate over wildly varying high bandwidths and loads, but not a lot of work has gone into codel since it's inception, as it was so good to start with and so dramatically improved by fq_codel as to be barely worth debating. But certainly better control laws are welcomed! > _______________________________________________ > aqm mailing list > aqm@ietf.org > https://www.ietf.org/mailman/listinfo/aqm > -- Dave Täht NSFW: https://w2.eff.org/Censorship/Internet_censorship_bills/russell_0296_indecent.article
- [aqm] Fwd: New Version Notification for draft-bak… Fred Baker (fred)
- Re: [aqm] Fwd: New Version Notification for draft… Dave Taht
- Re: [aqm] Fwd: New Version Notification for draft… Dave Taht
- Re: [aqm] Fwd: New Version Notification for draft… grenville armitage
- Re: [aqm] New Version Notification for draft-bake… Fred Baker (fred)
- Re: [aqm] New Version Notification for draft-bake… Scheffenegger, Richard
- Re: [aqm] New Version Notification for draft-bake… Fred Baker (fred)
- Re: [aqm] New Version Notification for draft-bake… Daniel Havey
- Re: [aqm] New Version Notification for draft-bake… Fred Baker (fred)
- Re: [aqm] New Version Notification for draft-bake… Fred Baker (fred)
- Re: [aqm] New Version Notification for draft-bake… Daniel Havey
- Re: [aqm] New Version Notification for draft-bake… Dave Taht
- Re: [aqm] New Version Notification for draft-bake… Dave Taht