Re: [aqm] floating a draft charter

"Rong Pan (ropan)" <ropan@cisco.com> Wed, 05 June 2013 07:09 UTC

Return-Path: <ropan@cisco.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 BA8AE21F9A5A for <aqm@ietfa.amsl.com>; Wed, 5 Jun 2013 00:09:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.371
X-Spam-Level:
X-Spam-Status: No, score=-10.371 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8, 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 N4M1j+h-5qWR for <aqm@ietfa.amsl.com>; Wed, 5 Jun 2013 00:09:24 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) by ietfa.amsl.com (Postfix) with ESMTP id 9558121F9A4E for <aqm@ietf.org>; Wed, 5 Jun 2013 00:09:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=20337; q=dns/txt; s=iport; t=1370416164; x=1371625764; h=from:to:cc:subject:date:message-id:in-reply-to: mime-version; bh=gbvhIYZ9tycwjUHoT/pi+sT69WaDT3FbsUK3mOG6/ug=; b=nCal8bpxcaVK+OSLuQhcKKnEGeJ5uNyxhAvVhoE0WraUYnRAF/wpc9rg lYiCxlot05QJTR759nU2C5e17tRCMODPizOrNdWo3qnDFusKcQF0nGDii 4A5QWpJT4905BeUZThymoLTC7KZam5O7bcWLul8822dTz61qD3mKkUhm8 s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgQFAB/jrlGtJXHA/2dsb2JhbABagkVEML8qgQAWdIIjAQEBBAEBAWsLEgEIDgMDAQIBCh0uCxQJCAIEAQ0FCAwFAgOHbwy8ZASOcyANBAeCemEDk22VEoMPgic
X-IronPort-AV: E=Sophos; i="4.87,804,1363132800"; d="scan'208,217"; a="219012651"
Received: from rcdn-core2-5.cisco.com ([173.37.113.192]) by rcdn-iport-4.cisco.com with ESMTP; 05 Jun 2013 07:09:23 +0000
Received: from xhc-aln-x09.cisco.com (xhc-aln-x09.cisco.com [173.36.12.83]) by rcdn-core2-5.cisco.com (8.14.5/8.14.5) with ESMTP id r5579N8M025341 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 5 Jun 2013 07:09:23 GMT
Received: from xmb-aln-x15.cisco.com ([169.254.9.55]) by xhc-aln-x09.cisco.com ([173.36.12.83]) with mapi id 14.02.0318.004; Wed, 5 Jun 2013 02:09:23 -0500
From: "Rong Pan (ropan)" <ropan@cisco.com>
To: Jim Gettys <jg@freedesktop.org>, Wesley Eddy <wes@mti-systems.com>
Thread-Topic: [aqm] floating a draft charter
Thread-Index: AQHOT+e7sbTg87RfgUiCkEk4FI/R8JkeFEGAgABBDYCAB9RAAIAAjE4A
Date: Wed, 05 Jun 2013 07:09:21 +0000
Message-ID: <BF2CBE9A994B89438F7F3B9FD58C2B7F185CD31C@xmb-aln-x15.cisco.com>
In-Reply-To: <CAGhGL2DVU4xLXFMeHi75g6MTFehgjNBZkcpKVFb_K0804EKViw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.2.1.120420
x-originating-ip: [10.21.119.205]
Content-Type: multipart/alternative; boundary="_000_BF2CBE9A994B89438F7F3B9FD58C2B7F185CD31Cxmbalnx15ciscoc_"
MIME-Version: 1.0
Cc: Mirja Kuehlewind <mirja.kuehlewind@ikr.uni-stuttgart.de>, "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:09:29 -0000

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 think we can continue to treat these two issues separately as it has been done in practice. We can prove the values of delay-based AQM and we can also prove the value of FQ. The goal of AQM is to give early congestion notification before the buffer becomes full or the delay gets big. 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. 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.

Best Regards,

Rong



From: Jim Gettys <jg@freedesktop.org<mailto:jg@freedesktop.org>>
Date: Tuesday, June 4, 2013 8:47 AM
To: Wesley Eddy <wes@mti-systems.com<mailto:wes@mti-systems.com>>
Cc: Mirja Kuehlewind <mirja.kuehlewind@ikr.uni-stuttgart.de<mailto:mirja.kuehlewind@ikr.uni-stuttgart.de>>, "aqm@ietf.org<mailto:aqm@ietf.org>" <aqm@ietf.org<mailto: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<mailto: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<mailto:aqm@ietf.org>
https://www.ietf.org/mailman/listinfo/aqm