RE: Updated DATAGRAM -03 draft

Ingemar Johansson S <ingemar.s.johansson@ericsson.com> Wed, 17 July 2019 06:31 UTC

Return-Path: <ingemar.s.johansson@ericsson.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8119D12006D for <quic@ietfa.amsl.com>; Tue, 16 Jul 2019 23:31:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 CNhXbyE2RIbf for <quic@ietfa.amsl.com>; Tue, 16 Jul 2019 23:31:06 -0700 (PDT)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0600.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::600]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D38F7120046 for <quic@ietf.org>; Tue, 16 Jul 2019 23:31:05 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OnFxYkn48KvcD9VLR0NnBnjsVRBFCLcZvzFFxUvX/FaNmScjLzqx1I/layTL0gaFNrQl9vFn6nAEdg+obcGNHQZDWKafyCUXNdnYCyYPJlwOWNu69C0Q5VdLXkF1cN2UCQ3bxHbn8e1qXamc9pOzxxTSUyPCyU11gB9BtI3Pla2ujf+LSVA+lfKQGspc2+mvMQvT6wMPyR0NaJSWQVDzHOoR15lJBiMBIACyUajLmBAqx4Wff+nOaBcbQnJ//0/aOgpwm1KSkSyide52CLAxS3CQQxKSNX+AA0N+OaA5KXe9O/DJHykKSiGKBtoewFst+PL9Qt+Fsi4vNjNawQL0zw==
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=6QAseFCT59HHBSl2S7levhkTl6zwM1gUo33n8cI8BhM=; b=FkZSw9R902g3ro4rheFsHRnAucrAqluhgI3zBhGy+e9NwrNe6mT8VVjIQXt5Cy3kmTDDqXdNGcKQhyzuy81ylcxHzPH/lPOmpfoZAN5pI5RaORWbViVZtdWglUFce+JvGlWx3TIcOJudy8TpfB67vi6ZNFS8slslZ1Ft9WiMzhctCSAu9CLBCThn88SpQxENjotZCXHEhzYTJfdwfdMwHKO/L5/sD1q05VEYrQohzauYOlkW4JYRFJ77F94vy9Nh84XiVC4P2iZ6bLS1tD+/+BEcLD5r7hDz/tDpKBzI+Nb0VQd6ytFp+RX4CIINzZtqbIQ6a2ODRvWlLepl0s3PAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=ericsson.com;dmarc=pass action=none header.from=ericsson.com;dkim=pass header.d=ericsson.com;arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6QAseFCT59HHBSl2S7levhkTl6zwM1gUo33n8cI8BhM=; b=iSDKOXr+mjfBiSIG30bCPHiq8/kDNRRY42te8MAhVqzT1Gzla5P2q6UHMKHOlbKOx4xVpegQ85/RWj171NC79B+KWO6uP1uTAHdywjRalTUtdJrlqsrabJikz5LexjVJlwwab4oF7sFj/LnKLNe3+5cwB6YbgA5odYbP/8PMNHw=
Received: from HE1PR07MB4425.eurprd07.prod.outlook.com (20.176.167.142) by HE1PR07MB4409.eurprd07.prod.outlook.com (20.176.167.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2094.6; Wed, 17 Jul 2019 06:31:03 +0000
Received: from HE1PR07MB4425.eurprd07.prod.outlook.com ([fe80::3d90:aa2:6815:d0d1]) by HE1PR07MB4425.eurprd07.prod.outlook.com ([fe80::3d90:aa2:6815:d0d1%7]) with mapi id 15.20.2094.009; Wed, 17 Jul 2019 06:31:03 +0000
From: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
To: Tommy Pauly <tpauly@apple.com>, Roberto Peon <fenix@fb.com>
CC: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, QUIC WG <quic@ietf.org>, Christian Huitema <huitema@huitema.net>, Robin MARX <robin.marx@uhasselt.be>, Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
Subject: RE: Updated DATAGRAM -03 draft
Thread-Topic: Updated DATAGRAM -03 draft
Thread-Index: AQHVPAi5RGl8N8lyN0SYGyNU0RUUwKbOVJ+w
Date: Wed, 17 Jul 2019 06:31:03 +0000
Message-ID: <HE1PR07MB44257B24563DC9EBC93335EBC2C90@HE1PR07MB4425.eurprd07.prod.outlook.com>
References: <CY4PR15MB1542BBF479C310E861C733F0CDCF0@CY4PR15MB1542.namprd15.prod.outlook.com> <2F2121D0-503B-48CF-99E1-A9CE9192FF87@apple.com>
In-Reply-To: <2F2121D0-503B-48CF-99E1-A9CE9192FF87@apple.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ingemar.s.johansson@ericsson.com;
x-originating-ip: [83.226.2.151]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 50f40062-c41a-44b8-43ca-08d70a805767
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(49563074)(7193020); SRVR:HE1PR07MB4409;
x-ms-traffictypediagnostic: HE1PR07MB4409:
x-microsoft-antispam-prvs: <HE1PR07MB440990C290C72785C6E76129C2C90@HE1PR07MB4409.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 01018CB5B3
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(346002)(366004)(39860400002)(136003)(376002)(54094003)(189003)(199004)(64756008)(33656002)(76116006)(5660300002)(66556008)(52536014)(66476007)(4326008)(478600001)(66446008)(229853002)(71190400001)(966005)(66616009)(476003)(76176011)(26005)(6246003)(186003)(102836004)(316002)(71200400001)(66066001)(7110500001)(606006)(86362001)(25786009)(6116002)(790700001)(6506007)(3846002)(54906003)(256004)(6436002)(110136005)(7736002)(74316002)(236005)(66946007)(11346002)(8676002)(55016002)(9686003)(54896002)(6306002)(53936002)(446003)(81156014)(486006)(99286004)(81166006)(7696005)(7116003)(107886003)(66574012)(53546011)(14454004)(14444005)(2420400007)(99936001)(68736007)(8936002)(15650500001)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB4409; H:HE1PR07MB4425.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: Ow7Z3upFUXWgBVkP+g3SiD/wYMpIy9iNN6K0y20NxP2PM/Od/npf6huxRULVKl7IhlgXRL5wP6FHQOz8DIc60OPEuuKGlWD/iE7I8lo1JgJ25AE5oS29OOfQtsBt9fazKXjTXAAHX6N5UcjBDf6OH3TxzP5AF9X14kPPPrq83z6/fn9OrPr3IfGeRlJY1Injt9ZbPOm9B1BcLTOR/OylI8iSMvZTmWwyIvIAUgDn1bQInDbIo8Lv0Zrb77fR79fYgqPOu0Rk5+dhCa0/EyOzUcF4rAiXSJ2kG0t8JxsXw5Uyubjdv67fStBbOFEj4/NtAEjRlZZLP3ASqZAlfXIAP1WHFAD9xGulXqRns5MB3r+A1FrwRP8jr+/fe44hblBN5TC2HA3oqer0eto0cWFJniNfxUCzjj30Pk3620/K3oM=
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="SHA1"; boundary="----=_NextPart_000_0192_01D53C79.F632EE60"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50f40062-c41a-44b8-43ca-08d70a805767
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2019 06:31:03.2812 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ingemar.s.johansson@ericsson.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB4409
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ZssIoQwD8GrQjFk0tcv3wgLT7Zs>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jul 2019 06:31:10 -0000

+1. 

In the general non-QoS scenario it is to prefer that the streams share one connection and thus one congestion control. 

 

My experiments with SCReAM (RFC8298) shows that this can be made to work quite well on RTP streams, an implementation of this is found at  <https://github.com/EricssonResearch/scream> https://github.com/EricssonResearch/scream. It is however not straightforward to get perfect prioritization such as 70% of the bandwidth goes to stream A and 30% to stream B when it comes to real-time low latency media. The key reason is that the low latency goal means that there are often no packets to schedule as extra delay due to queueing in the sender should be avoided, variations on source rates from video encoder makes it more challenging. 

In comparison, “Infinite” bitrate sources such as file transfers are much easier to work with as they provide data ready to schedule for transmission on the sender side until the file transfer is done.

In the SCReAM case I have so far managed to get something like ball-park weighted fairness, fig 7 in  <https://www.hindawi.com/journals/wcmc/2018/3142496/> https://www.hindawi.com/journals/wcmc/2018/3142496/ shows how it works in a real test scenario over a LTE access. 

 

I mentioned non-QoS scenarios. In scenarios where an underlying network supports QoS (such as 4G/5G), then it can be beneficial to use two or more connections, which are then scheduled over different bearers.

 

/Ingemar

 

From: Tommy Pauly <tpauly@apple.com> 
Sent: den 16 juli 2019 14:47
To: Roberto Peon <fenix@fb.com>
Cc: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>; QUIC WG <quic@ietf.org>; Christian Huitema <huitema@huitema.net>; Robin MARX <robin.marx@uhasselt.be>
Subject: Re: Updated DATAGRAM -03 draft

 

I definitely agree that sharing one connection, where the frames are all subject to a shared congestion control, will provide the most control and the best results.

 

What it does bring up, however, is the need for text regarding prioritization in the document, similar to the “Stream Prioritization” section in the main transport document. The application should be able to indicate to the quic implementation the relative priority of a flow of datagrams with regards to other streams and other flows, thus indicating how to schedule frames when congestion control opens up. This is also a way in which having a flow identifier known at the transport can be useful (although this identifier could be used strictly locally to get a similar effect). 

 

Thanks,

Tommy





On Jul 15, 2019, at 6:23 PM, Roberto Peon <fenix@fb.com <mailto:fenix@fb.com> > wrote:

 

Using two connections would be unfortunate-- this will almost always guarantee worse results than even the most simple proportional prioritization or fair-share scheduling because you can cause self contention and dilute your measurement accuracy.

-=R

  _____  

From: QUIC <quic-bounces@ietf.org <mailto:quic-bounces@ietf.org> > on behalf of Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com <mailto:mikkelfj@gmail.com> >
Sent: Monday, July 15, 2019 12:12:09 PM
To: QUIC WG; Christian Huitema; Robin MARX
Cc: Tommy Pauly
Subject: Re: Updated DATAGRAM -03 draft 

 

You could also carry two connections, one for video and one for game status updates.

 

I’m wondering if there is, or should be, a way to accomplish this on a single connection.

I asked something similar a long time ago and I don’t think there is any amition for managing bandwidth in this for on a single connection, at least for QUIC v1.

 

 

On 15 July 2019 at 21.04.58, Christian Huitema (huitema@huitema.net <mailto:huitema@huitema.net> ) wrote:


On 7/15/2019 3:03 AM, Robin MARX wrote: 
> Hello Tommy, 
> 
> Good to see the updated draft. 
> I do wonder about the decision to enforce congestion control for 
> DATAGRAM frames and the effect this will have on the gaming use case.  
> As also discussed in Prague, real-time gaming often requires a set 
> update rate frequency (e.g., 30-60 messages per second) for 
> responsiveness.  
> I wonder if congestion controlling the frames (e.g., delaying/dropping 
> them) will produce some weird edge cases that really mess with this 
> setup.  
> It's a bit difficult to assess because the messages are usually 
> relatively small (though they could be mixed with larger messages, 
> e.g., RPCs) and you could make the argument that, if there is actual 
> congestion, the packets will be dropped in the network either way.  
> You could also say that custom game-focused implementations will just 
> ignore the text and do their own logic as needed. 
> 
> So I'm not sure the text needs changes, I just wanted to mention that 
> it might not be optimal for the real-time gaming use case and that it 
> might be capable footgun with some weird edge cases if people do stick 
> to the text. 


Not really. If the network is congested and the video game still 
persists sending frequent messages the most likely outcome will be 
queuing and losses, and thus bad game play. The proper behavior in a 
congested network is to switch to a low bandwidth mode of some kind -- 
maybe a lower frame rate, or a lower resolution. This is pretty much the 
same issue as voice or video over IP: if the network is congested, it 
makes sense to use a higher compression rate. With congestion control, 
the application can detect the upset of congestion and adopt these 
strategies. That's generally much better than to just passively accept 
queues and losses. 

-- Christian Huitema