Re: [tsvwg] What does the low queueing delay that L4S offers actually mean for the latency experienced by an application?

"Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com> Thu, 28 March 2019 10:36 UTC

Return-Path: <olivier.tilmans@nokia-bell-labs.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A759C120482 for <tsvwg@ietfa.amsl.com>; Thu, 28 Mar 2019 03:36:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 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_DNSWL_NONE=-0.0001, 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 YC6fSaRlj6Fq for <tsvwg@ietfa.amsl.com>; Thu, 28 Mar 2019 03:35:58 -0700 (PDT)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70134.outbound.protection.outlook.com [40.107.7.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ECC6B12044C for <tsvwg@ietf.org>; Thu, 28 Mar 2019 03:35:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector2-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BL7uTDp/HulQm2tPvU/mn9NW2QLwckYCQQtQREuZoWc=; b=ioIj+wdsOD/YjpJWQVAcMHKgvjKKyoh4Wgbh8MRzbD0/6lMU4BVhuBqh1rSlUkHtXNpRrs7lWvZuB/MhYQnVZ3H6g4Rp+f71BKlu0EjTPs3AbSLUeZPZqqKDAzIMLu7pS8DBQ/Q7sULmzJrwAmTH6dqX387mvFIBzl6JrXHRFiM=
Received: from AM0PR07MB4819.eurprd07.prod.outlook.com (20.178.19.14) by AM0PR07MB5988.eurprd07.prod.outlook.com (20.178.113.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1771.6; Thu, 28 Mar 2019 10:35:55 +0000
Received: from AM0PR07MB4819.eurprd07.prod.outlook.com ([fe80::59f0:fdb8:2725:c844]) by AM0PR07MB4819.eurprd07.prod.outlook.com ([fe80::59f0:fdb8:2725:c844%4]) with mapi id 15.20.1750.014; Thu, 28 Mar 2019 10:35:55 +0000
From: "Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com>
To: Sebastian Moeller <moeller0@gmx.de>
CC: tsvwg IETF list <tsvwg@ietf.org>
Thread-Topic: [tsvwg] What does the low queueing delay that L4S offers actually mean for the latency experienced by an application?
Thread-Index: AQHU4y2IuGGGZtbrxkGob7ssemElz6Yd6xvQgAGMgICAAAyNAIAAFvIAgAAaiAA=
Date: Thu, 28 Mar 2019 10:35:54 +0000
Message-ID: <AM0PR07MB48194E5195C822DCD842C84DE0590@AM0PR07MB4819.eurprd07.prod.outlook.com>
References: <390EEF00-4CFF-4F22-8492-7D6D178756D5@gmx.de> <AM0PR07MB48199CD0EE0C27B9A6AC792FE0580@AM0PR07MB4819.eurprd07.prod.outlook.com> <91DCADC2-BB35-4CBA-9425-136D22A81538@gmx.de> <AM0PR07MB481927C4B6B3A52C62B60F74E0580@AM0PR07MB4819.eurprd07.prod.outlook.com> <38F6C2D8-38FB-417B-AF76-083388584F2E@gmx.de>
In-Reply-To: <38F6C2D8-38FB-417B-AF76-083388584F2E@gmx.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=olivier.tilmans@nokia-bell-labs.com;
x-originating-ip: [195.16.14.134]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 08245d18-4480-4ffd-d754-08d6b3692877
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:AM0PR07MB5988;
x-ms-traffictypediagnostic: AM0PR07MB5988:
x-microsoft-antispam-prvs: <AM0PR07MB59880BFA184B355567F59689E0590@AM0PR07MB5988.eurprd07.prod.outlook.com>
x-forefront-prvs: 0990C54589
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(396003)(366004)(346002)(376002)(189003)(199004)(486006)(7696005)(446003)(476003)(11346002)(68736007)(26005)(76176011)(86362001)(99286004)(102836004)(5660300002)(186003)(8936002)(316002)(6506007)(8676002)(81166006)(81156014)(66066001)(33656002)(106356001)(105586002)(3846002)(229853002)(6436002)(6916009)(53936002)(478600001)(97736004)(71190400001)(71200400001)(305945005)(7736002)(9686003)(74316002)(55016002)(256004)(4326008)(14444005)(93886005)(25786009)(6246003)(66574012)(6116002)(52536014)(14454004)(2906002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR07MB5988; H:AM0PR07MB4819.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:0;
received-spf: None (protection.outlook.com: nokia-bell-labs.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: k7CImADifY9OEtT1TcnldIiCTLR0WrbPIEP+I0mEKgRuYgUXh86gzZtwHJGIvFZ3GQ18PD29tngpCgrDi5eJaTVgvq7BF7mi1m1bzJ7gi2t3ILdGZPV+AQfRwpyQGVqcqCrbBr4RgphLQsJCpjg3u/aTFfgBGsGHfet3DdD1PgjPiwbnI8B9kuvUpSAM+e4VL03Pjy8xvaIs8W1/I4DpAnpsUFVLLlDwtayQ2XnJWs2oOrdKwhB6dSjJ9azSihKAGoNHqVkII/SQdEznEpa7FagJdoArs9XbFjxTfmeSuGTotxSqqxcfjrVozIjs+qDNJ903QJ7OXl5/pr0w3dulPJ47Z11eeTCjXOSHKXNtms7gMUm3cxyBZnK7KABX2/Dr7GLWCDefspugO1Zh0/a4mTyAv2sEFyRgj11Tuu3ZPII=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nokia-bell-labs.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08245d18-4480-4ffd-d754-08d6b3692877
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2019 10:35:55.0233 (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-Transport-CrossTenantHeadersStamped: AM0PR07MB5988
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/pqqyaTjBpvZImRIAKrvVAAd3pVA>
Subject: Re: [tsvwg] What does the low queueing delay that L4S offers actually mean for the latency experienced by an application?
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Mar 2019 10:36:10 -0000

Hi Sebastian,

> 	Fair-enough, it shows though that ultra-low queueing delay is not
> going to magically improve all applications.

Today's applications "work". Reducing queuing delays may help some of them,
but latency wasn't their limiting factor in the first place (or we wouldn't say they
work).

Providing a LL service over the public Internet however enables a new class of
applications that otherwise require dedicated/ad-hoc infrastructure.
Dynamic applications such as AR/VR, thin clients, or interactive videos are
example use-case where the content displayed to the user depends on his
action. If we don't want the user to complain about input lag, motion sickness, 
... latency as to be brought down significantly (and reliably) without sacrificing
the quality of the displayed content (e.g., going beyond wireframe/low-res).

This new service is part of the rationale why L4S' designers think it can get 
deployment traction with ISPs (as opposed to Today's status quo with 
classic ECN AQMs). Other reasons/use-cases are documented in 
draft-ietf-tsvwg-l4s-arch (e.g., using shallow buffers over high-BDP 
links--stallite--is an economic incentive, complementary to PEPs discussed in
RFC3135/RFC3449)

> 	Sorry that does not sound actually true. The encoder might have a
> better prediction about the path characteristics, but unless it uses an oracle
> that prediction might not reflect the characteristics the packets will
> encounter en-route. 

Which is why we care about the tail latencies in all tests/demos/presentations,
and not the average. Having some bounds on the feedback loop, enables to 
design systems around it. 

> But sure this is an application where reasonable low RTT
> can be useful, albeit once your RTT exceeds the inter-frame period this
> example will not be generally useful, no?

Yes, hence why having bounds on your service quality is key to optimize
its deployment (e.g., how much frame time do you allocate to the transmission
delays, the server-side rendering, ...). Currently, one can only hope that the
locations where he placed his service instances are "close-enough" to the
user (as in: we hope the ISP has reasonable queues wrt. where we deployed 
our service).

> 	Well, I would like to see how you achieve the required microsecond
> synchronization across multiple flow active at the AQM hop, on a > 20 ms
> path, in my layman's view the ACK-"clock" is not really precise enough for
> this. I am sure this works for DCTCP in the datacenter, but there RTT probably
> is < 1 ms to begin with.
>
> > In other words, past the initial window, you never send more data unless
> you
> > receive an ACK that lets you slide your sending window.
> 
> 	Sure, but if say 10 more flows start up and hit the AQM bottleneck,
> the old send timing will be wrong; my question is how long does it take to re-
> synchronize all L4S flows again to achieve the empty queue?
> 
> >
> > All data packets that traverse a given link are "spread" by the bottleneck
> ingress
> > router (i.e., they are serialized over that bottleneck link, one at a time).
> These
> > packets, even if initially sent at the same time, will now arrive at different
> times
> > to their destination (i.e., wake their corresponding TCP stacks at different
> > moments). This will results in ACKs also sent at different times (and also
> serialized
> > at different times by the bottleneck link). This will cause the next data-
> packets to
> > no longer be sent at the same time, as the ACKs allowing them to be sent
> will not
> > be received simultaneously. Note that this is an over-simplification (see
> e.g., [1,2]
> > for more thorough analyses of classic TCP and [3] for DCTCP).
> 
> 	Sure, but that just desynchronizes them, for you scheme to work
> IMHO you require more than de-phasing, you need each sender to send at
> that point in time that this packet will basically encounter an empty queue at
> the AQM

I am not certain I understand where this us synchronization requirement came
from, as we're not speaking here of TSN/detnet.

We're not requiring sender to synchronize themselves (although they eventually
will if running in a stable environment, as shown by prior research), we're directly
giving them feedback through CE marks if their packets caused the L4S queue to 
build up (typically using a 1ms step threshold). The L4S queue does not have to
 be empty, it has to contain e.g., less than 10 1500bytes packets on a 120Mbps
link. Any more than that, and the receiver will echo the CE marks when ACKing
the received burst of packets, causing the sender to backoff linearly wrt. the 
number of marks when sending its next burst.
Senders are also required to backoff if they take more than fair share of BW,
i.e., if they receive the random marks due to the buildup of the classic queue.

> again I am not sure how this is going to work over a partially
> congested 20ms+ link. If you could point me to data showing how L4S deals
> with this (preferable gracefully, I hope) I would be thankful.

The throughput you get over a  network path with a "partially congested link"
is the available BW over the most congested link/the one with the smallest rate.
This where the AQM has to be (and is usually the access link).
It is true that converging with 20ms is slower than with 1ms (i.e., DCTCP 
currently end up under-utilizing the link for flows lasting only a few packets, see 
draft-ietf-tsvwg-ecn-l4s-id §A.2.3). 

> BTW, the cited DCTCP paper says "While DCTCP converges slower than TCP,
> we found that its convergence rate is no more than a factor 1.4 slower than
> TCP." while I believe that L4S would need something that converges faster
> than TCP if ultra-low queueing delay is to be achieved reliably and robustly; I
> guess I am still missing something...

This is a known limitation with DCTCP indeed.
See draft-ietf-tsvwg-ecn-l4s-id §A.2.3 The main challenge there is properly 
estimating the bottleneck BW without overshooting (i.e., building up a 
queue).

The key here is that the slower convergence causes under-utilization, not 
queue buildup (cfr. DCTCP stability analysis).


Best,
Olivier