Re: [aqm] ECN: was Control Theoretic Analyses of PI(E)

Vishal Misra <misra@cs.columbia.edu> Tue, 27 January 2015 13:31 UTC

Return-Path: <vm2020@columbia.edu>
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 327211A1A6E for <aqm@ietfa.amsl.com>; Tue, 27 Jan 2015 05:31:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.254
X-Spam-Level:
X-Spam-Status: No, score=-2.254 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FB_ROLLER_IS_T=1.357, J_CHICKENPOX_82=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 ztz0eF8hDdd6 for <aqm@ietfa.amsl.com>; Tue, 27 Jan 2015 05:31:04 -0800 (PST)
Received: from buckwheat.cc.columbia.edu (buckwheat.cc.columbia.edu [128.59.72.251]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BDF941A026F for <aqm@ietf.org>; Tue, 27 Jan 2015 05:31:04 -0800 (PST)
Received: from hazelnut (hazelnut.cc.columbia.edu [128.59.213.250]) by buckwheat.cc.columbia.edu (8.13.8/8.13.8) with ESMTP id t0RDThlT009877 for <aqm@ietf.org>; Tue, 27 Jan 2015 08:31:03 -0500
Received: from hazelnut (localhost.localdomain [127.0.0.1]) by hazelnut (Postfix) with ESMTP id CCE1938 for <aqm@ietf.org>; Tue, 27 Jan 2015 08:31:03 -0500 (EST)
Received: from tarap.cc.columbia.edu (tarap.cc.columbia.edu [128.59.29.7]) by hazelnut (Postfix) with ESMTP id 18B0238 for <aqm@ietf.org>; Tue, 27 Jan 2015 08:31:02 -0500 (EST)
Received: from mail-qg0-f53.google.com (mail-qg0-f53.google.com [209.85.192.53]) by tarap.cc.columbia.edu (8.14.4/8.14.3) with ESMTP id t0RDV10p004382 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <aqm@ietf.org>; Tue, 27 Jan 2015 08:31:01 -0500 (EST)
Received: by mail-qg0-f53.google.com with SMTP id a108so11555183qge.12 for <aqm@ietf.org>; Tue, 27 Jan 2015 05:31:01 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=toudQ6geGbQvm/chIErXYxV2gJl29eMSx32SqBHTl8Y=; b=Kj/XEiO8BliLTZfHM/cwJhmEkidGGIsIVE38LEAFZ7o5DdciBDG+Ed6P/qbInyl4YM tOlk9uGdWjBtJC87auB/x6TUwOy4tUF4RdSaXkKFnGONcZE9BjBdGnyyyikuyp/OMNFr HrAJZusClqFD1FQlEht5+6uyg94AjVhk/qgWN+KV3DNul4HUswSr5Pmb1TF7Rv9Ytw9u 0PRnkRJfUgcQrrVvuP4rOZyUDh+NBzCEwymYDS9nS8FNGzKktHI9N9N2Yyf2OJqZbFXH PwzQ7GC0lvvfpVDvcwBiRZjMS1TJHI/e3g87cUGzsb2JJ55q+g1SQiSJpRbqUcGCF6ag 1z8w==
X-Gm-Message-State: ALoCoQltzjQRhIrd+qbh4+erST/QRmKYL47SlhDBMos7roJ7P4q92M00iXA6J0hrAQb+bWw6dPXoFKsUbq3FKVRnHgXZ9qlxiWri/rFuJMg0XtwqLhdRdXdj2Hd3CXm1RkYAPwYeSIoz
X-Received: by 10.140.91.74 with SMTP id y68mr1854457qgd.90.1422365461665; Tue, 27 Jan 2015 05:31:01 -0800 (PST)
X-Received: by 10.140.91.74 with SMTP id y68mr1854432qgd.90.1422365461512; Tue, 27 Jan 2015 05:31:01 -0800 (PST)
Received: from [192.168.1.114] (cpe-104-162-221-3.nyc.res.rr.com. [104.162.221.3]) by mx.google.com with ESMTPSA id b109sm1053091qgf.40.2015.01.27.05.30.59 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 27 Jan 2015 05:31:00 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.4\))
From: Vishal Misra <misra@cs.columbia.edu>
In-Reply-To: <CAA93jw78h76r0tXJ9e21jjAC3Ps12E0h_bVk9a9CNrDmxrYWug@mail.gmail.com>
Date: Tue, 27 Jan 2015 08:30:58 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <5577DEF9-8098-45B0-B074-980214422C16@cs.columbia.edu>
References: <039049E6-71E2-4E55-8678-E1E0E472F87B@cs.columbia.edu> <20150126171439.GC49615@verdi> <C4A57039-EBE5-4ED6-BF74-E52B3DFBE27C@cs.columbia.edu> <CAA93jw78h76r0tXJ9e21jjAC3Ps12E0h_bVk9a9CNrDmxrYWug@mail.gmail.com>
To: Dave Taht <dave.taht@gmail.com>
X-Mailer: Apple Mail (2.2070.4)
X-No-Spam-Score: Local
X-Scanned-By: MIMEDefang 2.68 on 128.59.29.7
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/QwPk0_y_Dn6jOS-dA6YEvJ97nas>
Cc: John Leslie <john@jlc.net>, "aqm@ietf.org" <aqm@ietf.org>
Subject: Re: [aqm] ECN: was Control Theoretic Analyses of PI(E)
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, 27 Jan 2015 13:31:08 -0000

> On Jan 26, 2015, at 6:02 PM, Dave Taht <dave.taht@gmail.com> wrote:
> 
> 
> I would like to try a dctcp implementation against the aqms as
> available today, and to compare the results against the default highly
> specialized RED implementation dctcp presently requires.

That would be interesting. The default DCTCP AQM mechanism is RED without the averaging, which is a good thing, but it uses proportional marking. The proportional controller is the "fastest" controller you can design however the drawback is you cannot regulate (control) the delay/queue length to a fixed value. The PI controller fixes this issue.

The authors of DCTCP also tried to implement the PI controller however they found the performance was not as good. This shouldn't be a surprise as the design guidelines that the authors used for PI followed our original paper where the dynamics followed vanilla TCP. Since DCTCP follows different dynamics, the PI controller needs to be adjusted accordingly. I am happy to work with you on this if there is interest. 


> 
>> That was sort of the whole idea behind the PI controller - something that predicts onset of congestion by observing the derivative in the queue length as well as the absolute value of the queue. One of the failings of RED that we identified in a companion paper to the PI one (http://dna-pubs.cs.columbia.edu/citation/paperfile/22/hollot01control.pdf) was that RED used _averaged_ queue length as the congestion indicator. That introduced a further delay to the feedback loop - by the time your average rose and you to decided to "mark" a packet the buffer was already close to overflowing.
> 
> There is not a lot of useful information in "average" queue length, yes.
> 

We have argued something stronger - average queue length actively _hurts_ a feedback loop that has significant delays.

> keep the pipe fully utilized without needing to drop any packets. You can also use ECN marks with DiffServ and handle multiclass traffic (voice/real time streaming vs video downloads etc.) much more efficiently.
> 
> I look forward to seeing a diffserv enabled implementation of pie or
> pie-fq. In the "sqm-scripts" package for openwrt and cerowrt, there is
> the ability to test variants of a 3 tier classification scheme, with
> pie, codel, fq_codel, multiple test *codel variants, sfq, sfb, and
> fifo qdiscs. Extensive benchmark results are available, and you are
> perfectly welcome to merely run these scripts on any linux distro
> shipped in the past 2 years.
> 

Our DiffServ+PI design was published here: http://dna-pubs.cs.columbia.edu/citation/paperfile/31/Chait_02.pdf - I'll take a look at the distribution and see if we can implement our scheme with openwrt.

> Essentially this 3 tier scheme is what has deployed in many
> aftermarket home router distributions, and in netgear's dynamic QoS.
> What streamboost does (partially fq_codel based) is a bit different,
> attempting to provide bandwidth garuntees for various services like
> netflix, and it's too confusing to describe here.
> 

Our DiffServ design did something very close to that - offered a minimum guaranteed rate (MGR) for the AF service using two-colored marking. 
> -- 
> Dave Täht
> 
> thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks

-Vishal
--
http://www.cs.columbia.edu/~misra/