Re: [tcpPrague] A Congestion Control Independent L4S Scheduler - TCP Prague preliminary results

"Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com> Thu, 05 November 2020 11:09 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 0E9C53A1781 for <tcpprague@ietfa.amsl.com>; Thu, 5 Nov 2020 03:09:54 -0800 (PST)
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 E0uQJ0NygBmF for <tcpprague@ietfa.amsl.com>; Thu, 5 Nov 2020 03:09:52 -0800 (PST)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60099.outbound.protection.outlook.com [40.107.6.99]) (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 120CE3A1769 for <tcpprague@ietf.org>; Thu, 5 Nov 2020 03:09:51 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qgwo/h1E4QI9JDo7k7C2F6JEomKSh4NvX/yHEbRwQm6NFFaR9vShFvuMNEG2ZHAoxAGE2lTBjSIpf7zugH17/5ra/SEV5tFcNVQpT7LaEzETg5BCb7Y4dOEKXST3K3B+tmsyZVEUmBsbjXq/V98Ft8Z58h2h1I4usqHJFkp32asFEmTFYDsnqgcSjkct/8RNUY6DyZisArR1uW/vnzUuxIRLp6ClpU/3zZA1c8ReL/xEkbkpfeqTj2EQcBma4J5M6QhYRZir3n2DBJJwQkmQ6gvzhL3PaSUVKW5kV8AqjdLbqEPn4kT7GCgeOzv6gcHFcCGRsGhTPcysOSfoWyZWHw==
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=/3BrNMXNxl/lG2xFsqTMS2mVB/wHIdyxvuMwR3PYjx4=; b=NcWT5wOcqExjwda+Gp7UA4qO2+vTsMX9IUPL/wgBXKWd6vNYW/j0HJ6rgVxQ+jrhYSmcBrgvd7n9OkcqdFvNNJb5ET69Ut/CRWcXMySwdBkLa4vtcFSaAGrwZdE3Z+MHGT0DkRUNCDsVXDe9z76+zwpeS95NgFaHLmb7XxRrDUJ0vfQhm4DAYVyCpKV+sbdwDl6qebJB2aA169aapMts/RDv7VfsTcsHGdSk7XFV7fzPxzbB/NLU/dxnjSZ64w9c2Q2zOruD20rLh2rEUesTq53sSl/i1Ii3HbpXe4hsN8F5jyUvaqGLmSdfKCHaVh6MFWtscsBpPg+wKvrfbuSW+A==
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=/3BrNMXNxl/lG2xFsqTMS2mVB/wHIdyxvuMwR3PYjx4=; b=zXWXNi0lEhXX3GgSEjaYxtf6fnLnbh9YLdg1jOo1L9idFoHm1Yql/cKqw7Wfe1Q6zQQgaKh3o4HMI8jD3HAEQJR5Ts37Fxf4F3jmk5+pk59v8hnT1WdtCFJULZc3yxsK+W5v90gCdxn0BO+V0gpVwATf/R7Qhbf68HqC7lv+MZI=
Received: from VI1PR0701MB2464.eurprd07.prod.outlook.com (2603:10a6:800:64::12) by VI1PR0702MB3565.eurprd07.prod.outlook.com (2603:10a6:803:d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.13; Thu, 5 Nov 2020 11:09:49 +0000
Received: from VI1PR0701MB2464.eurprd07.prod.outlook.com ([fe80::147a:b335:dc08:a938]) by VI1PR0701MB2464.eurprd07.prod.outlook.com ([fe80::147a:b335:dc08:a938%5]) with mapi id 15.20.3564.013; Thu, 5 Nov 2020 11:09:49 +0000
From: "Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com>
To: Szilveszter Nadas <Szilveszter.Nadas=40ericsson.com@dmarc.ietf.org>, "tcpprague@ietf.org" <tcpprague@ietf.org>
CC: Ferenc Fejes <fejes@inf.elte.hu>, Gombos Gergo <ggombos@inf.elte.hu>, LAKI Sandor <lakis@inf.elte.hu>
Thread-Topic: [tcpPrague] A Congestion Control Independent L4S Scheduler - TCP Prague preliminary results
Thread-Index: AdayBknBddpo1c1ATr20xSsm+1eksgBWJt2g
Date: Thu, 5 Nov 2020 11:09:48 +0000
Message-ID: <VI1PR0701MB24649CFE4772342B9492068FE0EE0@VI1PR0701MB2464.eurprd07.prod.outlook.com>
References: <AM0PR07MB39533753D400A496BD46CB588B110@AM0PR07MB3953.eurprd07.prod.outlook.com>
In-Reply-To: <AM0PR07MB39533753D400A496BD46CB588B110@AM0PR07MB3953.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; dmarc=none action=none header.from=nokia-bell-labs.com;
x-originating-ip: [2a02:a03f:636b:f600:3986:7cc4:5893:2315]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 7576d6b2-2a0b-4bcb-8621-08d8817b4faa
x-ms-traffictypediagnostic: VI1PR0702MB3565:
x-microsoft-antispam-prvs: <VI1PR0702MB3565AFADB460500778552BE0E0EE0@VI1PR0702MB3565.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 2YnzI7utmEf/ZTro26T8HZo8IPxIUVR6FAVB0lk4YgaBpg/0Nx8oAVIGzUzaJNcnJl5j2ks5f+SQrz69hBH4/1jA53/mZGn7UbsySa2dwVKy01gUXf0urdnEM4+u9WAJoL/pIEvPey6Z3AhcACvSUPpmny4Ir065ccScLiRna0worPzr2kZcLYtVNd0Bf7rQ0daB7gx7GBU3Rq/SCwPhP1TlLLeb9J7pXXEZUe6u+rcAVZW5MaQB7bdDZQnM9Ff3sssJTcfJWJfzj+vRV82a8Za/sQdpFvdB0yruTnzBhXTRh20jhW5pPkh0qyh8rCw1czPxhg2J9gMY0NfVsGqj3Q==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR0701MB2464.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(376002)(396003)(346002)(136003)(366004)(9686003)(86362001)(55016002)(71200400001)(186003)(66556008)(66476007)(110136005)(478600001)(54906003)(7696005)(8936002)(33656002)(66446008)(66946007)(52536014)(64756008)(76116006)(2906002)(6506007)(8676002)(4326008)(5660300002)(83380400001)(316002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: JdKEfLV9uH5kKZjl2F6hjS55gEZPIDlzNtT0GivKYHDwwfDhgFCrfsbNfprxno7dJaM9MGIpidTkpUtJril+a4vApTVmXkcKzveZ1vF2uDmYmB1TTxLzs0DVEvR/SBDCVGBxIWpPuZsPFNlq6RPKacA6nEFuFFPrc8LMvN+7KFAE0mRAS+MG8NqG4PBJtfJtp9wjE7O36oi70CRrnXdofMUAiUnYZF9TL1CPsLkEweQtlu+GgOXoiqRV4p04IGQCuNRIVmez/j0m3wAJHoaIpUP9VrJII2i2dLCAC57OgFH84lzqPgxL6lzlD0WPDROiS41YTa4A9n5+mGNuq9jcYp0tBATy2MwS1QLiryOYZyAvtY7slgy/AJ2jnX5pizK1fHNHznf7Eh7vEMbQV8hdWeCT291rEPGR4o1MJYbQvPqV4n+mcNLoQvf7vPg62IpV7wzUqiw2F9Wol1IWjnN5YvPa6KoRroEXINMFQwuPhkOLxPn6xY/s9e4rYEBxaLnxoztu8Qjm7UoUhyFYPXZUMkPdmK9oJz2XlFtXA4d4lvlBHiFnZjG2jpxQ6PyQYIg0aJ5P6d9uZDB7ZkQfwYuHPJp50M7KWMGBgFQWnCIUKeiPfNS/GC1Llr+tdwThYnBxKkNlbocDPxuOsYgf6Lu3iofJzHkh34mKLGPzzaE+u1IawFa+B/+Ht6KAXDfMqrRDXPD76bO8rPUCBEpTzfF2Bg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nokia-bell-labs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: VI1PR0701MB2464.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7576d6b2-2a0b-4bcb-8621-08d8817b4faa
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2020 11:09:48.8731 (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: gcv7dFOTxgJOuxf6ldOJz9o/TyN9dh06G9Kui5b+bXkYi67buVrFREaPlJL/qUcRpAr8YjMD7wACi2Ks4XBYVyep0xPCYgaoViDhS4wU+xXZUMKodAy11qvhLdnLg0ne
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0702MB3565
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpprague/G_OKa6BpH-csFGlSxaks4TuKGhM>
Subject: Re: [tcpPrague] A Congestion Control Independent L4S Scheduler - TCP Prague preliminary results
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: Thu, 05 Nov 2020 11:10:00 -0000

Hi Szilveszter,

 
 > The results are at the below link. We are somewhat surprised by much
 > increased aggressiveness of TCP Prague. Can you comment on it? The settings
 > and setup we used are described in the pdf (and in the original article).

Thanks for sharing these.

* Short answer:
DCTCP actively hurts itself, tripping the step AQM unnecessarily.
This is mostly benign in DC environments due to the almost non
existent RTT, and small cwnd, but causes observable performance hits elsewhere.
Prague implements fixes for these issues.

* Long answer:
Please find below the main changes from dctcp to prague. The intuition
behind these is to avoid triggering the step AQM part of the dual queue
when there is classic traffic, or limit the extent of the received marks.
The first goal ensure that, when there is classic traffic, prague only
receives marks from the coupled PI2 component, which are strong enough on
their own to keep the L4S queue empty most of the time. Additionally
getting marks from the step AQM means that prague is hurting itself, as
it will reduce more than necessary. The second goal ensures that prague
does not unnecessarily drive the AQM (either PI2 or the step) to
high-marking rate; again because it will hurts its throughput and also
because it will create a standing queue.

Note that depending on your experimental setups, not all the below factors
will contribute.

1. Prague is always paced, regardless of the egress qdisc on the data sender,
   and paces itself at 100% of the estimated BDP.
	DCTCP is only paced when used in combination with fq, and paces at 120%
	of the BDP when that is the case.
2. Prague actively limits its gso bursts (defaults to 250us)
	DCTCP uses Linux defaults, 1ms
3. Prague implements a more accurate internal marking estimate (alpha)
	DCTCP, especially when operating with low marking probabilities, will
	tend to push down alpha to 0, delaying its response to marks (and thus
	increasing queue pressure/causing larger reduction down the line)
4. Prague carry over sub-cwnd reduction, such that multiple marks in a row
   occurring at low overall probability will eventually cause a cwnd reduction
	DCTCP's cwnd reduction code has no memory, i.e., as long as alpha is
	low enough compared to cwnd, no cwnd reduction will ever occur. This
	again drives the aqm to larger mark probabilities.

All of these points contribute to prague being more gentle towards the queue,
and more reactive to the received marks (i.e., achieving a lower overall
marking level)--the direct effect being smaller cwnd reduction (thus sawtooth)
than DCTP, which is critical when operating at higher e2e RTTs with a shallow
queue since it lowers the time to recovery.

Additionally, when operating over a long RTT path and controlling by PI2 (i.e.,
random marking, such that it receives marks almost every RTT--as opposed to a
step where it receives nothing for several RTTs and then a RTT with most of the
packets being marked), DCTCP suffers from the inaccurate/memoryless computations
in 3./4. and its interactions with Linux's PRR code (which prague does not use),
which can prevent it from ever reaching its expected rate.

I hope this helps to understand a bit better why prague appears to be more
aggressive--it is actually the opposite: dctcp systematically hurts itself
at longer base RTT, hence progressively give way as the RTT increases.
You can validate this by observing that the expected rate ratios between
classic flows and prague over the dualQ match the theoretical equations
(compounding the queue delay difference) even that higher base RTTs, which
is not the case for DCTCP.


Best,
Olivier