Re: [iccrg] AIMD versus AIAD

daihuichen <daihuichen@huawei.com> Fri, 20 November 2020 08:07 UTC

Return-Path: <daihuichen@huawei.com>
X-Original-To: iccrg@ietfa.amsl.com
Delivered-To: iccrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DB5F93A1A31 for <iccrg@ietfa.amsl.com>; Fri, 20 Nov 2020 00:07:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 WpIIQzgNtDUj for <iccrg@ietfa.amsl.com>; Fri, 20 Nov 2020 00:07:13 -0800 (PST)
Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE4003A1A36 for <iccrg@irtf.org>; Fri, 20 Nov 2020 00:06:50 -0800 (PST)
Received: from dggeme754-chm.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4CcpzD1jK1zXnTf for <iccrg@irtf.org>; Fri, 20 Nov 2020 16:06:32 +0800 (CST)
Received: from dggeme754-chm.china.huawei.com (10.3.19.100) by dggeme754-chm.china.huawei.com (10.3.19.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1913.5; Fri, 20 Nov 2020 16:06:45 +0800
Received: from dggeme754-chm.china.huawei.com ([10.6.80.77]) by dggeme754-chm.china.huawei.com ([10.6.80.77]) with mapi id 15.01.1913.007; Fri, 20 Nov 2020 16:06:45 +0800
From: daihuichen <daihuichen@huawei.com>
To: Jonathan Morton <chromatix99@gmail.com>, iccrg IRTF list <iccrg@irtf.org>
Thread-Topic: [iccrg] AIMD versus AIAD
Thread-Index: AQHWvxEezShIrHYJt0+8k6Jy57kcg6nQpm9Q
Date: Fri, 20 Nov 2020 08:06:45 +0000
Message-ID: <ecedbac6fb9d4c52a6006426f09e51eb@huawei.com>
References: <5026FF59-8D58-4E7A-9026-42CE387E934D@gmail.com>
In-Reply-To: <5026FF59-8D58-4E7A-9026-42CE387E934D@gmail.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.110.47.250]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/WnaqELghr17yOBTh2slp3ZG_i8w>
Subject: Re: [iccrg] AIMD versus AIAD
X-BeenThere: iccrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussions of Internet Congestion Control Research Group \(ICCRG\)" <iccrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/iccrg>, <mailto:iccrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iccrg/>
List-Post: <mailto:iccrg@irtf.org>
List-Help: <mailto:iccrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/iccrg>, <mailto:iccrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Nov 2020 08:07:15 -0000

Hello Jonathan,

I believe that subtracting half a segment from the cwnd upon a CE mark is still MD, 'cause we need to look at it from an RTT granularity.

I presented a congestion control algorithm in the last IEFT meeting, tsvwg, where I subtract beta (a parameter in unit of segment size, e.g., 0.5, 0.25) from cwnd once an ECE flag is received,
and increase cwnd by alpha/cw (alpha is also a parameter in unit of segment size, typically 1) if the ACK does not carry an ECE flag.
I referred to this operation "per-packet AIMD".

If you are interested you can find the draft and slides here:
https://www.ietf.org/id/draft-dai-tsvwg-pfc-free-congestion-control-00.txt
https://www.ietf.org/proceedings/108/slides/slides-108-tsvwg-sessb-82-pfc-free-low-delay-control-protocol-00


The cwnd update rule is simply as follows:

   if ECN-Echo = 0, cw = cw + alpha/cw
   if ECN-Echo = 1, cw = cw - beta
   where alpha and beta are constants, and cw >= 1 (0 < alpha, beta <=1).

Best,
/Huichen Dai


-----Original Message-----
From: iccrg [mailto:iccrg-bounces@irtf.org] On Behalf Of Jonathan Morton
Sent: Friday, November 20, 2020 3:45 PM
To: iccrg IRTF list <iccrg@irtf.org>
Subject: [iccrg] AIMD versus AIAD

At the end of today's session, I had the opportunity to highlight the central feature of TCP Prague, inherited from DCTCP, which is the change in response to a CE mark (additive instead of multiplicative).  The response from the presenters (Bob & Koen) indicated that we need to clarify some terminology before the discussion can begin in earnest.

Specifically:  what is Multiplicative Decrease, and what is Additive Decrease, and which one does TCP Prague use?

It is well established that NewReno and CUBIC are AIMD algorithms, indeed Reno was the original AIMD CC.  A single packet loss or CE mark causes the cwnd to reduce to some fixed fraction of its previous value within one RTT of the congestion signal being recognised.  Or, mathematically:

MD:  O(1) signals causes O(N) reduction in cwnd.

Conversely, looking at DCTCP and ignoring the low-pass filters which disappear in the long run, each CE mark causes half a segment to be subtracted from the cwnd.  This is classic Additive Decrease.  There is still (barring implementation bugs) a Multiplicative Decrease response to packet loss.  So, distilling:

AD:  O(1) signals causes O(1) reduction in cwnd; to get O(N) reduction requires O(N) distinct signals.

The above is true regardless of how closely spaced the congestion signals are.  With precise feedback of CE marks, you can successfully register a mark on every data packet during a whole RTT and obtain, effectively, a multiplicative decrease - but that does not make the response MD, because the response to a *single* CE mark is O(1) segments.

 - Jonathan Morton
_______________________________________________
iccrg mailing list
iccrg@irtf.org
https://www.irtf.org/mailman/listinfo/iccrg