Re: Add deadline awareness to QUIC

François Michel <francois.michel@uclouvain.be> Thu, 08 December 2022 10:25 UTC

Return-Path: <francois.michel@uclouvain.be>
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 C447DC15170D for <quic@ietfa.amsl.com>; Thu, 8 Dec 2022 02:25:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 (1024-bit key) header.d=uclouvain.be
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 NJ0zomQkxvvN for <quic@ietfa.amsl.com>; Thu, 8 Dec 2022 02:25:43 -0800 (PST)
Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2070f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::70f]) (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 0337FC14CF0B for <quic@ietf.org>; Thu, 8 Dec 2022 02:25:42 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KPqegvLYPtseu+6s6maiiaFiNmDTRr5JGAN52S5FVPfM7LtgRukve1QRtWyOl+D2Lg0wypyOWpUW4v9qHKhfVS62uz/aZOAKJDQCGN2SNly3pRzEtNzRIwOlqky2Lm+JMhGdnkBg/f03Q9kmV4ILBXtOgDRzKe2y2jY2wo5oD/FEZ5mCLZoXka6XPqipY/CcyxgISzhGiYVQpvSWldSEoiNRLoBtCnrHiWEmK/LOjYFvBsTXJzxuIhZQXLR65dLV1RXy5rQQXVrAetvO2ab0PG3IsaBS9HqXnZPHdV8YrGYf4fnZvRnw3yV1YU+1eg+8J7VZCQ4zKSkcrPefXJuwwg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=V3GiTxXp0K9rb3pX2CzUCdkBEoi30yBVXoEisc6hba0=; b=bzuva/nhlNVGI3AIjznr57ABi0b3aDriifzdZpPU7L++n4kXbrs2/ecuyLGY9ksU5vMVQiI5RW9ZeXYQIqy3pMeAwc1Awx9jLIAuQPI81VPlJwWMw8epcaNlk5N2tZ2bO7mM+BV/nqd5krrHKEpHiNLK5LollOxdZgv4d3oGkT6hvIc8dclJnrlKsWZtxK0XXhULzSSSAp0lku0kHO8aya+H5cNfmvZpKp+fgNJ0VTuxtxNtZ9Zu8Hv7gctR3kLtCvVdklb3Xap15146C50NpuZqpcMcUPDa9br7af6MZZPPKOv28DyrlSFw4JVpgXh63re+b2iz6WDtSASrApD18Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uclouvain.be; dmarc=pass action=none header.from=uclouvain.be; dkim=pass header.d=uclouvain.be; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uclouvain.be; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V3GiTxXp0K9rb3pX2CzUCdkBEoi30yBVXoEisc6hba0=; b=Ywt3JgZ/IbTC8/+6Qx22EW7ccDWKXgIpARTMAFTrdGpb8zMmfQiRftptuWVOU2WQUa4RdYC6vAslwiMDY4eDKvhmc1KIcbrfvOLtPuUpn9itL1eIBo7Epk9FqjPe+vRY8joYryiIhInzkz5r6dLXZSncwhxgz7zvzaY7CbG+iLg=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=uclouvain.be;
Received: from DB9PR03MB7689.eurprd03.prod.outlook.com (2603:10a6:10:2c2::11) by AS8PR03MB6935.eurprd03.prod.outlook.com (2603:10a6:20b:291::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec 2022 10:25:38 +0000
Received: from DB9PR03MB7689.eurprd03.prod.outlook.com ([fe80::8519:30ec:4b36:44a1]) by DB9PR03MB7689.eurprd03.prod.outlook.com ([fe80::8519:30ec:4b36:44a1%2]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022 10:25:38 +0000
Message-ID: <3634df04-5b33-ea3b-bb73-0cd2ce0d6009@uclouvain.be>
Date: Thu, 08 Dec 2022 11:25:36 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0
Subject: Re: Add deadline awareness to QUIC
Content-Language: en-US
To: Ian Swett <ianswett@google.com>, Chuan Ma <simonkorl0228@gmail.com>
Cc: sarikaya@ieee.org, Christian Huitema <huitema@huitema.net>, quic@ietf.org, cuiyong@tsinghua.edu.cn
References: <CAAZo2nGK_HPbRKhW7fk8cBbZ5Y8HJOf737COKoFy=Xc6XHoL9g@mail.gmail.com> <797f896f-839b-3734-0c07-0465bfd7fe35@huitema.net> <CAC8QAcdeUvkGpoR4-dQp05cjW8QnHRVAvUkV5ASCZ=xpYG7Tfw@mail.gmail.com> <CAAZo2nGRRRoZmmb2yTCBm0MykQB0W6_vvdL3jTYyQhwkmm1gzA@mail.gmail.com> <CAKcm_gORtoZCbkxiqvoibaMnxKyPNw144vWQR+DuBmnVca13dA@mail.gmail.com>
From: François Michel <francois.michel@uclouvain.be>
In-Reply-To: <CAKcm_gORtoZCbkxiqvoibaMnxKyPNw144vWQR+DuBmnVca13dA@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0184.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a4::19) To DB9PR03MB7689.eurprd03.prod.outlook.com (2603:10a6:10:2c2::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB9PR03MB7689:EE_|AS8PR03MB6935:EE_
X-MS-Office365-Filtering-Correlation-Id: 646dc372-08cc-4129-27f6-08dad9068d00
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 8N6PMtbqqaCvKZQZNwp3VSE/F2IR0vtuGlxJWDEoaCsOtH5hJjmfMJr0tzlYMRI0Xd4uZKeC8JsIYqNiuUYAJBnER4wye2q2eOU9zAbjUy/1bwuBifrHHOPLl4hGm9sPdhDw2zClcWYjsrKDezg5G3LAazcA+SUi1DT15GVNWsHv7NSTht/F6p+y20zntHz1kefvNvP3JdoYkeApNUkRWERK7FNgX2d0URxXjkhhI8AtRcrVGb55x/O/83cmYMvpeudUboSBlSEsasA87bl7gFKejf+FQw6b9NAQpQ5FybnwXlPxfVA8PDusjQeq0Lcpy0+zS4xWS9ZLJD1n0FzOSyZmQUQM9K2Xm+XrOJIT7x3giqCWQ+xZgRW1ORur4xyTABciZgoC4KhFfC8xyT8azIXqQvmYsiSLp9qxyIyPSr0kJUQ9lkJm/hmwctsQnzPAPIdZq3vSI9JClj1HwOe7QFKwXbrfdi7uZCt/Jj8Yl2JqAN3AcWwmYALdzbcJpjzLd9xA2RXns8QauCcaR3jrXHMGIjvyeGRceyEbaHDZT/0QWYCy7gZDwSHj6e/g8UlgRhxT3J9rabH+z2PacTIELuFN6/mRSXMOPftyBlqcDgRcSEmQzWD8uCLYwhgTlynqOhsnDudvGxh7LJgmtkYYtDk4SN1zj6tp5pVxOW3FerBRzcVZ0oIW4YVOPsqksSg3T3UjjkvnyLm+YTkpTAGfZhEenmyiRTPC7QeQgAZHwGbOM5MFcm04jW6blVD7+psps4cQA2wJiKyNJASOlemnahq5l/gQp3alRkYfYWs60zA=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB7689.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(346002)(396003)(136003)(366004)(39860400002)(451199015)(36756003)(83380400001)(31696002)(8676002)(786003)(5660300002)(41300700001)(4326008)(2906002)(86362001)(8936002)(6506007)(53546011)(6512007)(6486002)(52116002)(186003)(110136005)(2616005)(966005)(66556008)(316002)(66946007)(31686004)(66476007)(478600001)(38100700002)(66899015)(45980500001)(43740500002); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: d45ToxbK4uLGqVoijSJiixpUiK+8Flk7hJ4sT+Sj+ocb44A6bfI52BLH3+TqNLXjVpRhn6+1RJcDbWrR2e5xu5IhO+VSX6uEovI6DvzZ01Tha1vqWE9YaIC1WCAazd8tDbkMEN8lweQLHtDLe6N3rTY3UnKNsEkKyPqO4BHbuLJKiO/LLiXqSn+Sykx3khCG6NbnizCa/9u/zbfoPmF9OATqte/re1sUj1cEm07QW2PqH/mVN5VmyQ7Av8ZmTTtVg1lDVM73RIJWd5+WFASMg+Dpkjq+8XnBV1o/VLF3z3b/4pJDo9myHhL/sMQcXBk76KryRrz+/QRuJSonBvlwk7Z+K3m4XP4HVaBtvPgK3WFboNz3rRJQOYb0+jXRZwcNZmrzybOrtlGLMPi+oC/NCZE4gJ6EIr/tGIN21wq08v1qRYX3AcdmbpnIKeyHJgOMHpUzxtwIB9XqIB5RedrB88kLRIDOMEHeNzAsD6bCR3hBbZzsHDckosMqlc9KyPTtwUxCUcRywm4bvwXFByimmUMFAjQftC4BraFOSZ9YSqZ7stPnzapL2qUIBZuGWgtRj5U48IDsfNGK8Kj/dHcRHOighVe1VUEptfN+xgL25VLiDYVsjSTKg3Oh5QOSp8VcjFWhl+uCSYcllVj4X9tYZ9jtud9rUXna0pkQxjgnnHYlv1zMDqJxy+hZIWEZjZSc1cDDN1fNAn27QuT0UtgeI/wy2Cnx+Ov0g96wxGTeDe90Acqfzh3UyBrYQAzO1DOW7TUw6/nPUYsxQv0bEIqnpoNE+KDtD5prlhIHzxuMJ94ZNOk1h6oh3RWLpBDoYE9UUwacEXMYq5Pxd/XTSUlG1qtxKv7+FYm9miSTPxW04w/kJezlYdsCcbXxtqLBOQtYWVtBftRtwjXq5tsAwbwO3MPMsIaOSjGlVtt986d/tZSOP6TSiLZAfoiEtx3YiXCLAkV4g+x8KwIstyIF1wXlizcZ+ZYtTggaPcfEKcE5uQbCg8TB6I6eP1HYFGi3pWfX6VODAYsFJLd1l9SuK0aEVI6Lk2ZxkPjSoTuBZa4GL2hHvDFfVX+jrhQ08m9b09LRvjnBCkO0spwa4Zr/DhtyHKazXpNM9LMuwNrA7NW+wt1McDZMOgCjbUNo21kQDmbRnkQvvPcof1SwycNuMW9QLpBuMHlyaBx4eKK2JaCxmYA4FNCd7PDZm44b1Zl+O0zl4JS/D/aR4c2Qd2sgd866F5Jp7W6RmPaXrNI6o5zAfLJDWEbbjTTN7YtdXLbqHzTjWPXOEK6VLbqEJyIDZW31MdJA6icHF6SG8CmbA/WqaAEnHAwSKchqaWzq0mo7h5H+ySJylB0s+V75ucVTtcA1XbT3k4V5/fTpSqtCw74I4iNCiAMrKr5BuHdbTQjVVf6rSiCRk/ygBlNfegjtdFrAZib1Hc7xW1M70MzSHahpc4WY3B2WmDFsoa5s0Awu4OD/uLFMILgAxhx/2EavicrIMXTeOSjwvwulV7J/1xuygOMhTpSn5TRT0NvDnlXcZ40II5cSb/ZKrpK8/AzUftoy2mfuuIe8MDIkAMFCej4UwJIDQyYu/3ZAm+F7kfBpYTgZhsQfMgV8LYTechRM09xbHSiTiblCtl+lvimxtuhwESh0aP7QuSc1wGxNmthy9bdO
X-OriginatorOrg: uclouvain.be
X-MS-Exchange-CrossTenant-Network-Message-Id: 646dc372-08cc-4129-27f6-08dad9068d00
X-MS-Exchange-CrossTenant-AuthSource: DB9PR03MB7689.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 10:25:38.6693 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7ab090d4-fa2e-4ecf-bc7c-4127b4d582ec
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uZgrdqhGuyMh+daQE8GFCLPHLOIPCRCQTsjXPTQ84UBderUDqmdjejzOml8XRQPgW3xPdiLZqN5IR21FurhDLLhhRN7ltooINbrujkWRbi4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6935
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/RNC3ke-JVs_2bUNjPj4OgxY_JYs>
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: Thu, 08 Dec 2022 10:25:47 -0000

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
>              >
>