Re: Updated DATAGRAM -03 draft

Tommy Pauly <tpauly@apple.com> Tue, 16 July 2019 12:47 UTC

Return-Path: <tpauly@apple.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 1F885120411 for <quic@ietfa.amsl.com>; Tue, 16 Jul 2019 05:47:43 -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, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.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 hK0sRk94b5jS for <quic@ietfa.amsl.com>; Tue, 16 Jul 2019 05:47:40 -0700 (PDT)
Received: from nwk-aaemail-lapp02.apple.com (nwk-aaemail-lapp02.apple.com [17.151.62.67]) (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 E3F861201C7 for <quic@ietf.org>; Tue, 16 Jul 2019 05:47:40 -0700 (PDT)
Received: from pps.filterd (nwk-aaemail-lapp02.apple.com [127.0.0.1]) by nwk-aaemail-lapp02.apple.com (8.16.0.27/8.16.0.27) with SMTP id x6GCla5M056629; Tue, 16 Jul 2019 05:47:37 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=sender : content-type : content-transfer-encoding : from : mime-version : subject : date : message-id : references : cc : in-reply-to : to; s=20180706; bh=dcMctaQfyS/EMUs1imhXcAs6MY8AAwajec1z73Adda8=; b=XJxPV8/4Yq8PLHlcFS/KkoyuowsrtmW8NTwHkRWassjqx80xw/45A5bx1JGnw3qwoSgW Eu+FeWOBLkt3E8m+XMzhXX69UuIQb41RtZD+0MJMiD0qmhquJe1uvcAl6f4ptiYwZ2qh L5jlWkqgckTWx2zIQEHL25cfuHJ2emw3Ha9/+6rm2inviZvTgUOI3lBCDS0b6052+Uko RSlcD7Vplo1qD8K0mvUQ4GJVHfQlq3y5SEaY1Vw2fASoAjjLhdNd0uQ7EQcW/e1xNJ2k Jah4BooYm9QwpgGmisdvFddXe3C8SDVS0heb1k7G58A5EM06ipF3miEDMLxFQ8B5I83T Xg==
Received: from mr2-mtap-s03.rno.apple.com (mr2-mtap-s03.rno.apple.com [17.179.226.135]) by nwk-aaemail-lapp02.apple.com with ESMTP id 2tqbvgus9y-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 16 Jul 2019 05:47:37 -0700
Received: from nwk-mmpp-sz09.apple.com (nwk-mmpp-sz09.apple.com [17.128.115.80]) by mr2-mtap-s03.rno.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPS id <0PUQ00572JIVFM70@mr2-mtap-s03.rno.apple.com>; Tue, 16 Jul 2019 05:47:19 -0700 (PDT)
Received: from process_milters-daemon.nwk-mmpp-sz09.apple.com by nwk-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) id <0PUQ00500J1BDK00@nwk-mmpp-sz09.apple.com>; Tue, 16 Jul 2019 05:47:19 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 5ef9a7ae2066e2f47378258317604d0a
X-Va-E-CD: b42e1731a8648bdf8d931aa1eda3b9af
X-Va-R-CD: 4798a8ccd957a0d6b4548f4d1f0608d0
X-Va-CD: 0
X-Va-ID: 4948e838-4722-4e10-b325-2879803ded64
X-V-A:
X-V-T-CD: 5ef9a7ae2066e2f47378258317604d0a
X-V-E-CD: b42e1731a8648bdf8d931aa1eda3b9af
X-V-R-CD: 4798a8ccd957a0d6b4548f4d1f0608d0
X-V-CD: 0
X-V-ID: 41f00ad5-656e-4811-84c1-df060cd7a0ff
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-07-16_03:,, signatures=0
Received: from [17.235.50.229] (unknown [17.235.50.229]) by nwk-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPSA id <0PUQ00G8FJIUAOC0@nwk-mmpp-sz09.apple.com>; Tue, 16 Jul 2019 05:47:19 -0700 (PDT)
Sender: tpauly@apple.com
Content-type: multipart/alternative; boundary="Apple-Mail-60B7A94D-1FFA-449A-9203-3FE8CE5A1BDA"
Content-transfer-encoding: 7bit
From: Tommy Pauly <tpauly@apple.com>
MIME-version: 1.0 (1.0)
Subject: Re: Updated DATAGRAM -03 draft
Date: Tue, 16 Jul 2019 08:47:17 -0400
Message-id: <2F2121D0-503B-48CF-99E1-A9CE9192FF87@apple.com>
References: <CY4PR15MB1542BBF479C310E861C733F0CDCF0@CY4PR15MB1542.namprd15.prod.outlook.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>
In-reply-to: <CY4PR15MB1542BBF479C310E861C733F0CDCF0@CY4PR15MB1542.namprd15.prod.outlook.com>
To: Roberto Peon <fenix@fb.com>
X-Mailer: iPhone Mail (17A5522g)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-16_03:, , signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/6w_GzVelAAo9BU1cWOZvh02HTaY>
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: Tue, 16 Jul 2019 12:47:43 -0000

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> 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> on behalf of Mikkel Fahnøe Jørgensen <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) 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 
>> 
>>