Re: Add deadline awareness to QUIC

Michael Welzl <michawe@ifi.uio.no> Fri, 09 December 2022 10:32 UTC

Return-Path: <michawe@ifi.uio.no>
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 11E4AC14CF0F for <quic@ietfa.amsl.com>; Fri, 9 Dec 2022 02:32:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ifi.uio.no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ghHPEZ4Z-_T1 for <quic@ietfa.amsl.com>; Fri, 9 Dec 2022 02:32:05 -0800 (PST)
Received: from mail-out01.uio.no (mail-out01.uio.no [IPv6:2001:700:100:10::50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 43BA4C14F744 for <quic@ietf.org>; Fri, 9 Dec 2022 02:32:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ifi.uio.no; s=key2103; h=To:References:Message-Id:Content-Transfer-Encoding:Cc:Date: In-Reply-To:From:Subject:Mime-Version:Content-Type:Sender:Reply-To:Content-ID :Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To: Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe :List-Post:List-Owner:List-Archive; bh=xmx15wywux3aJ07XZ7rcOSO4VNKQIlwH+0dSGPc3Emc=; b=ibY/s5TktVZV9GznPXCcZWD1Mp M29NtcL3IwiX3rqI2VRehX0TnlYEM0df13s3Hl+BD5l0wQAhfesBGtCELVfini2FeHVqaTLzRl25w oN7LauYD1rGDsoS1ODG99KiJPfCQRUUIclmBJ/obIui7Bod2ppyQa5S2mrayDW2pgUWBDF3gXf7GB Ofci0VH9jvXAiTJsDbaZoEHZONffgqESu5on7OHV81WOblzScoDLK0Yduxkn00q+6fuW2QQ0Sx3CR kmasEPk687EtNuUyAMynyAZvpLP+oc/Jo16pLwPro2SAdxjUGIVuHtdrpwXxNIsMFHRSAwkr34wg4 1QTScYag==;
Received: from mail-mx02.uio.no ([129.240.10.43]) by mail-out01.uio.no with esmtps (TLS1.2) tls TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <michawe@ifi.uio.no>) id 1p3afY-002FuV-03; Fri, 09 Dec 2022 11:31:52 +0100
Received: from [151.252.14.93] (helo=smtpclient.apple) by mail-mx02.uio.no with esmtpsa (TLS1.2:ECDHE-ECDSA-AES256-GCM-SHA384:256) user michawe (Exim 4.96) (envelope-from <michawe@ifi.uio.no>) id 1p3afX-000C2O-00; Fri, 09 Dec 2022 11:31:51 +0100
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: Add deadline awareness to QUIC
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <4dc4cfc78b5048e58a5db1dd18782f52@huawei.com>
Date: Fri, 09 Dec 2022 11:31:43 +0100
Cc: François Michel <francois.michel@uclouvain.be>, Ian Swett <ianswett@google.com>, Chuan Ma <simonkorl0228@gmail.com>, "sarikaya@ieee.org" <sarikaya@ieee.org>, Christian Huitema <huitema@huitema.net>, "quic@ietf.org" <quic@ietf.org>, "cuiyong@tsinghua.edu.cn" <cuiyong@tsinghua.edu.cn>
Content-Transfer-Encoding: quoted-printable
Message-Id: <F39EE7AF-F45E-4203-A7B1-D99A0F1E5774@ifi.uio.no>
References: <3634df04-5b33-ea3b-bb73-0cd2ce0d6009@uclouvain.be> <941698D0-D318-4D3F-B499-2A1BF43CA48F@ifi.uio.no> <4dc4cfc78b5048e58a5db1dd18782f52@huawei.com>
To: "Shihang(Vincent)" <shihang9@huawei.com>
X-Mailer: Apple Mail (2.3696.120.41.1.1)
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx02.uio.no: 151.252.14.93 is neither permitted nor denied by domain of ifi.uio.no) client-ip=151.252.14.93; envelope-from=michawe@ifi.uio.no; helo=smtpclient.apple;
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, UIO_MAIL_IS_INTERNAL=-5)
X-UiO-Scanned: 8263AAE3BA2BD2C3B33A1730644DEB23EB4B0FB7
X-UiOonly: 553E895006B6D72E1D8E8767D62A8340906E06D8
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/f3NynfYkV-LtG2BggDk2SyzFvuE>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 09 Dec 2022 10:32:10 -0000

Hi,

> On Dec 9, 2022, at 8:48 AM, Shihang(Vincent) <shihang9@huawei.com> wrote:
> 
> I guess you are referring to the lifetime message property (see https://www.ietf.org/archive/id/draft-ietf-taps-interface-18.html#section-9.1.3.1). We are improving the deadline delivery by deadline-aware scheduling and redundancy(FEC).

Yes.


> The scheduling is doable on top of QUIC (may involve a lot of timer overhead). But the FEC requires the knowledge of packet boundary which can not work on top of QUIC, at least not QUIC stream.  

That seems orthogonal to my statement about TAPS: my comment was an add-on to the mention of the TTL parameter in the email from Francois below. I just meant to say that TAPS offer such a parameter too.

Cheers,
Michael


> 
> -----Original Message-----
> From: QUIC <quic-bounces@ietf.org> On Behalf Of Michael Welzl
> Sent: Thursday, December 8, 2022 6:35 PM
> To: François Michel <francois.michel@uclouvain.be>
> Cc: Ian Swett <ianswett@google.com>; Chuan Ma <simonkorl0228@gmail.com>; sarikaya@ieee.org; Christian Huitema <huitema@huitema.net>; quic@ietf.org; cuiyong@tsinghua.edu.cn
> Subject: Re: Add deadline awareness to QUIC
> 
> FWIW, the TAPS API has deadline-awareness, and QUIC can operate underneath it…
> 
> 
> Sent from my iPhone
> 
>> On 8 Dec 2022, at 11:26, François Michel <francois.michel@uclouvain.be> wrote:
>> 
>> Hi,
>> 
>> I wasn't aware of this ttl parameter in Chrome. We also studied quite a bit the addition of deadline-awareness to QUIC a while ago on a ToN article right there, see Section VIII:
>> https://dial.uclouvain.be/pr/boreal/object/boreal%3A264704/datastream/PDF_01/view
>> 
>> In short, we added an API to our QUIC implementation to be able to send "messages" with deadlines attached to it, each message being sent on its dedicated QUIC stream. Attaching a deadline to a message means that its stream must be totally delivered within that time, so I guess the ttl field of Chrome behaves similarly. This allowed us to schedule FEC in a more clever way, and it might be the case for multipath scheduling too. For instance with FEC we could spare a lot of bandwidth by protecting several video frames at once using the deadline and framerate information (Figure 16 in the article).
>> 
>> That being said, we did not make any specific protocol modification to use deadlines, we just modified the API to be able to attach deadlines to streams, like the ttl feature of Chrome. That affected the stream scheduling and FEC scheduling, but no specific frame was required on our side so the QUIC specification stayed unmodified.
>> 
>> Looking at MoQ and Webtransport, it could be useful to already provide deadline information from the WebTransport API and forward this info to QUIC to be able to do clever streams/fec/multipath/whatever scheduling.
>> 
>> Right now I am working on adding deadline awareness on our new FEC implem on top of quiche-cf, so do not hesitate to reach out to me if you have any question or comment.
>> 
>> Cheers,
>> 
>> François
>> 
>>> On 21/11/22 12:16, Ian Swett wrote:
>>> This looks like it might be conflating a few features, some of which are very media specific and some which are more general, such as prioritization and deadline awareness.
>>> I may have missed it, but I'm not sure I understand why the deadline awareness requires a new frame.  For low latency media, the sender typically knows what the deadline is, so it has no need to communicate it to the peer, unless this design has relays in mind.  If so, Media over QUIC is even more the right venue for this.
>>> For example, the Chromium QUIC code has had a ttl feature for a few years that we've used for various use cases:
>>> https://source.chromium.org/chromium/chromium/src/+/main:net/third_party/quiche/src/quiche/quic/core/quic_stream.cc;l=1384 <https://source.chromium.org/chromium/chromium/src/+/main:net/third_party/quiche/src/quiche/quic/core/quic_stream.cc;l=1384>
>>> Ian
>>> On Tue, Nov 15, 2022 at 11:03 AM Chuan Ma <simonkorl0228@gmail.com <mailto:simonkorl0228@gmail.com>> wrote:
>>>   Hello Huitema and Sarikaya, thanks for the reply.
>>>   You are correct that some of our designs are similar to MoQ answers.
>>>   For example, we both use partial delivery to improve real-time app
>>>   delivery. Actually, we sent the draft to the MoQ mailing list and
>>>   discussed the detailed design and which layer to place the module.
>>>   But our draft focuses on providing general deadline-aware transport
>>>   service as a QUIC extension which is out of the scope of MoQ. MoQ
>>>   builds on top of QUIC and is explicitly tailored to media delivery.
>>>   We would like to hear the opinion of the QUIC community to see the
>>>   need for such a *general deadline-aware transport service*.
>>>   On Tue, Nov 15, 2022 at 7:12 AM Behcet Sarikaya
>>>   <sarikaya2012@gmail.com <mailto:sarikaya2012@gmail.com>> wrote:
>>>       On Mon, Nov 14, 2022 at 1:05 PM Christian Huitema
>>>       <huitema@huitema.net <mailto:huitema@huitema.net>> wrote:
>>>           Hello Chuan Ma,
>>>           Your draft aligns very much with some of the options
>>>           investigated for
>>>           "media over QUIC". Have you considered participating in that
>>>           working group?
>>>       I agree, this looks very much like media transmission material.
>>>       Behcet
>>>           -- Christian Huitema
>>>           On 11/14/2022 10:20 AM, Chuan Ma wrote:
>>>> Dear all:
>>>> 
>>>> I'm Chuan Ma from Tsinghua University. I want to discuss
>>>           the deadline
>>>> awareness of the current application and whether we
>>>           should add it to the
>>>> QUIC protocol.
>>>> 
>>>> Applications may have specific deadline requirements for
>>>           data transmission.
>>>> For instance, a video conference application may require
>>>           sending the data
>>>> with a deadline of 200ms to enable live interaction. The
>>>           application may
>>>> drop the data that misses the deadline, even if the data
>>>           has already
>>>> reached the other end. In this case, it is possible to
>>>           drop the data after
>>>> the given deadline from the sender to save bandwidth and
>>>           decrease queuing
>>>> time. Deadline requirement is also helpful to offer
>>>           deadline-aware
>>>> scheduling combined with QUIC stream priority. Such
>>>           scheduling methods can
>>>> increase the punctuality of QUIC and allow more data to
>>>           arrive on time. It
>>>> is possible to extend QUIC and offer deadline-aware
>>>           transport as a service.
>>>> 
>>>> Nowadays, deadline-aware data transmission is getting
>>>           more and more
>>>> popular. Applications that emphasize real-time
>>>           interaction, such as VR/AR,
>>>> gaming, and video conference, are drawing more and more
>>>           attention. So
>>>> deadline-aware transport has a lot of use cases. However,
>>>           currently, it is
>>>> the application that is responsible for realizing
>>>           deadline-aware transport.
>>>> This transport service should be offered by the transport
>>>           protocol but not
>>>> be left to the application. It is reasonable to provide
>>>           such transport
>>>> service in a new transport protocol, and QUIC is a good base.
>>>> 
>>>> We wrote a draft to show this idea in
>>>> https://datatracker.ietf.org/doc/draft-shi-quic-dtp/
>>>           <https://datatracker.ietf.org/doc/draft-shi-quic-dtp/> and
>>>           implemented a
>>>> protocol based on QUIC called DTP (Deadline-aware
>>>           Transport Protocol) in
>>>> https://github.com/STAR-Tsinghua/DTP.git
>>>           <https://github.com/STAR-Tsinghua/DTP.git>. We also built a
>>>           live stream
>>>> prototype application to compare the performance between
>>>           DTP and QUIC (
>>>> https://github.com/STAR-Tsinghua/LiveEvaluationSystem.git
>>>           <https://github.com/STAR-Tsinghua/LiveEvaluationSystem.git>). We found that
>>>> DTP outperformed QUIC in improving data transmission
>>>           punctuality and saving
>>>> bandwidth resources. We published the paper in ICNP22 and
>>>           built several
>>>> systems like proxy and tunnel based on DTP. It would be a
>>>           good idea to give
>>>> this method a try.
>>>> 
>>>> We'd like to know what you think about this topic. Please
>>>           let us know if
>>>> you have any comments.
>>>> 
>>>> Best regards.
>>>> 
>>>> Chuan Ma
>>>> 
>> 
> 
>