Re: [tcpPrague] Prague Cwnd reduction in CWR state
"Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com> Mon, 17 August 2020 12:57 UTC
Return-Path: <olivier.tilmans@nokia-bell-labs.com>
X-Original-To: tcpprague@ietfa.amsl.com
Delivered-To: tcpprague@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0723C3A1520 for <tcpprague@ietfa.amsl.com>; Mon, 17 Aug 2020 05:57:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.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 MmBETf8yzpot for <tcpprague@ietfa.amsl.com>; Mon, 17 Aug 2020 05:57:30 -0700 (PDT)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10136.outbound.protection.outlook.com [40.107.1.136]) (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 320893A151A for <tcpprague@ietf.org>; Mon, 17 Aug 2020 05:57:29 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ltzPnKJTFxsPfXKmdepMM7k9Ky80qu5cE4l/j3VkHFANg8XWGjm6jyGf0lFPVpnZXBM20eFr0aimD1oRsJQymftowqd2zwY7Qscr8dEWYSzgH7kx4jBc3kocsic3RxhOPVsg3qhRkqEDoUdihsta8riEFZ2cTIn5OixZgujaC8bjzZIoQ612QBfy/T7+vylGEziXZQYoaA9MVJpYgJ8usPq33rpp3vZu5jY5IcRkxXAEQ6OwQi3IloTCAfHHXKbZ4KrzFQ9tKb5XwNzP9KT4BrM2dXyAVLuIocboYNEeA59Tc7F/NDjIb4h6UpUzhf+zD3tnOhQznNCuHCkO5bK/TA==
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=Vpm/AeoJd/j9o2PjTpOO8S+q/qptKS/InYKayba2bY0=; b=Op7Rz/I3rJft+ZIEyMvEFrSv87sb2q0e2KQBptJfn1hw8xviOxpfLnjj3jHMUBKmSwN6TvGznpzlgFUECDJhweCZYEfXAVghyF6/ze6PvkSRtHyP1Qx0vlXWqlqCscLvdsBVUZuUAzxKd4UCewbCnTu6btSJvw7mR67OWY3K1Tp1PGw0NlTuSRsSCEN49+aGMOwIA5MANH00oK8+8czpMKDug3lOYQfkRRxWv9aBcOOcWdyvJSObXOa83/6vyTkqd8Qpw8dmTdik/70RTVaETrfZUFUWXzyUAgiFXowmm6MaUqBgrNyjYOOFFK8NUtGbBv2XR/hHkmShpZgK38nSug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia-bell-labs.com; dmarc=pass action=none header.from=nokia-bell-labs.com; dkim=pass header.d=nokia-bell-labs.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vpm/AeoJd/j9o2PjTpOO8S+q/qptKS/InYKayba2bY0=; b=aFcQ/GKqJqSqlL++JjOMkwPyNbj6NS5DUjh5V/ALi6wb+InWeopD1v2JwklIeARMlc8gqj0p8wDP6+1L5+CMKJiRkDLOwboY32dRpklYHDq/nMZbOIFZkVjGCygVsCIfekCdupq4B2NcfOn8nWYCCBiqdVp5/z1VvH9eVymCB0o=
Received: from AM0PR07MB3937.eurprd07.prod.outlook.com (2603:10a6:208:4c::20) by AM0PR07MB5491.eurprd07.prod.outlook.com (2603:10a6:208:10b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.15; Mon, 17 Aug 2020 12:57:26 +0000
Received: from AM0PR07MB3937.eurprd07.prod.outlook.com ([fe80::45a9:c1c4:f1ff:19d2]) by AM0PR07MB3937.eurprd07.prod.outlook.com ([fe80::45a9:c1c4:f1ff:19d2%7]) with mapi id 15.20.3305.021; Mon, 17 Aug 2020 12:57:26 +0000
From: "Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com>
To: Deepak K <deepakkavoor99@gmail.com>, "tcpprague@ietf.org" <tcpprague@ietf.org>
Thread-Topic: [tcpPrague] Prague Cwnd reduction in CWR state
Thread-Index: AQHWcm4bMCcW7NbDy0mfwP7zmL+e26k8ONyg
Date: Mon, 17 Aug 2020 12:57:26 +0000
Message-ID: <AM0PR07MB393704D38093C3394C843D94E05F0@AM0PR07MB3937.eurprd07.prod.outlook.com>
References: <CAL8XqGpw0O-Yiw22vCNbAkUdS-Nu6WVaGLakiaVMLDSqnPjijw@mail.gmail.com>
In-Reply-To: <CAL8XqGpw0O-Yiw22vCNbAkUdS-Nu6WVaGLakiaVMLDSqnPjijw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nokia-bell-labs.com;
x-originating-ip: [2a02:a03f:636b:f600:586c:8730:5819:4b6c]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 63786096-e79d-487f-237e-08d842ad17a2
x-ms-traffictypediagnostic: AM0PR07MB5491:
x-microsoft-antispam-prvs: <AM0PR07MB5491235CE4C74171B896F99CE05F0@AM0PR07MB5491.eurprd07.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: Twpq650UwozLKi7Ixy0w88WRzqJos+ZWk0/PPhFt8mSogSR6ZYekMnG0jlXbM4NTOTA9GxYsUZrQSiE83KJWxxU6U6oluTq2iMaiB43WDWg7YbxrltBTkfPxXIELnAEpWCdCsRXCHzyBRWOww98zsbViRZHX5HO+F8D1GH6nDpzP2zINdccUo/EOmUfjyGeJjnIDw1pU5y7hgQWnk4PVOT7475Oq9M2t/cotx2rqceGKia2K4ArhSahTwO44ryBfKhUNUaoDUQHBHH9h36/e60TPRgY8Ny5lCFTOgc4gEhjlhmhLxLGRQstQM9H50zDnvi4j72xdCrtZOOEkem+31yBRyr8JE88fu3nywqpkBPfLz3uQxdjCmfno9pIlKhBhYc9IohdvoGJBqQa0yP8ylg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR07MB3937.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(376002)(366004)(39860400002)(346002)(66446008)(5660300002)(64756008)(66556008)(86362001)(66476007)(110136005)(66946007)(2906002)(8936002)(8676002)(76116006)(83380400001)(55016002)(52536014)(33656002)(71200400001)(7696005)(478600001)(9686003)(6506007)(316002)(186003); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: xLWixHYoOIurVytI3zU/P6ZDi+rJ/pbOlIYgFY+P5R5mFfr8v2O2DGsGgZ81BF9QxQBS9MU2GHvPbzB5417Kid2aw7KacF+BvQImNk2/UFTFkZlQPa/KA3l1i6QHqlgXzxDzt6U4hbJKcxstqw8dOEJvb8kJrfixwPe02FnQIIbPqB4EoCtuttk04lYhv10atQlq5j/Z2A073YHMYeIbRS7vZ/KfNp8T//fCEMszmPBxWL+YMisfzHgVOhikc8nl6HhpoeJvyMzOHEbDJeMDSwnElolAGN65C9I/ETaCRr1doJ5pNJ/yCA6EXdb6hJnK0XNyp8D2JjEfuDCjBJAB63XOgsU+8CgHQtlm7Af1gkL+b385GBj03W2XLmDvi90FXLnnD/fQEZj1I4O8yCEOC0QAjDGm8nUu12VYMs87MRQku7D8PaVWCAvGrMeOjK0rrwwmhT8jDPjctwaWWZP5cij+M8I70CrYZMyIUhxQGxk/zhZNEWs6kixoDFFUgO06tXblvtzUSxkPArynfR2A5bfV9+9EAFKl0eKyGvc95tqbPzv1srCoCMn4RkZXkEnzhpKEtm+hfOADfj3aNj5p4Y6q9H23EpYx/GpRpfThyyg+MYcmOCDRi6rrHCyDXtm/IIBQgVGRhTutKlSIosjXn7+QHTMa6FFF/4G4xs106Cs201O1EgtLOhUR5j8oQE0qE7zJwhLp3cwScxuMr9vq1g==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: nokia-bell-labs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM0PR07MB3937.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63786096-e79d-487f-237e-08d842ad17a2
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2020 12:57:26.5352 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YLVKOs+tNXNTi+ItE4GS05V2f8lrF+Qp9uttqiP13W6S6cdBX2NTUTXt7lAy9U54KLjlypXQ25VVGBmGEzSTB4k6b+CEe26hxvCA/w3at2gGxJIx/zms5S98hddPtGqS
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR07MB5491
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpprague/YrO16sbYWyllNXgDPP9SKFHnGug>
Subject: Re: [tcpPrague] Prague Cwnd reduction in CWR state
X-BeenThere: tcpprague@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "To coordinate implementation and standardisation of TCP Prague across platforms. TCP Prague will be an evolution of DCTCP designed to live alongside other TCP variants and derivatives." <tcpprague.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpprague>, <mailto:tcpprague-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpprague/>
List-Post: <mailto:tcpprague@ietf.org>
List-Help: <mailto:tcpprague-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpprague>, <mailto:tcpprague-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Aug 2020 12:57:32 -0000
Hi Deepak, > In the process, I came across an interesting behaviour: if the sender is in > a CWR state, the cWnd update would look something like > cWnd = cWnd - cWnd * alpha / 2 --- (1) > I noted that this is how DCTCP updates its cWnd in Linux. Not exactly. DCTCP does indeed update ssthresh to that value, but does not update cwnd immediately. Instead, the cwnd reduction is applied gradually over the next RTT through PRR. > But in the case of current Linux Prague code, the value > reduction = cWnd * alpha / 2 --- (2) > is subtracted from the cwnd_cnt variable, which sort of acts as a cushion > and reduces the cWnd over many RTTs (in prague_update_cwnd( ) ), instead of > reducing it instantaneously. As we transitioned Prague away from using the cong_avoid/ssthresh hooks and instead use the unified cong_control hook, we lost the implementation of PRR and the benefits it brings (namely: no transmission "silence" after a cwnd reduction due to a drop/mark that effectively disables fast-recovery/..., see RFC6937). This cwnd_cnt cushion is there as a stop-gap implementation; Ideally a 'full' PRR should replace it. > I would like to mention a noticeable difference resulting from the approach > taken in (2). All the following simulations were carried out in ns-3. > > While reproducing the single-flow topology from Pete Heist's scenario > (https://github.com/heistp/sce-l4s-ect1#scenario-1-one-flow : a Prague > sender, DualQ bottleneck and a Prague receiver), I decided to implement > both approaches in ns-3 to see how they differ from each other. > > For lower bottleneck bandwidths (5mbps and 50mbps in the scenarios), I > didn't observe much difference between (1) and (2), and the approach in (1) > aligned with the cWnd graphs from Linux (which I obtained separately via > namespaces). > > However, for the scenario with a higher bottleneck speed - 250mbps in > particular, the difference between (1) and the Linux approach (2) was > significant. When you compare "(1) and the Linux approach (2)", you are referring to ns3's-DCTCP model as (1) and the Linux prague code as (2) right? Does ns3 implement PRR? You could easily spot this on a cwnd graph by checking whether the reductions are smooth or not. > With (1), the cWnd was reduced by a smaller value when compared to (2), in > ns-3.This meant that (2) took more time to reach a stable value in Additive > Increase compared to (1). I also observed that cWnd reduced to a much lower > value in Linux (again, graphs obtained via namespaces) when compared with > the ns-3 plots from (1). I am not sure I understand fully that paragraph. Are all the reductions in (1) smaller than in (2)? You mention reaching a stable value, so I assume you're also speaking of the SS->AI transition? > My guess would be that in (2), since cWnd is decreased gradually, the > sender would not immediately relieve the queue of congestion, and hence > would receive few more ECE marks leading to further reduction later on when > compared to (1). Assuming your ns3 model in (1) does not have PRR, it would be interesting to compare there the behavior of DCTCP with PRR (either directly in Linux or extending ns3) to (2). It is true that smoothing the cwnd decrease over (part of) a RTT will keep some pressure in the queue (as opposed to a full quiet period where the queue fully drains in the case of a 50% halving). > > I noted this behaviour for both higher (80ms) and lower (20ms) values of > RTT, with a 250mbps bottleneck. > > Could you comment on the reason for choosing approach (2) in Linux instead > of (1)? Originally, we had to add this in to re-enable fast-recovery when facing drops. It is indeed true that this has an effect in the ECN-triggered reductions. This would probably warrant an hybrid approach, using a PRR-inspired smooth reduction in case of losses, and an instant reduction for cwnd-triggered reduction. The code is open-source, feel free to experiment with such a change. We'd be happy to merge patches if you show experiments supporting the benefits of such changes. Best, Olivier > > > Thanks.
- [tcpPrague] Prague Cwnd reduction in CWR state Deepak K
- Re: [tcpPrague] Prague Cwnd reduction in CWR state Tilmans, Olivier (Nokia - BE/Antwerp)