Re: [aqm] floating a draft charter

Dave Taht <dave.taht@gmail.com> Wed, 05 June 2013 07:44 UTC

Return-Path: <dave.taht@gmail.com>
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 0F7E621F9A97 for <aqm@ietfa.amsl.com>; Wed, 5 Jun 2013 00:44:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.372
X-Spam-Level:
X-Spam-Status: No, score=-2.372 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, NO_RELAYS=-0.001, 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 1j2f8AENzhZJ for <aqm@ietfa.amsl.com>; Wed, 5 Jun 2013 00:44:04 -0700 (PDT)
Received: from mail-ie0-x22a.google.com (mail-ie0-x22a.google.com [IPv6:2607:f8b0:4001:c03::22a]) by ietfa.amsl.com (Postfix) with ESMTP id 1DFC121F9A2A for <aqm@ietf.org>; Wed, 5 Jun 2013 00:44:01 -0700 (PDT)
Received: by mail-ie0-f170.google.com with SMTP id e14so2864208iej.15 for <aqm@ietf.org>; Wed, 05 Jun 2013 00:44:00 -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; bh=UdrNiB3Hur2zo2ITQYoL2/B4X9zbmjm4Pb5OuJWLfao=; b=t0plKSiFAJhG8uE0FiN9O010irZ5ijhbIiD5ymk2lzv+cDXDEupRM5wKjtwOr9AnbV oYbuE3i2NloZbaTzdiprprWZIxQBkdjNXvJWKKrY1G+scy7VEOYvHgqdOzKodLfxoA5j CCtvnhrBEvp2rcple+AgS2R8Tqgy8GdJtk0F7BnyMZBdAx5JYP87w90tv8j3m1pI7P+h zFewE5G4fyK2SVQ9mEEyFW0oRb5te2gqEcU8enC9FSL/D5VsZ6EvLrq/KgSF3rAwfjv6 LiVFyyGTVrUbK+E2BjRb1O65fw3TtVvEUaKqYVB1p9B9WcXdo+tnLoUIfoWzNycKJ4fc aMnw==
MIME-Version: 1.0
X-Received: by 10.50.118.69 with SMTP id kk5mr2585501igb.36.1370418240675; Wed, 05 Jun 2013 00:44:00 -0700 (PDT)
Received: by 10.64.35.44 with HTTP; Wed, 5 Jun 2013 00:44:00 -0700 (PDT)
In-Reply-To: <BF2CBE9A994B89438F7F3B9FD58C2B7F185CD31C@xmb-aln-x15.cisco.com>
References: <CAGhGL2DVU4xLXFMeHi75g6MTFehgjNBZkcpKVFb_K0804EKViw@mail.gmail.com> <BF2CBE9A994B89438F7F3B9FD58C2B7F185CD31C@xmb-aln-x15.cisco.com>
Date: Wed, 05 Jun 2013 00:44:00 -0700
Message-ID: <CAA93jw54A3iATN9Z5KpwuP2Aq61jY_enQzkwwAWK3d-gWjEWiA@mail.gmail.com>
From: Dave Taht <dave.taht@gmail.com>
To: "Rong Pan (ropan)" <ropan@cisco.com>
Content-Type: multipart/alternative; boundary="e89a8f6433826de4d504de635ca7"
Cc: Wesley Eddy <wes@mti-systems.com>, Mirja Kuehlewind <mirja.kuehlewind@ikr.uni-stuttgart.de>, Jim Gettys <jg@freedesktop.org>, "aqm@ietf.org" <aqm@ietf.org>
Subject: Re: [aqm] floating a draft charter
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: Wed, 05 Jun 2013 07:44:06 -0000

On Wed, Jun 5, 2013 at 12:09 AM, Rong Pan (ropan) <ropan@cisco.com> wrote:

>  I understand packet scheduling is important. However, most network
> devices today treat these two issues separately: classed-based
> scheduling/queueing and drop/mark algorithms. In class-based queueing,
> vendors differ in how many classes that they support: 2, 4 or 8. In
> drop/mark algorithm, vendors tend to implement both tail-drop and WRED.
>

I really have a great deal of trouble extrapolating to "vendors" here. I
suppose you mean "big iron vendors", like Juniper, or Allied Telesis, which
haven't weighed in on this list yet. In the CMTS market there are three
players, and while I know what Arris can do, I would prefer an Arris
representative to say. In terms of chipset makers ethernet support, most
don't don't support anything in hardware, neither do the low end bridge
chips, and thus they rely on software to do either AQM or FQ, in addition
to doing useful things like firewalling or NAT. In servers, home routers,
and handhelds, linux based devices are prevailant and can easily do just
about anything. (I recently had a theorist badger me about doing a particle
model for scheduling packets, because the GPU is effectively free on many
common chipsets. I'm sooo not going there, but he is). Wifi chipsets
generally have no strategy other than 802.11e for managing queues. Most of
the France Telecom's dsl devices run shortest queue first, with longest
queue drop. The list goes on and on...



>  I think we can continue to treat these two issues separately as it has
> been done in practice.
>

 Scheduling and drop algorithms have long been used in combination in
practice. Examples include the venerable wondershaper, and openwrt's QoS
system, which for most of the last 7 years or so was HFSC + SFQ + RED.
Dozens of other examples exist, but not on the gear you are familiar with.


> We can prove the values of delay-based AQM and we can also prove the value
> of FQ.
>

Sure. Thing is, we've pretty much proven that the two in combination are
better than either, singly. Do you not agree with that assessment?


> The goal of AQM is to give early congestion notification before the buffer
> becomes full or the delay gets big.
>

If you want to define AQM as Active Queue LENGTH management, then go right
ahead and try. Actually I was thinking hard about expanding the scope of
this proposed working group to be "Smart Queue Management" - which neatly
not only encompasses FQ and queue length management, but also extends out
to nagging problems like sanely rate limiting ipv6 ICMP responses to
someone probing someone's entire /64 address space, and dealing with other
sorts of attack like that, and problems like incast.

Similarly, the problem of dealing with diffserv marking remains, as to how
(or if) it would correctly interact with a SQM system.

Things like iptables don't seem to have a home within the ietf presently (?)

Scheduling algorithms determine bandwidth allocation and weighted fairness
> among different classes/flows. We don't have to mandate a particular
> scheduling algorithm with a particular AQM scheme.
>

Concur with that very much. I continue to experiment with QFQ+, DRR, WFQ,
SFQ, and other techniques.


> Vendors shall be free to choose their best performance-cost tradeoff
> point. I think it would be challenging to force vendors to adopt a fixed
> set.
>

Concur. Let the best set of ideas win both here and in the marketplace! But
an end goal should be some effective form of SQM *on by default*, on
everything.


>  Best Regards,
>
>  Rong
>
>
>
>   From: Jim Gettys <jg@freedesktop.org>
> Date: Tuesday, June 4, 2013 8:47 AM
> To: Wesley Eddy <wes@mti-systems.com>
> Cc: Mirja Kuehlewind <mirja.kuehlewind@ikr.uni-stuttgart.de>, "
> aqm@ietf.org" <aqm@ietf.org>
>
> Subject: Re: [aqm] floating a draft charter
>
>   There are a number of things I want to see:
>
>  1) packet scheduling is as important as drop/mark algorithms: it is the
> two together that is such a win with fq_codel.  So I, for one, would be
> *very* unhappy to see a charter that meant it was out of scope to discuss
> and document scheduling and flow queuing strategies.  And packet scheduling
> can interact with drop mark algorithms.
>
>  Optimal scheduling depends on where you are in the network (e.g. a host,
> versus home router, vs. ISP head end, etc.); documenting what makes the
> most sense where would likely help both implementors of software and
> hardware and operators of those networks.  I've given some thought to the
> area, but until we have running code, it's hand waving, but probably won't
> be hand waving in a year or two.
>
>  2) many mark/drop algorithms can co-exist (and generating informational
> RFC's to help customers write RFP's is worth while): but so far, there is
> no universal "one size fits all" mark/drop algorithm that is optimally
> effective everywhere.  Kathy and Van say a primary goal of CoDel was
> "first, do no harm", rather than "optimal under all circumstances".  The
> goal was an algorithm that never hurt you and would always be safe to have
> enabled. CoDel's constants were chosen so that CoDel will work at the edge
> of the network with planetary length paths in the face of highly variable
> bandwidth.
>
>  But CoDel inside a datacenter (unless you mess with its constants) is
> not effective in a timely fashion.
>
>  People have feared tuneable algorithms such as (W)RED can hurt them, so
> what we have had for AQM is sometimes not present at all, or not enabled
> (even in nodes that it would help greatly).  Note that one of Dave Taht's
> discoveries was that RED had been broken in the Linux source tree for 5
> years and *no one had noticed*.
>
>  Maybe someday we'll reach nirvana with a drop/mark algorithm that "just
> works" everywhere well all the time and can never hurt and always works
> perfectly, but that's a lofty goal left for research; in the meanwhile,
> helping people understand what to use where in the network and the
> tradeoffs is important.
>
>  But if CoDel (as we believe) or some other algorithm really is "first,
> do no harm" without tuning,  it has great value to be on by default just to
> prevent the disaster an operator not enabling any AQM at all; the world
> will never be worse than that, and usually be radically better. Anything
> that *requires* tuning of knobs to work is a not a candidate....
>
>  3) Some algorithms may be hard to retrofit into existing platforms.  For
> example, if you can't timestamp a packet, it's really hard to use CoDel,
> which is an algorithm easy to implement from scratch, but could be really
> hard retrofit in an existing hardware design. I don't want to discourage
> people doing things a lot better than nothing as a stop-gap, but people
> need to understand that it may be a second best solution.
>
>  Again, advice as to what/where algorithms may be applicable will help
> designers and operators both.  We face a 5-10 year transition here, even if
> we succeed this time.
>
>  4) There are "feagtures" or lack of features that today's hardware does
> that can/does make life for software very hard. Changes could make life
> much easier.
>
>  For example, today's hardware makes it hard to do true head drop (which
> hardware assist could make trivial).  Some have noticed that at low
> bandwidth we may adjust CoDel parameters to work around the lack of head
> drop and unaccounted for time in the driver's ring buffers (which CoDel
> needs), since Linux's qdisc's can't see the time in the rings. So there are
> a set of recommendations to hardware and OS designers that would help the
> state of the network: this simple head drop feature, packet pacing, making
> GSO/TSO less evil, and so on, war stories on all the places we've been
> working on debloating Linux to guide other OS developers, etc.
>
>  This is really the other side of queue management: try to encourage
> traffic and systems that is less bursty and gentle to the network, so the
> AQM/scheduling algorithms don't have to work as hard.
>
>  Such things should go someplace in the IETF, and if not here, where?
>  Doing nothing anywhere is what I want to avoid.
>
>  Best regards,
>     Jim
>
>
>
> On Thu, May 30, 2013 at 12:13 PM, Wesley Eddy <wes@mti-systems.com> wrote:
>
>> On 5/30/2013 8:20 AM, Mirja Kuehlewind wrote:
>> >
>> > But my point is, we should not only to standardize more and more AQM
>> > mechanisms because that's a large research area which maybe even should
>> be
>> > homed in the IRTF, but we need to find actually deployment strategies.
>> Having
>> > a working group on AQM will already help to make people aware of the
>> topic
>> > and maybe think about using AQM. But only standardizing more and more
>> AQM
>> > queue, might end up in investing a lot of working that no-one will ever
>> use.
>>
>>
>>  I suggest appending something like this to the charter:
>>
>>   Many AQM algorithms have been proposed in academic literature, but
>>   very few are widely implemented and deployed.  A goal of the working
>>   group is to produce recommendations that will actually be used, and
>>   algorithms that will actually be implemented, deployed in equipment,
>>   and enabled.  Towards these ends, the group actively encourages
>>   participation from operators and implementers, and will coordinate
>>   with the IETF OPS area and other relevant parts of the IETF and
>>   Internet community.  Wider research and evaluation of AQM mechanisms
>>   shall be coordinated with the IRTF/ICCRG, and significant
>>   participation in this WG from the academic and research community is
>>   highly desirable, when it is directly relevant to implementation and
>>   deployment.
>>
>>
>> We will definitely need to get engagement from some of the operators
>> that participate in the IETF, and should solicit participation more
>> widely outside as well (e.g. advertise to NANOG list, bufferbloat
>> list, etc.) in order to attract operators and implementers that aren't
>> already aware of this activity.
>>
>> Would this help to address your concern?
>>
>>
>> --
>> Wes Eddy
>> MTI Systems
>>  _______________________________________________
>> aqm mailing list
>> aqm@ietf.org
>> https://www.ietf.org/mailman/listinfo/aqm
>>
>
>
> _______________________________________________
> aqm mailing list
> aqm@ietf.org
> https://www.ietf.org/mailman/listinfo/aqm
>
>


-- 
Dave Täht

Fixing bufferbloat with cerowrt:
http://www.teklibre.com/cerowrt/subscribe.html