Re: Multipath acknowledgments
Michael Eriksson <michael.eriksson@ericsson.com> Mon, 21 November 2022 09:38 UTC
Return-Path: <michael.eriksson@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 90F1FC1522AE for <quic@ietfa.amsl.com>; Mon, 21 Nov 2022 01:38:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=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=ericsson.com
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 0IvtvpXm2W6d for <quic@ietfa.amsl.com>; Mon, 21 Nov 2022 01:37:55 -0800 (PST)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20623.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1b::623]) (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 337A7C1522AB for <quic@ietf.org>; Mon, 21 Nov 2022 01:37:54 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mWOqCW/MiOxiP3sFnFgKllixd0u/umEBKLTGlAdT/BAfMUwp1cEgImxo5ulwE4/E0esvjXLWW2dyo8bOewSCcicLDF4JB+HGhxSDTGHTgYrGLWti/XfOLmUM35Oq5HfH3BAlqKrQzJw//5cKUTJKv1Bj6/iOuB61UBZrOEDNFg7bEkhSFTlUr8iEelVozd1AARmZNKpmo8tCh+WqaNVCFNHMXTAOzCaqTAqU67ozJnPISLLgGolW8114Gns2jhM2hEBTNJhqvT/Kwh4Sz6SPUzE1tE22tzBRMRrf9hUQNX56qkpm8SCs5dP3Y0xl0BqCegAOjBlrJq3rLdD7L94/KQ==
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=1q/nzGyQFKDATEYwqUEBBmAC5iW+AyYo8dFsJx1aMbw=; b=L8+Fqb/z2EPTGziquu+wEtKXgWh9E+YlpojzgR5+u67cZ3Xn3f/+tl0Twtc1X0Z48o7UiRRydCEwG8OedUmPtsogYST0MOUC4gWK+HfqGj/Z1eckAieMx3FH7dg6UCC3ZR3BfC6k/j4FMosDCkB61l8W0ivXcjrH4MLphT0WTbsro2jsyDT6/1rx4zTjCHftfse3pVX6uaVKVLHxf2RZr6XFTmz+B7ewEzZCtfWYSRp22EUn0G1N25umjd2Dx43LODbKVB2i8lO4aqyJSw3f3T/aQkHlP/A1o9DHjQReQNk/cwAvt3MFU7xLyu4zm6KO41wFi8i8fxcIIiED0zIbyw==
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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1q/nzGyQFKDATEYwqUEBBmAC5iW+AyYo8dFsJx1aMbw=; b=U1zOAQBrJS6Hfkfhwq3KignCXQpVCnvW/+/i34OjpmFd+yIHbyMRni82Sv5MgnVzDfLRJtOkxmIHskwyZT1w9u+hOq46Asccrb5TfLkWiFkFpHwDNmseKM1gxy/8Sr6bpypRRxnteCXAbxGDJ2tiwRptrZ5XxW2psQcX1Aq1w1s=
Received: from DU2PR07MB8077.eurprd07.prod.outlook.com (2603:10a6:10:2b6::6) by DB9PR07MB8752.eurprd07.prod.outlook.com (2603:10a6:10:2ec::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Mon, 21 Nov 2022 09:37:51 +0000
Received: from DU2PR07MB8077.eurprd07.prod.outlook.com ([fe80::30cd:9a61:4e49:9ebf]) by DU2PR07MB8077.eurprd07.prod.outlook.com ([fe80::30cd:9a61:4e49:9ebf%9]) with mapi id 15.20.5813.018; Mon, 21 Nov 2022 09:37:51 +0000
From: Michael Eriksson <michael.eriksson@ericsson.com>
To: Yunfei Ma <yfmascgy@gmail.com>
CC: IETF QUIC WG <quic@ietf.org>
Subject: Re: Multipath acknowledgments
Thread-Topic: Multipath acknowledgments
Thread-Index: AQHY+/k5/IvxUkGi+kCc2c2x24foza5JIeIA
Date: Mon, 21 Nov 2022 09:37:50 +0000
Message-ID: <8647c5bb-7867-4fa8-ad2b-3d874ec94fe0@ericsson.com>
References: <87bdc4f9-5f17-fb37-477d-8249b9ab5c1f@ericsson.com> <CAHgerOE+sDRq1r=Qm3Ur32=2nuEPcYE9Lh5KjQQo0xch6nomfQ@mail.gmail.com>
In-Reply-To: <CAHgerOE+sDRq1r=Qm3Ur32=2nuEPcYE9Lh5KjQQo0xch6nomfQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DU2PR07MB8077:EE_|DB9PR07MB8752:EE_
x-ms-office365-filtering-correlation-id: 48034de6-88fa-4970-18e3-08dacba40edd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: WPyz7OHLKWI/plsnDJobzPYgB/VMelPoSdZ6mL3sxS7F9M1y7lMy3ud1ijNosujk8FI+TSNwXJpyMFzpKs3KEj3eg9BVdEzDXhKrUL6cI5WZWNj72kpXKD56EIQJ6uMBfiMOFy+AAUu6M4nQI6OhZgo+QLHiAA02XIyJdhSptfUg0ESe/jzU7VEbtEwT6TomIvQSNViRiFtgTNOUtkr79A1eW4pYBsBlMdnUyIGZKIG5w5oIx78E3kkDfPEIKMP5K/3Z0myZVebvuyuLLvhpOLOMBLTHnMv2f2gzJt7Lv9DqF3s2Po0rBGwg3T89tPj8i/BhOPOr3f0nQd0bZ4pm/gJShm90OBFNLdope9UYcFJTFy6C+j/ZlHA21XdE/QXF2SGrLtJIrGi/s33tajnFejy30rECYuIOe9wGpyH0ZuJAAjUr9+KHz0Y5UNFNU4vKAfud8eHlCo8UkFaZnDu5dVSm+ZWUVpSqTS609LyBK+dCZ3zWe9pWQVuId5IbjudjBceoYOQ2zEVDpZ55Y918Oh1/v9VJvWwH7vCFkq44aUNu8stMThmE10EHaL/04886eY0fqU3EJHP1qCRNPPq9XGXciAuSPhs2XliYYqwEDEsbYHhxY83FL/jUa8RYv7UX+LJ2PycOpriaefIYOE62GEYpTtz3S6P/B+Q3bWgrBGeiwD/+6TeYIEj181CwUMMaGGk6Yc7CSGVRyxHwpdCDgmZUWh35uFUBxDKZFJcxWEoRBUuBdRRp0FtoXAAJ4Ews+rYG9+5ju+Wr887dmi0lNxrv9dyijM9c0FRp3Z4mOO/XpQGXBcT0qffzvE0oa8ppq4uq4s/RkG5oA2q56rFc5hAGB5AVs9FEz4Oa9JGkvic=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR07MB8077.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(376002)(346002)(396003)(366004)(39860400002)(451199015)(31686004)(36756003)(8676002)(86362001)(31696002)(38070700005)(2906002)(4326008)(8936002)(7116003)(166002)(82960400001)(83380400001)(38100700002)(122000001)(66556008)(3480700007)(6916009)(91956017)(2616005)(186003)(316002)(66946007)(6486002)(76116006)(966005)(478600001)(6506007)(5660300002)(44832011)(66446008)(66476007)(64756008)(41300700001)(71200400001)(53546011)(26005)(6512007)(69594002)(45980500001)(43740500002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: Z2Vi2jl1th4BCNT5NdJLp1AycvhrGWs/NHb1cOG3aiQmIaK31jqoZebECVzMKEGp2gYrVGc+J7fX1Y5wxgm51d05Git8lLwOUdP2bCFnrNI3Q1zH+2MO79rb9hLSgO6fOWxjWEflKGr4ER4Ax/GmAWOaZOHMmgCnaRnMfcfXOe2m6IN3coxahGc/GP6Y9mZY86V6tyyVNx4uytddYJHHsuD59Cn7g2U1ZJDyNwbVpCPiGcWj6ra5W2GvnP9HWHhQmwMQxIm5BP9Pwnuv5CS9W5iqn3Gppl1zYS1fBqaTmQe0peT0+VGxxMj4eNhZehckLOqX+5yUOd3TeiwBFlKAh5ZMDrv8UXLQBJFuzUixf3TXsPEi4/A23LsQBIO8leEl/WmDW6GnSjkMQF0m4LI3hWmzzT9k7YyCNR87wO+klKYsFQ+k8G2SdAnMgLdsrn5vy6TRjcAA1/Cw9OcIKxU4TOAJpUIk7tYA8bJ0QIZjlbJN8XvvbtSayD9jPcn0c0Td0dtQ9hugQ/75CdMkSrCUHwUViiT+llvi8Grt9I2xyywqOPT01S/SV+RpigCDZrMwEo/St8xVbuJx4upd3Sbvk4WCD6PGuIuzjpeBbtPZ471gr7gcyyiTrqVU1j4TDsJs8z7WeO+o3DVzNURtpnjjviC+y+mVESQQCkfP1sjulhoC6EBfOh7cJ0dD90WqXTr91oLzM4Tm93cAIgIKAgu86ElK303hxZRf2p9YNxw3gCDZ3jJZI9fac39EiB1ThXYr/UENytJcgK+MftWVx7yv9wYUU57bnc4ptCgTTvRdE+1jJsdEaVUdcCSYVovet70SOCEBqzKLKZ270sXn4sPxU/plhh5gk5LVUhL6DMhjY13vpeaPL6WKBYcUmVbcJBHLVaqSJ3pFxX0m6ZDpoE9jwHuTD1zx14AEb7FqceBsiT0XyebRsoMsTt8B9ZvEQf3+1mm1RA8azLgYSs0kyuZV3bOU62XCN+hT9xtyshpTIMNmYSJaqTq2UYOl1WK5uo1n8WX9Nq1xqfH54y1T5UqM6K4MKqCemDwmQzGgpgKZulWNweWtiim3+cvoByg4KhkGsNR9TfGXnCKvd+GB76sCo7KY7uN5YFrgZtOV1aqjvXIDhK3tQjBzt1ODvxI0yjeKOcry7CGwFs3rp1MGDas96nqyEFZuJjK88rwxSE/M16sfR967XsjVStHBP1eDq0nQazqSaW5smNbcfTxTVOI3uJCp91bxW6rnwP3zLpbdzTPbyDj+VoqtF8SdKbygw+d/o+f3GjvA0cWoPng39rtnSiseBHc9dvELi6U8zMN9/Uom32WLi55PvlRLmaEJvMNqio1WvbT4DNiQ6ieRhEoE5cVRAiWjAccvw3h8rN9p7A9++0GhC1SICUlSU2Li9oWR70FwQ6QkTefEzbz4yd1/1qf2S57rOMC9lTgPvCvGepefbxmqY/9o20DqJiZ5NVLxzgM21KMjOfqk+2nuR+rxkZ2v3Nwl/sCfDQlRDBgMzt0oCPqZZ8R48v55+dj0M35N7AoqmK6XnfAZD+DqNw6iwh/XEJCpDNhrs9JAzlfW9sSkKsM5FmX8dMXBdg6jDv/Gp8rHJEnxJQAyi46cznD3T1zHkcE6CO9efk42aVKRsYY=
Content-Type: multipart/alternative; boundary="_000_8647c5bb78674fa8ad2b3d874ec94fe0ericssoncom_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU2PR07MB8077.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48034de6-88fa-4970-18e3-08dacba40edd
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2022 09:37:51.0636 (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: DJznFLdGACdWs1wZg3jaVMVmAasq/skHgibzd7byusYSv4n5mF0gdfFYVsWC5NWJBK7+VPd4iqdn7E8D8SZzPEU9VTAqx2ZeJ/ckhmWypo8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR07MB8752
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/kByOrUTpXwMAb-GDiYmVcbtqcC0>
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, 21 Nov 2022 09:38:01 -0000
Hi Yunfei, I agree that cross-path ACKs is a powerful tool and we seem to agree that for them to work well, an implementation needs to understand the peer's ACK strategy. That is doable if you control both sides of the connection, but then you don't need a protocol standard at all :-). Until cross-path ACKs are better understood, I argue that they should be opt-in, and the default mechanism should be to always send ACKs in-path, a strategy that the spec already recommends: The recommended default behaviour consists in sending ACK(_MP) frames on the path they acknowledge packets. Thinking a bit more, the use of cross-path ACKs should probably not only be a binary opt-in but a negotiation about the ACK strategy to use. It is then possible to experiment with different cross-path ACK strategies to see which works best. /me ________________________________ From: Yunfei Ma <yfmascgy@gmail.com><mailto:yfmascgy@gmail.com> To: Michael Eriksson <michael.eriksson@ericsson.com><mailto:michael.eriksson@ericsson.com> Cc: IETF QUIC WG <quic@ietf.org><mailto:quic@ietf.org> Subject: Multipath acknowledgments Date: Sat, 19 Nov 2022 10:28:04 +0100 (Central European Standard Time) Hi Michael, You have a good point. Yes, the scheduling strategy on ACKs affects the performance, especially if you are using delay-based congestion control where putting ACKs on different paths could induce jitters in the inter-packet delay. Due to the fact that the congestion controller is on the sender-side but the scheduler for ACKs is on the receiver-side, there is a lack of sender-receiver coordination. One way to solve this problem is through the negotiation method you mentioned above, and the other way is to use a feedback signal that informs the peer on how to schedule packets. In fact, for scheduling ACK-eliciting data packets, such a lack of coordination also proves to be a problem. For example, in XLINK, we use reinjection to enhance performance, however, aggressively reinjecting packets increases redundancy, and thus, traffic costs. Our solution is to let the receiver provide some feedback so that the aggressiveness of the sender-side scheduler can be dynamically adjusted. In an early draft, https://datatracker.ietf.org/doc/html/draft-liu-multipath-quic-04, we define a QoE_Control_Signals frame which serves this coordination purpose. The QoE_Control_Signals is designed to be flexible and it can be used to carry various semantics. In your case, if the sender wants the receiver to schedule ACKs in an in-path way, it can convey this message through QoE_Control_Signals. In my opinion, the good thing about ACK_MP is that it is more capable than normal ACK, so even if you prefer to do in-path acknowledgement most of the time, ACK_MP still provides you an "emergency exit" if one of the return paths is completely blocked. On the other hand, we do want the ability to better coordinate a peer's scheduler (for both data and ack packets). Therefore, in addition to the core multipath draft, we may want to think about a separate draft discussing some advanced scheduling strategies that focus on how to achieve the best performance under various conditions. Cheers, Yunfei On Fri, Nov 18, 2022 at 7:03 AM Michael Eriksson <michael.eriksson=40ericsson.com@dmarc.ietf.org<mailto:40ericsson.com@dmarc.ietf.org>> wrote: Greetings fellow multipathers, TL;DR: Multipath QUIC should by default use the same in-path acknowledgment design as unipath QUIC. Cross-path acknowledgments are interesting but complex, not yet fully understood and should be an opt-in extension. The current multipath draft specifies that acknowledgment signaling should be done with a new frame type, ACK_MP, when the (potential) use of multiple paths has been agreed for a connection. This means that all implementations need to be able to handle incoming cross-path acknowledgments (XP ACKs), where acknowledgments of packets that have arrived on one path is sent on other paths. Sending XP ACKs is voluntary. XP ACKs have some attractive properties, in particular these two: * Some "self-clocking" congestion control algorithms, such as the popular CUBIC, can grow the congestion window faster if the ACK is sent on a path with lower latency * The stream data retransmission and receive buffers can be smaller if the flow control feedback is faster However, XP ACKs also have a few drawbacks, mainly because the experienced round-trip time varies depending on which path is used for each ACK. This implies that: * Latency-based congestion control algorithms can be confused * Loss detection is harder; both the packet loss time threshold and the probe timeout will have problems I argue that these problems are not well understood, and forcing all multipath implementations to handle them is not a good idea. However, there are interesting possible optimizations that should be researched, so there should be a mechanism to negotiate the use of XP ACKs. If this should be specified in the main multipath spec or another document is a separate but minor question. When the use of XP ACKs is not negotiated, each path should use the acknowledgment mechanism (including the use of the normal ACK frame) that is already implemented and proven to work with unipath QUIC. Summary Cross-path acknowledgments are so difficult to handle that implementations should not be forced to do that. The default should be to only do in-path acknowledgments exactly like unipath QUIC does. /me
- Multipath acknowledgments Michael Eriksson
- Re: Multipath acknowledgments Yunfei Ma
- Re: Multipath acknowledgments Michael Eriksson