Re: [aqm] Fwd: New Version Notification for draft-baker-aqm-sfq-implementation-00.txt

Dave Taht <dave.taht@gmail.com> Fri, 13 June 2014 23:04 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 855B01B2A93 for <aqm@ietfa.amsl.com>; Fri, 13 Jun 2014 16:04:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, 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 q_K5dhujSS0P for <aqm@ietfa.amsl.com>; Fri, 13 Jun 2014 16:04:46 -0700 (PDT)
Received: from mail-wi0-x229.google.com (mail-wi0-x229.google.com [IPv6:2a00:1450:400c:c05::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 66C431B2A8E for <aqm@ietf.org>; Fri, 13 Jun 2014 16:04:46 -0700 (PDT)
Received: by mail-wi0-f169.google.com with SMTP id hi2so2978151wib.0 for <aqm@ietf.org>; Fri, 13 Jun 2014 16:04:45 -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=wbA6hCi+e06VxpYZb1Et9YWBc3Qf/OlSW1A3hSmpd3s=; b=mUJTDp8dRF+uVK8VlICY/bKMAy1LfffojOC0fYYgURaVca0GXzq9xTf2uZY87gf0lz PScTjrjC0yEojc3woRRpcbuAqIR6yL4kl1QTmBj24+L0kTFc73Vzv95RtS4HZ8M5ezsu hEnuIhSSgfwYWA2WAxmfMDIGAwUhTqFoTnN01khEIevfaOdPD9NGHdXptbX/PYHC7/lV q49wWKqNPCldZAuIo55e0YnJbLdLom9SaFd+Qwn0OKFEFZgxAsljZHdkHhS8OGzWNdLm KeUdzGMQW08q+PtMT2ibqwYE14kAB9Uud60CbGiliksvsDzHLgvcq5Gm+Ka6OBl4DFge IanA==
MIME-Version: 1.0
X-Received: by 10.180.72.15 with SMTP id z15mr8505876wiu.46.1402700684962; Fri, 13 Jun 2014 16:04:44 -0700 (PDT)
Received: by 10.216.207.82 with HTTP; Fri, 13 Jun 2014 16:04:44 -0700 (PDT)
In-Reply-To: <F8A92E62-4135-41F7-A069-711B27137BE5@cisco.com>
References: <20140613215207.11613.75352.idtracker@ietfa.amsl.com> <F8A92E62-4135-41F7-A069-711B27137BE5@cisco.com>
Date: Fri, 13 Jun 2014 16:04:44 -0700
Message-ID: <CAA93jw4u12Jhkpg=7vrwx_rn3aWf1CeOEuovWksNyxZMY0RqDQ@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/kz8hU5R2eJx_z6ASx81WqU9AK6o
Cc: "aqm@ietf.org" <aqm@ietf.org>
Subject: Re: [aqm] Fwd: 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: Fri, 13 Jun 2014 23:04:48 -0000

Really excellent, Fred, on a first reading!

nit 1) drops tend to happen in bursts on a tail drop queue (not
necessarily on this bottleneck, but elsewhere on the network). By
breaking up flows into sequences of distinctly different packets, this
applies minor damage to more flows, instead of severe damage to one
flow.

I don't know where to put this or how to express it anywhere near as
well as you expressed everything else.

2) weighted FQ algos like QFQ and WFQ are interesting from a
take-advantage-of-diffserv perspective. I keep hoping to get a
simplified and more fq_codel-like implementation of QFQ, in
particular.

3) sch_fq is a *perfect* fq algo, instead of using a hash, it uses a
red-black tree to keep track of all flows. While memory and compute
intensive for a router, it's pretty awesome on hosts, and makes it
possible to schedule (and pace) tcp flows at a level much closer to
the driver hardware, using the same new/sparse vs persistent queue
distinction fq_codel does.

4) While I think I finally understand your longstanding criticism of
how aqm and scheduling technologies are indeed distinct, there is a
parameter that must be
shared globally between the two algorithms: the maximum overall queue
length (governing worst case drop behavior). This is the basic flaw of
applying
(at least in linux) sfq, drr, qfq, htb, etc naively with a drop tail
queue, as the maximum overall queue length is additive.

Take for example a simple QoS setup

filter that breaks up stuff into 4 QoS queues:

drr 1 -> sfq limit 127 (prio)
drr 2 -> sfq limit 127 (video)
drr 3 -> sfq limit 127 (BE)
drr 4 -> sfq limit 127 (background)

So you end up with worst case drop tail and delay behavior for drr +
sfq queue of 4*127 packets. If using weighted drr, the proportions
change, but the worst case drop behavior does not. If using something
like htb, the background queue has a worst case drop tail and delay
behavior of 4*127, be, 3*127, and so on. Having a shared overall queue
size is extremely important for being able to classify queues and get
sane behavior. You could, for example, try using 32 packet queues to
get the same overall worst case latency guarantee but you'd sacrifice
bandwidth if the majority of traffic was BE only.

This is less important with a system that tries to measure latency and
be intelligent about drop behavior, but you still have worst case
behavior that is additive in the case of non-responsive flows.

4a) The problem with using individual queues for something like
pie-per-fq'd_queue, is that pie depends on being able to sample X
number of packets in order to determine it's drop decision, which it
may not get relevant to the overall load on the system for flows that
are too small to tweak pie's estimator, yet worth dropping a packet
from.

4b) and the opposite problem in codel, with a single codel queue
taking fq'd packets (rather than one codel queue per fq) is the
reliance on timestamps for dropping in and out of drop state, which
doesn't work if you don't do the timestamp in the right place.


(I'll no doubt find more nits later :) )

On Fri, Jun 13, 2014 at 3:07 PM, Fred Baker (fred) <fred@cisco.com> wrote:
> I’d be interested in comments on this.
>
>> From: <internet-drafts@ietf.org>
>> Subject: New Version Notification for draft-baker-aqm-sfq-implementation-00.txt
>> Date: June 13, 2014 at 2:52:07 PM PDT
>> To: Fred Baker <fred@cisco.com>, Rong Pan <ropan@cisco.com>, Fred Baker <fred@cisco.com>, Rong Pan <ropan@cisco.com>
>>
>>
>> A new version of I-D, draft-baker-aqm-sfq-implementation-00.txt
>> has been successfully submitted by Fred Baker and posted to the
>> IETF repository.
>>
>> Name:         draft-baker-aqm-sfq-implementation
>> Revision:     00
>> Title:                On Queuing, Marking, and Dropping
>> Document date:        2014-06-13
>> Group:                Individual Submission
>> Pages:                14
>> URL:            http://www.ietf.org/internet-drafts/draft-baker-aqm-sfq-implementation-00.txt
>> Status:         https://datatracker.ietf.org/doc/draft-baker-aqm-sfq-implementation/
>> Htmlized:       http://tools.ietf.org/html/draft-baker-aqm-sfq-implementation-00
>>
>>
>> Abstract:
>>   This note discusses implementation strategies for coupled queuing and
>>   mark/drop algorithms.
>>
>>
>>
>>
>> Please note that it may take a couple of minutes from the time of submission
>> until the htmlized version and diff are available at tools.ietf.org.
>>
>> The IETF Secretariat
>>
>
>
> _______________________________________________
> 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