Follow-up of QUIC-FEC discussion at IETF115

François Michel <francois.michel@uclouvain.be> Mon, 07 November 2022 16:59 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 CCAAEC14F748 for <quic@ietfa.amsl.com>; Mon, 7 Nov 2022 08:59:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 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, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 x_SE5vch38Ir for <quic@ietfa.amsl.com>; Mon, 7 Nov 2022 08:59:18 -0800 (PST)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2139.outbound.protection.outlook.com [40.107.22.139]) (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 9C8DDC14CE24 for <quic@ietf.org>; Mon, 7 Nov 2022 08:59:15 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DugP80UROOtRyFAM6NKlqpcSUt8Eg+aSZ8R9VZfYStBTzh8kSTZHaXElU0oOQcmG7cf/qua77Y9Wb8hwYnM6kqZ4XM1AQ0k1avsvC7v1JARhUb0UWfi6KN5sOwGBYioRT50PVRTxo9f5JfZfSwgkx3bR/WIcCbu+dOW58Z0/m92od9nIPy3BjRH0Q6AslN8SJ+omQ7tJs9VsZKcEI5QWZYJcdj9dFxP7Gvepjwfh2HDCA48e1yBGLmZGF36Je5koKxh7FgRaKVLhFWufS9V3/Fd1vUECu4U6hH8XLCqT5Iqhg9IbLpywHdqDudjyN3gfpiKwtkli1Z+E/DK3whuAPA==
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=utfcGfROW1tLUmoNAn3tgerY6qZsckpvCvpmK1yKpmM=; b=Bk8w1J4FEvKWVxzwrLMFQUaaWQlJputvWEnVjpCOSK01e8Ybg0HRSNXQ0/HxdydS9GELC4xx+bX/3A3lvmzJ6L749zSqHZH794FsrfsuZmda4xB73H+0yPY0WefqE4GcvMw9cDn7sR1fFGMk/CSE9v7uOd6Pk1eDmaY5/fmNanVyxGEosvJf4lR0nvYP7BTQ4KO3xM+y40xUp38ZHKOQIVg8YMXlKuY+LqzqOeiGoRwS9305zbsy7kXMrzd96i+yzclxL85ZcPlG4EdoTr+E7nt6+N1hefwgdKBrkXUKDAG61x8yoWgUhzcEGN4jVHgl+wMurt2nMvO/AMKYwaq1JA==
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=utfcGfROW1tLUmoNAn3tgerY6qZsckpvCvpmK1yKpmM=; b=t/fgotCce1iRkKsA3+3/FCu3dhlJK2ubsZtKuMU8MK6u7MLU6c+XdooTFuV9R4iwis0m/4CximhKT8Z21Iv4eLd3bxeqyEaGkII2ZZ6lZAaVHRbvkrJTbdo4qudSk6H916fR/uiL261sjU+DUPOWxZvIh6Xfd3BBwOOM/ww55Sk=
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 PR3PR03MB6443.eurprd03.prod.outlook.com (2603:10a6:102:7e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20; Mon, 7 Nov 2022 16:59:07 +0000
Received: from DB9PR03MB7689.eurprd03.prod.outlook.com ([fe80::11a:8ecb:c964:ae9b]) by DB9PR03MB7689.eurprd03.prod.outlook.com ([fe80::11a:8ecb:c964:ae9b%3]) with mapi id 15.20.5791.026; Mon, 7 Nov 2022 16:59:07 +0000
Content-Type: multipart/mixed; boundary="------------uCFZgHQ7JpCvEXag9xTw7VGu"
Message-ID: <b6136608-5677-5bba-d7f2-cce1c2a18893@uclouvain.be>
Date: Mon, 07 Nov 2022 17:59:04 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0
Content-Language: en-US
Cc: Christian Huitema <huitema@huitema.net>, yfmascgy@gmail.com, gorry@erg.abdn.ac.uk, jri.ietf@gmail.com, mt@lowentropy.net, Olivier Bonaventure <olivier.bonaventure@uclouvain.be>, Marie-Jose Montpetit <marie@mjmontpetit.com>
From: François Michel <francois.michel@uclouvain.be>
To: quic@ietf.org
Subject: Follow-up of QUIC-FEC discussion at IETF115
X-ClientProxiedBy: LO4P123CA0581.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:276::11) To DB9PR03MB7689.eurprd03.prod.outlook.com (2603:10a6:10:2c2::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB9PR03MB7689:EE_|PR3PR03MB6443:EE_
X-MS-Office365-Filtering-Correlation-Id: a5cfdf5e-300c-4927-32db-08dac0e161d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: azYBtmEatX5Z272g4ANY/OKf64Jzm7m8rM32hSWZYPYvKyFO53GmmrafVXFtiFQgVHJQEdIljVxiB5/Cq2cN1W3ic0RXaV8MBEXd7ZROn5u+kDz2/E5vSF/ydF4tMlQEHJFxHbiX8JPUUtpvSAXRLWz+2bnIJaayuZSr+tjSpFtP8km+kwPJQjvDyCbBaLFutSto5FHobVu2436/Fgu7iryLeby7KVJ3sdX1Dpd/vZ6ckgnGMmCBO0+x8FN0U0t0W4LrUgSlUUx7+QV+8BoSx+sQ4OMi5fPzjHspQEN65NJeZG859ja9UukiJ5yhyHC2p57VLZvNA0Sp7qkA/NiWxej6cq22DHEsHtSvrhl+hKFXW4fS5BplTdwFD+K0Kw1XcqQ6ukoLyIJMkQcXdG4HT8oxm37LqqSWpuZQ4nCjhJjHRdYRUyxv/sWHvwLitaPn6emwcSC/yl6VGmDUDRUcFID7zath0gyjCwhqHTuhbPIsqDQlPJJfgP/ytrsN71orH8Sg0kZ8MAapmdWL1/c41UrW6yNDvRUL4e+WLo8cA7e6v9pe+GfPSvnlHaBBJ6i4PXXtcVACrmNX8GliscnJfL/wW++ewb/LjROsuXrUYXCuZKa0ZvoBzJnO7NbSDnWicYSHaVxcLq5TJmG+QLLG2o1e/Y+dJca0pUHPhOIO0vVnU8PytROC1/aMB0AEaNSsbva6A+wBRqeDzdfoqe4U00DIYr2DoDHIWoyfDunj+R2rUtFHULVlixPV/6t99EdV9BUP3efTsWqZbAxAHAzK48PQgXlD7qP1NSatsCJ7r9w=
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)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199015)(36756003)(31686004)(31696002)(86362001)(21480400003)(2906002)(6512007)(33964004)(6666004)(6506007)(52116002)(2616005)(186003)(83380400001)(66556008)(66946007)(316002)(6916009)(54906003)(66476007)(8676002)(478600001)(4326008)(8936002)(786003)(6486002)(966005)(5660300002)(38100700002)(28085005)(235185007)(41300700001)(45980500001)(43740500002); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: AdpIUWjQ3iKA6fP9v/mhAqHn1RtmNSkqi/xU7KrebHL0g1+CA4OdbHjBNuRca1Pw0Q1ETXeKHK+AGXQwddBl/OP3YIjeeF6J1Wp7gpoxWxrob4lw4bvhy4uuSB07n5LyF2FXDAhoLROyeMeMir9Wep/L1+F6K15bwnDAegBtk8cUdIF3ulMkRzVgboQgYFBrQZLsiRQM0i6XOtHHVoFCbNx308/AgX3RVzplR/6ylhPl/pvpxojobRTiZNyn0eoUgNWyjqFJS6kTKI9+4r/2EMWF8KbHVdPetUIHw0RcTAuNGUxS/qxSogqygQyYu6pLhgjbswlhiz48dQj7W/A0/jfPKI4VeohDh7jkiupTdxFYKxUuQUzHmaTyLU65I5Pfopb/Do0Ynd4icbIMDA6eNAle1QEnO0HPiw+F/HgpLlV5zyo3swxDm2z9tn/JqlW2yZ7RjVbvHcl+qXHkfdPKMSHxWoGd0NMv8eNAnT0wO0dhGT/7warESMMIj/yWlxGcBRoehabLczD/Lwh4f3Cp1M32CNT9oZrRP9nXPa1wSZNUTAziOU2N/aYguu4kxwgpDcSZqmtN+xQ18DtNHskL1/+xMt7I5DqYq/L2rRM5j+cDXj4AnfD6TVR7Sy8HXi7L85tNd0UbpV65R18fcG6JFhIWwNCP6U7ULH4HDJIWUOhNAfMq7FLr+IeA8Dg543HmVfTZ5DJeIzCaoJiYTVga9l+DsGkiIgMwS9fglKRjz0gwUx5GDWtPsWiP2q3ekndI15ZLj8TRwO0YEw0CQzjYnMyhzdod+8wEDQ04bcQ00STgPidyNZJPrLHJFRD5jtaqLBkA3DGkvp4eBIVAQR/5DVFyucevNXmb55plQ5pZ8KQjFqiLuNXRBVsVtLBGF1LctJn/rOVfip9ytR6qqFjwX0YHFqyntgRPD42OXIXoHdOtNCDNWH/WfJOdSGtHDn3y8mK+GUM+9a12hY7SO9IEYbafmlG/x98BlQsZygAyQGU/ogKoR+P+TgL3d7oPBDE3lGEi4EIfklHQSz23mvH30E27sfJdDfGzy0CvXb2ZZ087rsmDOr3Vo+PmWQIwa9JT8I8l6vBk6CTj7+YgHp1XZIZzsoNz5BL9eZSzvPrepVOJ1TbYMYX77OGX0FjHEIR6KSRq6NVOHDaJbrl+nOFdpZXtOb2dMvbvHwRZG/BlWZVkm4b0zUVRRs7GJLVFPCcLQfEs+iiF1kRFbbSufe8f534VH52UofePMoIZTG6q6juaH6f9cV+VJ9WSOnVHJqdqQYh+TBFook39EUdwUW/1eqpObPuRFratcqhG8ay+VApspgyMZjySlI9ISRSQP4xKmwVSDMavV4uqKi1zLIBtB43r5XN4X7QGj3tdliJqG/GpNrSPHbbQcdFAlelYkKicFWRWqBl55VfS2XNCDDsj6arjA6pQWIS/0P2abhl5Lq+mabi/x8DX8DP/pCatVqO10bV8iu52CzlFdHcTFuFh6ltND9Fpuq88YLdmCbYLFBMe2d6suJismzmo6fRO5r7c3CMHIKgGJ6OMKetX+UQs2brS54ob93GHYqqfkSZuv1EEIQodNJI6D3gIZkKOPG8Yis4o1IddpuAHHHB6XlhRIpC04qmpg+3esfgqbrkkzljWqn2rcsvs4LfzublBVwX8h/tAQkU8ZPq0cDjOSXKnqw==
X-OriginatorOrg: uclouvain.be
X-MS-Exchange-CrossTenant-Network-Message-Id: a5cfdf5e-300c-4927-32db-08dac0e161d0
X-MS-Exchange-CrossTenant-AuthSource: DB9PR03MB7689.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2022 16:59:07.5379 (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: bjquX7siSFVUq7h24q/HHjIpAsvEMK9dBTXdIN4QKuPo+I8Yf4HorsXdJfCAhX37YOqZi94G5i8P8X8Bv/sNbgCVYkYQrWW2d5BJXqkYItQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR03MB6443
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/OD8f9cthDnwEHfwNTmJWV91navs>
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: Mon, 07 Nov 2022 16:59:24 -0000

Hi all,

Thank you for all the feedback during the presentation.
Let's continue the discussion here. I'll address some questions here
that I did not have the time to address during the presentation.

Christian & Yunfei asked for insight on the bursts lengths that were
experienced. In fact it was in my backup slide that you can find in
the WG material but the time was too short to mention it. :-( In short,
we did our experiments on our Starlink access point that we studied in
a recent IMC paper, https://dl.acm.org/doi/abs/10.1145/3517745.3561416.
The bursts can be quite long in high percentiles and those long bursts
are indeed hard to recover using FEC. The medium-sized ones are
recoverable and we did so with our recent implem on quiche. I would say
that an important factor is the number of packets you have remaining
in your cwin as it defines the length of the bursts you'll be able to
recover in one flight.

There were also comments advising for doing "opportunistic"
retransmissions, i.e. retransmitting in advance the last flight of
packets. This is indeed a way to do Forward Erasure Correction without
network coding. The FEC extension for QUIC allows doing so in a network-
efficient manner. For instance, to recover from the loss of 3 packets,
we only need to send 3 REPAIR frames while we need to duplicate the
whole cwin with opportunistic retransmissions. It does not work either
if both a packet and its opportunistic retransmission are lost. There
is a large bandwidth gain in doing FEC with network coding instead of
opportunistic retransmissions, at the cost of implementing FEC 
algorithms of course.

Taken from the meeting notes:

"Gorry: Very little about congestion control here. Are you going there?"

Yes, the idea is to be conservative regarding the CC: we consider that
a lost packet is a lost packet, regardless of the fact that is has been
recovered through FEC or not. This is discussed Section 6 of the draft.
We don't want to hide any congestion signal to the CC. REPAIR frames are
congestion-controlled, meaning that none will be sent if the sender is
cwin-blocked. This is what our implementation already does.
We thus follow the principles of RFC9265.

Finally, there is the discussion about protecting QUIC frames VS stream
content only. We discussed it at nwcrg at the time and decided to 
protect frames. This document follows the same idea. By doing so, FEC 
can protect several streams. It also makes possible to protect several 
kinds of frames such as DATAGRAM frames and others that might have an 
interest in being received rapidly. DATAGRAM frames are indeed sent 
unreliably but I think there is still value for it to be received with a 
higher chance thanks to FEC.
Datagrams may be used by an application especially because the data they
contain are time-sensitive and have no interest in being retransmitted,
so protecting them with FEC might help in this case.

That being said, we can reconsider the level at which FEC is applied
(streams or frames) and experiment with it too.

Once again, thank you for the feedback and comments ! Let's make
the design evolve and experiment with it. Don't hesitate to contact
me for any comment or question.

Regards,

Franz