Re: [iccrg] [EXTERNAL] Re: AIMD versus AIAD

Praveen Balasubramanian <pravb@microsoft.com> Fri, 20 November 2020 17:45 UTC

Return-Path: <pravb@microsoft.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 40DA23A0BA3 for <iccrg@ietfa.amsl.com>; Fri, 20 Nov 2020 09:45:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1
X-Spam-Level:
X-Spam-Status: No, score=-1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URI_DOTEDU_ENTITY=1] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
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 xly_J_catvYP for <iccrg@ietfa.amsl.com>; Fri, 20 Nov 2020 09:45:05 -0800 (PST)
Received: from NAM06-BL2-obe.outbound.protection.outlook.com (mail-eopbgr650104.outbound.protection.outlook.com [40.107.65.104]) (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 77D493A0A50 for <iccrg@irtf.org>; Fri, 20 Nov 2020 09:45:05 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D8PYyDseU+PoQ4+3cXFwGgD3db9uiUedQIbA+uSqAjkR8fi/ash4nSMWT9gcjFnad0g3oKycebLC9EouR2XwRTWT+Tto0hDQ78ya41VaaAN/gpm1MRu3KYPbH2Ku8cnR56BXDfV3e+CPbzCFOffH0WRAvF/PhbkRYEmBMAAhEruSFs63pTnDt3U7I8gPyR7LYQDVLayDIqgBHozFDxGCEZezfoynrom9kwP6gqmrbfhpwAWM9yW43LS0YZq9Ok2QcEx+TVIfz/os5xTdq97HF3ElL5LX0SuzynrDISCNdpYCdPzOTuqHLlQUKKpAZABII6ioeE957Fpumzp48YepEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aH8laFkKNtJoCkL3luCIwpAehEHU+5uXmqH4/eZE+Yo=; b=XQj6NjLlmNHUmYSKM/LvrnbOHap5YBG3VJVjo4omBrhMHQwVgbGoRcvafM6tFiEaribDgDU+Gn8AiSgPd+gyCpOWf3QNtBSNO3Q+D33sfT06gXK2iyLHn+S2tc5g5YPgI8mYSOaLKO1q0J/MFbfTIaLn4LzpXysP1ZxTg1VzuCOYD7Zv+h47Y5RwXMhVsD+gCZ3dedchNaSGgojMrB9pLlk5thFERcuX1GpZH7ujLT32GZwnWXa88TTP0IZJUr+NnSCqdaimRiW2C6+tndVUK2xhGEU/oQJg9NomZnO2AZzBA+sq47oNxxy0uyE0Rxb8W3TuwG6W/xmHqFcwmf/5Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aH8laFkKNtJoCkL3luCIwpAehEHU+5uXmqH4/eZE+Yo=; b=FIPZNmMdjnqLPTHSBTBwf+BxiJ95QAMhUFwAGu3m9PHlgxWz9KuaIhy3oeqUHTU88oqmhfFpUa+VAycZuk7tPnrvGL7aMx+m4d/GJ8oHURVBZoxGGI+9g5n+XJPqgnnbmy0Utfj5ECF/4jqxz9rkGHhxaa6hMj18/dPbpj8mZx4=
Received: from (2603:10b6:5:166::18) by DM6PR00MB0713.namprd00.prod.outlook.com (2603:10b6:5:21c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3629.0; Fri, 20 Nov 2020 17:45:03 +0000
Received: from DM6PR00MB0633.namprd00.prod.outlook.com ([fe80::c102:dbde:b6e0:48ff]) by DM6PR00MB0633.namprd00.prod.outlook.com ([fe80::c102:dbde:b6e0:48ff%4]) with mapi id 15.20.3633.000; Fri, 20 Nov 2020 17:45:03 +0000
From: Praveen Balasubramanian <pravb@microsoft.com>
To: "in@bobbriscoe.net" <in@bobbriscoe.net>, "chromatix99@gmail.com" <chromatix99@gmail.com>, "jri.ietf@gmail.com" <jri.ietf@gmail.com>
CC: "iccrg@irtf.org" <iccrg@irtf.org>
Thread-Topic: [EXTERNAL] Re: [iccrg] AIMD versus AIAD
Thread-Index: AQHWvxMuasRLF+eMMUWnvoxpNXgB/qnQrjyAgACNDQCAAA+McA==
Date: Fri, 20 Nov 2020 17:45:03 +0000
Message-ID: <DM6PR00MB06333218E573FF9E5CA2AB2EB6FF9@DM6PR00MB0633.namprd00.prod.outlook.com>
References: <5026FF59-8D58-4E7A-9026-42CE387E934D@gmail.com> <CACpbDccGRCdW1+mF3UHFdF6D8bA46jeczeTx24vJ1a7Z8ZbvJw@mail.gmail.com> <3D3105D1-7BDB-4348-B962-9FCC1E00ED7B@gmail.com> <34c88295-2f3a-205a-a691-d886704100d6@bobbriscoe.net>
In-Reply-To: <34c88295-2f3a-205a-a691-d886704100d6@bobbriscoe.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=785d5060-93db-4817-b81d-dc31fdf0a2c5; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-11-20T17:42:18Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
authentication-results: bobbriscoe.net; dkim=none (message not signed) header.d=none;bobbriscoe.net; dmarc=none action=none header.from=microsoft.com;
x-originating-ip: [2001:4898:80e8:7:95d1:3f73:f682:d302]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 9a6a82bd-a6e6-4899-1bdb-08d88d7c02c2
x-ms-traffictypediagnostic: DM6PR00MB0713:
x-microsoft-antispam-prvs: <DM6PR00MB07135D5B37DA7FDF62B46D32B6FF9@DM6PR00MB0713.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: p474zPbtMRHDCVQVO7CZEbv1gm/ziZD/hUYVJV7dzKs6GP0EHSV+8+dDNnpGWHA2wa4/y/cu0R2rdcv1iIBrA5RMzNfB0O0TEtCP58WWmt8N3Kd3w/ZpmDpvx14hr52McBQtTf1FTOxeEQHYwsAxJn1mso6sSblZPTsxpVuYjtiz0cC6PasM0jYvlU0kAvDIKErInnAbBXjdi6NF7Vo6qc6A654UM+TJHMWBOoBLpCmiaHd14DQbbInuMTmOOhuo6TI6g1it96mOyUiKnEBj7KG9r7vW0sQV0r0FuX3xpxdz4gibBoq6GuX6u30kF2nkHFpVr9Ee01751qmcXpa/x3lNKj3v9a4aUIyFTGO6QDjFkIm9RlXkUM6G+kaX+b/3Flhn1oMi6v86sDecmi4iqA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR00MB0633.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(366004)(396003)(166002)(7696005)(8936002)(110136005)(8676002)(82960400001)(2906002)(82950400001)(4326008)(53546011)(71200400001)(6506007)(186003)(966005)(9686003)(86362001)(33656002)(83380400001)(316002)(55016002)(66946007)(10290500003)(66446008)(52536014)(64756008)(478600001)(66556008)(76116006)(8990500004)(5660300002)(66476007); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: 5xx+C6CWCXmpTbEIW5Q6Kdf2tD89YfGlvj6UNZ1BkdUGWrhThmGqjftVkIWgCkJD3jEzblB31hmcCSXGX7fqYyCt+nB/va5pvx9H5PrlOJZob39Cveygtu7hDgZPkH9tD25g21Yu686mltYgZEJrpr2ITlvSEdCLgHodfePNLp/Tv6bxPlx7pWMrgOByWVPSq5rsToz1P4qujDmAucfzeIBWC2NqNg9bPL9tL4ugQfVbXyJqRwx9/97XoM/CJmhKB/5DAlg51rUPXnvneXnEWl3M8VhRweMxxlieFEEJeUyJFnt+EuNDN0g2nTc4yAKzwfeo39v2lb61XNwQmttNE+1ZlXHog0xFIUbG04F1Q7zVkgjKpd1XvpXWkRGfK6OWxREM18JXeTmUS63Q+nceIBPdG64lJ4u3oPTDeulBFgm79ivYgqVuJ1zXqqR9a3IQY0BDw0qHnkDjZGqATyIRmDIQn93ylRiC81w3B67iZWtcE5Tr+zOgMZODjppmczBX7ztAI/HSrxn3h1mmlXEOQMyoLxUkgwkNAZLgcuWCUDZbhKV87uqZ68vRXUBCdwBxCg+HdTRaRAoKJfjfEd6o+3EieuXxNoVKuGiHYd2cvvEW/51GKIBb6PcjBomGEpKtnhQUdAlNnmZkApnO5CNz8XB2iZfpVIHGFYnkiC9F5CT6GSjEGpKsy1M9ZeyISuyqCjqppdbBbCVY3s0oh2zS4RVG3nP8YoZaDlHzPPGU3QOaQ7p56VLmhXDeV90f9+x03GXnys2lmzEvGIGQlGJtmQVlSLcsqO7OKzLXErjdX0A+KIxkUq8wT4tCXCChHlObI5RausOjl4j1SFsSaa8M+PWNv0a48OsQU4w+1iuqtFhy9WAv5jro7scRDFHNObFjLyYt1+cI0vAL0V23tS78T6IAxiQJ2QU0rsYYaGtfbfyZPjcORceXiuHZL3JxUnjq68li6Cfxf1+2NswHffUPuE3e6tFOXpaY/QCOTcWO1iog5rkO74GTNXUwYg43jwzBMeXf87FhqrpS6AWH62VDmCfPN1z5bxMh1PNDQJ4Po70=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_DM6PR00MB06333218E573FF9E5CA2AB2EB6FF9DM6PR00MB0633namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR00MB0633.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a6a82bd-a6e6-4899-1bdb-08d88d7c02c2
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2020 17:45:03.3122 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: NOwaDXxIDUFbi0VWq8Ar6tau1AOC1Ic6xhzwBXxOljWsaKwiaxsQ/D7o+6g9kg1IRoY1QXsKUthZm2IKVPDtypwNDTIRzWvwUKuvdZX4vk8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR00MB0713
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/uvSwx-ttLCKdJ180K0oyuJ8ayK8>
Subject: Re: [iccrg] [EXTERNAL] Re: 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 17:45:07 -0000

Correct DCTCP as sepc’ed does multiplicative decrease, but based on the extent of congestion. The fluid model is not implemented in Linux or Windows  AFAIK.

From RFC 8257:
   Just as specified in [RFC3168], DCTCP does not react to congestion
   indications more than once for every window of data.  The setting of
   the CWR bit is also as per [RFC3168].  This is required for
   interoperation with classic ECN receivers due to potential
   misconfigurations.


From: iccrg <iccrg-bounces@irtf.org> On Behalf Of Bob Briscoe
Sent: Friday, November 20, 2020 8:47 AM
To: Jonathan Morton <chromatix99@gmail.com>; Jana Iyengar <jri.ietf@gmail.com>
Cc: iccrg IRTF list <iccrg@irtf.org>
Subject: [EXTERNAL] Re: [iccrg] AIMD versus AIAD

Jonathan,
On 20/11/2020 08:21, Jonathan Morton wrote:

On 20 Nov, 2020, at 9:59 am, Jana Iyengar <jri.ietf@gmail.com><mailto:jri.ietf@gmail.com> wrote:



This goes all the way back to Chiu and Jain.



I see in that paper that a primitive type of AQM signalling is described - one that is only capable of sending one signal per "time slot", possibly an abstract representation of RTT.  This has a fairly obvious lineage to RFC-3168 ECN, which is also capable of handling only one congestion signal per RTT.  Under these conditions, an MD response to that singular signal is the only one that is correct.

[BB] In addition to the other corrections that people have already given later in this thread, it's also not necessarily correct that a step can only give one signal per RTT. I'm not a fan of a step threshold (see below for why), but it can provide a higher fidelity ECN signal when there's a mix of long and short flows, which was the use-case it was designed for. Then the intensity of short flows combined with the increases of the long flows that are smaller and slower in comparison determines the percentage of marking in any one round.

This was the point I made in the DCTCP tutorial part of my talk this morning about how one or many DCTCPs leave headroom /under/ the marking threshold for the recent pattern of short flows or bursts. This is because each of their reductions depends on their memory of what the marking probability was during recent rounds (held in their EWMA).

However, note that, as the EWMA dies away, DCTCP does not pointlessly keep reducing if there are no actual congestion signals. Altho it continues to decay the EWMA, it does not /use/ it unless it sees an actual mark echoed.

This has parallels to the way CoDel's control law holds memory of the next drop, and how CoDel's filtered max enables or disables use of that memory. For similar reasons, of course.








With high-fidelity congestion signalling applied to DCTCP (or TCP Prague), that same single Congestion Experienced signal, issued once per RTT, produces a very different response.  It only subtracts a constant from the cwnd, instead of reducing it to some fraction.  That is clearly consistent with the Additive Decrease formula in the Chiu/Jain paper.

[BB] I've noticed before that you believe DCTCP subtracts an amount from cwnd on every marked packet. This is also not the case.

a) DCTCP does not apply a reduction on /each/ echoed mark. It applies one reduction per RTT, then goes into CWR state, which suppresses any further reduction for an RTT. It then does no further reduction until a subsequent mark is echoed, which triggers the next reduction, but based on the most recently computed value of the EWMA (alpha).

I drew the process for the DCTCP tutorial I gave this morning. But I relegated the picture of DCTCP's two independent event cycles to the spare slides, in the interests of time. You'll need to read slide 6 then slide 20.
    https://datatracker.ietf.org/meeting/109/materials/slides-109-iccrg-prague-congestion-control-00#page=20<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fmeeting%2F109%2Fmaterials%2Fslides-109-iccrg-prague-congestion-control-00%23page%3D20&data=04%7C01%7Cpravb%40microsoft.com%7Cf8402ca5aded4025e53408d88d73e3a9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637414876770053794%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vURaGPBpLHY%2BczR5dSHD1rJaXE1Ii7Y5OiEbwh2lAz0%3D&reserved=0>

b) There is a description of an idea for reducing cwnd a little on each CE mark in section 5.2 of [DCTCP-stability]<https://nam06.safelinks.protection.outlook.com/?url=https:%2F%2Fweb.stanford.edu%2F~balaji%2Fpapers%2F11analysisof.pdf%23page%3D11&data=04%7C01%7Cpravb%40microsoft.com%7Cf8402ca5aded4025e53408d88d73e3a9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637414876770063787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PnPnpSrcjTh1soS8bi5QjWSk1tPRXtbhiIbGBXDz7jc%3D&reserved=0>, but it is /not/ how the Linux implementation works, nor the Windows implementation (assuming Windows DCTCP works as RFC8257 says it does). There were attempts to do the reduction this way in Linux, and we've tried it as well, but it is hard to stabilize. Nonetheless, I'd dearly like to get something similar to this per-ACK approach to be more stable - I actually started revisiting it last week.

c) If DCTCP were to reduce cwnd a little on each echoed CE mark, if it used the approach in [DCTCP-stability], it would not subtract a small constant. It would subtract alpha / 2 segments per echoed mark. And importantly alpha is a /measured variable/, not a constant. Otherwise it would not be extent based cwnd reduction.

d) You might be confusing DCTCP with Relentless TCP, which subtracts 1/2 a segment per echoed loss or mark. But Relentless doesn't do any smoothing of the congestion signals itself (no EWMA), unlike DCTCP and Prague.


[DCTCP-stability] Alizadeh, M., Javanmard, A., and B. Prabhakar, "Analysis of DCTCP: Stability, Convergence, and Fairness", ACM SIGMETRICS 2011 , June 2011








The added capability of high-fidelity congestion feedback is that there can now be *more than one* congestion signal per RTT.  But it means that O(N) signals must be issued by the network in order to reduce cwnd by an O(N) factor.  Each signal only produces an O(1) response.

[BB] As I said when you raised your point in iccrg today, repeated addition or subtraction is a multiply. The more subtle point here is that repeating a subtraction only on a marked packet, effectively multiplies by the marking probability. For instance, comparing these two:
* Repeatedly subtracting 1/2 from W on each ACK'd packet roughly results in W - W*(1/2) after one window of subtractions,
    which is the product (1 - 1/2)*W
* Repeatedly subtracting 1/2 from W on each _echoed marked packet_ results in W - p*W*(1/2) after one window of subtractions.
    because if the probability of marking over the last round was p, by definition there are p*W marks in the window.
    so over one round W evolves to the product (1 - p/2)*W




Bob






Regardless of whether you accept the above argument, there is a clear qualitative difference between the conventional AIMD response and that of DCTCP, which needs accurate terminology to describe.  That is my point here.



 - Jonathan Morton

_______________________________________________

iccrg mailing list

iccrg@irtf.org<mailto:iccrg@irtf.org>

https://www.irtf.org/mailman/listinfo/iccrg<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.irtf.org%2Fmailman%2Flistinfo%2Ficcrg&data=04%7C01%7Cpravb%40microsoft.com%7Cf8402ca5aded4025e53408d88d73e3a9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637414876770063787%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=dT2MQrq7mmplsbJ3tcy9xw6KIfGyzi8d9syp%2BfN8bYY%3D&reserved=0>



--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbobbriscoe.net%2F&data=04%7C01%7Cpravb%40microsoft.com%7Cf8402ca5aded4025e53408d88d73e3a9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637414876770073776%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=h5fPjKHoMVTZ8HreuVbiObp6%2FU0gm4jlY8fVPAvcF%2FY%3D&reserved=0>

               PRIVILEGED AND CONFIDENTIAL