Re: [aqm] think once to mark, think twice to drop: draft-ietf-aqm-ecn-benefits-02

"De Schepper, Koen (Koen)" <koen.de_schepper@alcatel-lucent.com> Sun, 29 March 2015 15:20 UTC

Return-Path: <koen.de_schepper@alcatel-lucent.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 B32331ACCE6 for <aqm@ietfa.amsl.com>; Sun, 29 Mar 2015 08:20:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.01
X-Spam-Level:
X-Spam-Status: No, score=-3.01 tagged_above=-999 required=5 tests=[BAYES_50=0.8, J_CHICKENPOX_34=0.6, J_CHICKENPOX_35=0.6, RCVD_IN_DNSWL_HI=-5, 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 mfWhiGmHjohK for <aqm@ietfa.amsl.com>; Sun, 29 Mar 2015 08:20:03 -0700 (PDT)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (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 A45581A8863 for <aqm@ietf.org>; Sun, 29 Mar 2015 08:20:03 -0700 (PDT)
Received: from fr712usmtp2.zeu.alcatel-lucent.com (unknown [135.239.2.42]) by Websense Email Security Gateway with ESMTPS id A9A8294250FAA; Sun, 29 Mar 2015 15:19:58 +0000 (GMT)
Received: from FR711WXCHHUB01.zeu.alcatel-lucent.com (fr711wxchhub01.zeu.alcatel-lucent.com [135.239.2.111]) by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id t2TFK0WI020107 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Sun, 29 Mar 2015 17:20:01 +0200
Received: from FR711WXCHMBA05.zeu.alcatel-lucent.com ([169.254.1.213]) by FR711WXCHHUB01.zeu.alcatel-lucent.com ([135.239.2.111]) with mapi id 14.03.0195.001; Sun, 29 Mar 2015 17:20:00 +0200
From: "De Schepper, Koen (Koen)" <koen.de_schepper@alcatel-lucent.com>
To: David Lang <david@lang.hm>, "Scheffenegger, Richard" <rs@netapp.com>
Thread-Topic: [aqm] think once to mark, think twice to drop: draft-ietf-aqm-ecn-benefits-02
Thread-Index: AQHQZydMeVNCFQUvlUCBL2CLzbbo950tfbgAgAGsMYCAAH0FgIAA0X+wgAAQcACAAAr6gIAAEAKAgALke2A=
Date: Sun, 29 Mar 2015 15:19:59 +0000
Message-ID: <BF6B00CC65FD2D45A326E74492B2C19FB75BB264@FR711WXCHMBA05.zeu.alcatel-lucent.com>
References: <23AFEFE3-4D93-4DD9-A22B-952C63DB9FE3@cisco.com> <BF6B00CC65FD2D45A326E74492B2C19FB75BAA82@FR711WXCHMBA05.zeu.alcatel-lucent.com> <72EE366B-05E6-454C-9E53-5054E6F9E3E3@ifi.uio.no> <55146DB9.7050501@rogers.com> <08C34E4A-DFB7-4816-92AE-2ED161799488@ifi.uio.no> <BF6B00CC65FD2D45A326E74492B2C19FB75BAFA0@FR711WXCHMBA05.zeu.alcatel-lucent.com> <alpine.DEB.2.02.1503271024550.2416@nftneq.ynat.uz> <5d58d2e21400449280173aa63069bf7a@hioexcmbx05-prd.hq.netapp.com> <alpine.DEB.2.02.1503271203080.19390@nftneq.ynat.uz>
In-Reply-To: <alpine.DEB.2.02.1503271203080.19390@nftneq.ynat.uz>
Accept-Language: nl-BE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.239.27.40]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/CBDKSYVhtolOWgDJkRT1nTIT2CI>
Cc: "aqm@ietf.org" <aqm@ietf.org>, Michael Welzl <michawe@ifi.uio.no>, "davecb@spamcop.net" <davecb@spamcop.net>
Subject: Re: [aqm] think once to mark, think twice to drop: draft-ietf-aqm-ecn-benefits-02
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: Sun, 29 Mar 2015 15:20:05 -0000

Hi David,

There seem to be some misunderstandings:

> (and marking independently of dropping does raise all the fairness
> issues that we discussed a week or so ago)
What I proposed is to add the benefits of marking differently than dropping in the AQM, more specific to apply for dropping p^2 and for marking just p. This will run fair, as Reno (and others fair to Reno) have a steady state rate that is proportional to 1/p^0.5 and many improved congestion controllers all advocate to have a rate proportional to 1/p. So marking ECN different (with squared p) than dropping allows to deploy the better 1/p schemes for marking. They can still be drop compatible (behave as reno/cubic on experiencing drop).

So the advantages I described were in the context of doing the better marking and better congestion control for marking: 

>> - low latency AND high throughput (compared to low latency OR high 
>> throughput for drop based congestion controllers)
> I think that you are overstating things when you say that without
> ECN you are forced to choose between low latency OR high throughput
I was not comparing ECN with non-ECN, but ECN+Reno and for example ECN+DCTCP.
You can have a much more frequent marking probability than dropping probability, so we should use that.
DCTCP which has a rate = 2/(p.rtt) when controlled with an AQM that calculates a p. It can have full utility with a very small buffer, as it reduces its window only with a very small amount when receiving a mark (it needs around 2 marks per RTT at steady state). If a window is halved as with reno, you need a buffer of 1 BDP, if a window is set to 70% as with cubic you still need a buffer of 43% of BDP.

>> - reduced variability in flow fairness between competing flows
>> because of the high marking rate
> This is plausable, but how unfair do things get in practice?
> Especially if you have a large number of flows so that you are
> statistically unlikely to keep picking on the same flow.
If marking is more frequent, it is indeed statistically unlikely to keep picking on the same flow even with 2 flows (no need for many flows).

>> - scalability to higher throughputs because the marking rate is 
>> independent from the throughput
> The drop rate is also independent of the throughput, so I don't
> see how this works unless you are doing statistical dropping.
In case of reno, for a specific RTT, the drop rate (rate*p) will be 1.22*p^0.5/RTT (drops become very seldom), while for DCTCP it is 2/RTT (marks always twice per RTT, independent from p).

>> Disadvantage is that congestion controllers that are optimized for 
>> drop signals cannot use ECN without experiencing high throughput
>> unfairness.
> This is being disputed heavily by others here who are saying that
> adding ECN cannot possibly cause unfairness (in either direction)
I meant that if we mark more often than dropping, flows that use ECN and are not adapted to behave different to marking will reduce their window too much which results in reduced throughput.

Hope this clarifies.

Regards,
Koen.


-----Original Message-----
From: David Lang [mailto:david@lang.hm] 
Sent: vrijdag 27 maart 2015 20:09
To: Scheffenegger, Richard
Cc: De Schepper, Koen (Koen); aqm@ietf.org; Michael Welzl; davecb@spamcop.net
Subject: RE: [aqm] think once to mark, think twice to drop: draft-ietf-aqm-ecn-benefits-02

On Fri, 27 Mar 2015, Scheffenegger, Richard wrote:

> Hi David,
>
>
>>> - low latency AND high throughput (compared to low latency OR high 
>>> throughput for drop based congestion controllers)
>>
>> I think that you are overstating things when you say that without ECN 
>> you are forced to choose between low latency OR high throughput. that 
>> doesn't match what people are reporting when they use simple fq_codel 
>> without ECN
>
>
> I disagree. At the least when you are using TCP, a drop will cause head-of-line blocking on the receiver, for at least 1 RTT; Agreed, there are ways to mitigate this (FEC-encoded transports).
>
> But the "OR" is exactly the correct description here: FEC has inheritent overhead thus reduced bandwidth, and loss-recovery suffers from head-of-line blocking, thus higher latency (to the application, where it actually matters).
>
> FQ-Codel runs with high bandwidth, but the drops induce latency in the end-hosts nevertheless...
> Thus FQ-Codel with ECN would still be more effective than without ECN.

The key thing is that we are talking about different scales here.

You are talking about a 1RTT latency that will happen if the congestion gets bad enough, while I'm looking at the effects of overbuffering that causes the effective utilization of links to be well below 50% in practice. In such a case, doing something like fq_codel without ECN will get you 90%+ of the theoretical best case and is such a massive improvement that the vast majority of the users are not going to notice any improvement from ECN marking instead of dropping.

But the discussions here have explicitly said that ECN marking happens at the same time that drops happen, so it's not a case of doing ECN instead of dropping. While ECN could be used that way, that's not what's being advocated (and marking independently of dropping does raise all the fairness issues that we discussed a week or so ago)

David Lang