Re: [aqm] New I-D: draft-briscoe-aqm-dualq-coupled-00.txt

Bob Briscoe <ietf@bobbriscoe.net> Fri, 14 August 2015 09:04 UTC

Return-Path: <ietf@bobbriscoe.net>
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 CB0D61A876F for <aqm@ietfa.amsl.com>; Fri, 14 Aug 2015 02:04:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.601
X-Spam-Level:
X-Spam-Status: No, score=-4.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, GB_I_INVITATION=-2, RCVD_IN_DNSWL_LOW=-0.7, 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 zmN9qRIUhfRj for <aqm@ietfa.amsl.com>; Fri, 14 Aug 2015 02:04:20 -0700 (PDT)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EDE9C1A8761 for <aqm@ietf.org>; Fri, 14 Aug 2015 02:04:19 -0700 (PDT)
Received: from 125.122.189.80.dyn.plus.net ([80.189.122.125]:54667 helo=[192.168.0.7]) by server.dnsblock1.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.85) (envelope-from <ietf@bobbriscoe.net>) id 1ZQAuP-0000HH-PC; Fri, 14 Aug 2015 10:04:17 +0100
Message-ID: <55CDAF11.8050400@bobbriscoe.net>
Date: Fri, 14 Aug 2015 10:04:17 +0100
From: Bob Briscoe <ietf@bobbriscoe.net>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0
MIME-Version: 1.0
To: Yuchung Cheng <ycheng@google.com>
References: <20150807134115.29793.73156.idtracker@ietfa.amsl.com> <55C4C4CB.9080302@bobbriscoe.net> <CAK6E8=cWNLcOr7aZWGc8rNQEfwQXZCR+e4ijFFV8Td3j_eNQLg@mail.gmail.com>
In-Reply-To: <CAK6E8=cWNLcOr7aZWGc8rNQEfwQXZCR+e4ijFFV8Td3j_eNQLg@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/qe9-4YNrtsfkyhKHivyxcf-RbEM>
Cc: "De Schepper, Koen (Koen)" <koen.de_schepper@alcatel-lucent.com>, AQM IETF list <aqm@ietf.org>
Subject: Re: [aqm] New I-D: draft-briscoe-aqm-dualq-coupled-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: <https://mailarchive.ietf.org/arch/browse/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, 14 Aug 2015 09:04:23 -0000

Yuchung,

On 08/08/15 00:54, Yuchung Cheng wrote:
> On Fri, Aug 7, 2015 at 7:46 AM, Bob Briscoe <ietf@bobbriscoe.net> wrote:
>> AQM Chairs, list,
>>
>> My co-authors and I have just posted a draft spec of the DualQ Coupled AQM we presented and demonstrated in Prague under the title "Data Centre to the Home" (see announcement quoted below).
>>
>> Invitation to reimplement / bash
>> We are not asking for adoption right now. But we would be happy if others tried to reimplement it using our description and to test it independently. We are trying to get approval from employers to release it as open source, but you will see that the pseudocode is only 15 lines, so it should not be hard to reimplement. The queuing latency is even smaller
>>
>> The draft refers out to our 'under-submission' DCttH paper reporting a selection of the thousands of experiments we did ourselves. We are preparing a tech report to record the rest.
>>
>> Changes
>> The algo is unchanged, but hopefully the explanation is a considerable improvement on the unofficial draft I had posted on my personal Web site during the Prague meeting ('cos I missed the deadline by a minute). To save you time if you read that one, here's the diff.
>>
>> Thanks to Anil Agarwal for all the help in making the pseudocode explanation understandable - previously we had described pseudocode of the code optimised for the Linux kernel, whereas now we describe pseudocode "optimised for explanation", then explain how it was designed to be optimised for integer arithmetic etc.
>>
>> We have also added three optional approaches for overload handling (chosen by policy), to ensure the priority queue does not make the Classic queue suffer more than it would have if there had been just one FIFO.
>>
>> Cheers
> Interesting work. Do the queues share the same memory pool?
It's implemented in Linux as a multiqueue qdisc, so the kernel allocates 
memory between the subqueues. But, before buffer memory is exhausted, we 
have overload code that determines which queue will be hit...

> I hypothesize that with current ECN deployment, the bad (reno) guy
> will take up C_Q. What happens when the nice guy (dctcp) knocks the
> door when the house is full? the strict priority policy in the doc
> isn't clear about which butt to boot ...

If the classic traffic (e.g. Reno) is responsive, it's going to be hard 
to overflow the buffer unless there's a huge number of Reno flows, 
because there's a pretty decent AQM in there. It certainly could 
overload with just Reno flows, but perhaps a more pressing scenario 
would be  "What if unresponsive classic traffic exceeds the link rate?"

Whatever, overload handling (with either class of traffic) is explained 
in section 4.1.
<https://tools.ietf.org/html/draft-briscoe-aqm-dualq-coupled-00#section-4.1>
We separated overload out, because different operators will have 
different views on which traffic is more important to protect during 
overload. And there are different qualities to protect (e.g. drop vs delay).

If you had already read 4.1 and you meant it wasn't clear, what exactly 
wasn't clear?

If you meant the pseudocode Appendix wasn't clear on this point, we know 
(there's a note in the appendix saying overload pseudocode is "ToDo"). 
The policies are very simple to implement, however we wanted to fully 
test them before recommending anything. Koen is on vacation for another 
week, then when we've done the testing, we will add the overload 
pseudocode. But we also have a long list of other items to test as well, 
so I cannot yet promise when.

HTH


Bob


>
>>
>>
>> Bob, Koen, Olga & Inton.
>>
>>
>> -------- Forwarded Message --------
>> Subject: New Version Notification for draft-briscoe-aqm-dualq-coupled-00.txt
>> Date: Fri, 07 Aug 2015 06:41:15 -0700
>> From: internet-drafts@ietf.org
>> To: Koen De Schepper <koen.de_schepper@alcatel-lucent.com>, Ing-jyh Tsang <ing-jyh.tsang@alcatel-lucent.com>, Bob Briscoe <ietf@bobbriscoe.net>, Olga Bondarenko <olgabnd@gmail.com>, Koen De Schepper <koen.de_schepper@alcatel-lucent.com>, Olga Bondarenko <olgabnd@gmail.com>, Bob Briscoe <ietf@bobbriscoe.net>, ing-jyh.tsang@alcatel-lucent.com <ing-jyh.tsang@alcatel-lucent.com>
>>
>>
>> A new version of I-D, draft-briscoe-aqm-dualq-coupled-00.txt
>> has been successfully submitted by Bob Briscoe and posted to the
>> IETF repository.
>>
>> Name: draft-briscoe-aqm-dualq-coupled
>> Revision: 00
>> Title: DualQ Coupled AQM for Low Latency, Low Loss and Scalable Throughput
>> Document date: 2015-08-07
>> Group: Individual Submission
>> Pages: 22
>> URL:            https://www.ietf.org/internet-drafts/draft-briscoe-aqm-dualq-coupled-00.txt
>> Status:         https://datatracker.ietf.org/doc/draft-briscoe-aqm-dualq-coupled/
>> Htmlized:       https://tools.ietf.org/html/draft-briscoe-aqm-dualq-coupled-00
>>
>>
>> Abstract:
>>     Data Centre TCP (DCTCP) was designed to provide predictably low
>>     queuing latency, near-zero loss, and throughput scalability using
>>     explicit congestion notification (ECN) and an extremely simple
>>     marking behaviour on switches.  However, DCTCP does not co-exist with
>>     existing TCP traffic---throughput starves.  So, until now, DCTCP
>>     could only be deployed where a clean-slate environment could be
>>     arranged, such as in private data centres.  This specification
>>     defines `DualQ Coupled Active Queue Management (AQM)' to allow
>>     scalable congestion controls like DCTCP to safely co-exist with
>>     classic Internet traffic.  The Coupled AQM ensures that a flow runs
>>     at about the same rate whether it uses DCTCP or TCP Reno/Cubic, but
>>     without inspecting transport layer flow identifiers.  When tested in
>>     a residential broadband setting, DCTCP achieved sub-millisecond
>>     average queuing delay and zero congestion loss under a wide range of
>>     mixes of DCTCP and `Classic' broadband Internet traffic, without
>>     compromising the performance of the Classic traffic.  The solution
>>     also reduces network complexity and eliminates network configuration.
>>
>>
>>
>>
>> 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
>>
> _______________________________________________
> aqm mailing list
> aqm@ietf.org
> https://www.ietf.org/mailman/listinfo/aqm

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/