Re: My BoF report: multipath

Christian Huitema <huitema@huitema.net> Fri, 23 October 2020 01:15 UTC

Return-Path: <huitema@huitema.net>
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 40F4E3A1066 for <quic@ietfa.amsl.com>; Thu, 22 Oct 2020 18:15:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.145
X-Spam-Level:
X-Spam-Status: No, score=-2.145 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.247, SPF_FAIL=0.001, SPF_HELO_NONE=0.001] autolearn=no autolearn_force=no
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 yvg2Np9RxCcC for <quic@ietfa.amsl.com>; Thu, 22 Oct 2020 18:15:38 -0700 (PDT)
Received: from mx36-out10.antispamcloud.com (mx36-out10.antispamcloud.com [209.126.121.30]) (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 B861B3A0EA9 for <quic@ietf.org>; Thu, 22 Oct 2020 18:15:38 -0700 (PDT)
Received: from xse65.mail2web.com ([66.113.196.65] helo=xse.mail2web.com) by mx166.antispamcloud.com with esmtp (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1kVlg6-000LIP-CZ for quic@ietf.org; Fri, 23 Oct 2020 03:15:37 +0200
Received: from xsmtp21.mail2web.com (unknown [10.100.68.60]) by xse.mail2web.com (Postfix) with ESMTPS id 4CHR9h40QgzqMX for <quic@ietf.org>; Thu, 22 Oct 2020 18:15:20 -0700 (PDT)
Received: from [10.5.2.49] (helo=xmail11.myhosting.com) by xsmtp21.mail2web.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1kVlfs-0005xn-EI for quic@ietf.org; Thu, 22 Oct 2020 18:15:20 -0700
Received: (qmail 15383 invoked from network); 23 Oct 2020 01:15:19 -0000
Received: from unknown (HELO [192.168.1.107]) (Authenticated-user:_huitema@huitema.net@[172.58.43.139]) (envelope-sender <huitema@huitema.net>) by xmail11.myhosting.com (qmail-ldap-1.03) with ESMTPA for <quic@ietf.org>; 23 Oct 2020 01:15:19 -0000
Subject: Re: My BoF report: multipath
To: Martin Thomson <mt@lowentropy.net>, quic@ietf.org
References: <d84c82b1-fa67-4676-9ce2-d2a53d81b5f7@www.fastmail.com>
From: Christian Huitema <huitema@huitema.net>
Autocrypt: addr=huitema@huitema.net; prefer-encrypt=mutual; keydata= mDMEXtavGxYJKwYBBAHaRw8BAQdA1ou9A5MHTP9N3jfsWzlDZ+jPnQkusmc7sfLmWVz1Rmu0 J0NocmlzdGlhbiBIdWl0ZW1hIDxodWl0ZW1hQGh1aXRlbWEubmV0PoiWBBMWCAA+FiEEw3G4 Nwi4QEpAAXUUELAmqKBYtJQFAl7WrxsCGwMFCQlmAYAFCwkIBwIGFQoJCAsCBBYCAwECHgEC F4AACgkQELAmqKBYtJQbMwD/ebj/qnSbthC/5kD5DxZ/Ip0CGJw5QBz/+fJp3R8iAlsBAMjK r2tmyWyJz0CUkVG24WaR5EAJDvgwDv8h22U6QVkAuDgEXtavGxIKKwYBBAGXVQEFAQEHQJoM 6MUAIqpoqdCIiACiEynZf7nlJg2Eu0pXIhbUGONdAwEIB4h+BBgWCAAmFiEEw3G4Nwi4QEpA AXUUELAmqKBYtJQFAl7WrxsCGwwFCQlmAYAACgkQELAmqKBYtJRm2wD7BzeK5gEXSmBcBf0j BYdSaJcXNzx4yPLbP4GnUMAyl2cBAJzcsR4RkwO4dCRqM9CHpVJCwHtbUDJaa55//E0kp+gH
Message-ID: <f7fc7d43-f143-e3ad-884c-de9090ffe9e9@huitema.net>
Date: Thu, 22 Oct 2020 18:15:19 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1
MIME-Version: 1.0
In-Reply-To: <d84c82b1-fa67-4676-9ce2-d2a53d81b5f7@www.fastmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-Originating-IP: 66.113.196.65
X-Spampanel-Domain: xsmtpout.mail2web.com
X-Spampanel-Username: 66.113.196.65/32
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=66.113.196.65/32@xsmtpout.mail2web.com
X-Spampanel-Outgoing-Class: unsure
X-Spampanel-Outgoing-Evidence: Combined (0.15)
X-Recommended-Action: accept
X-Filter-ID: Mvzo4OR0dZXEDF/gcnlw0Z1apovzGPsYhEeBL1aoZmqpSDasLI4SayDByyq9LIhVUZbR67CQ7/vm /hHDJU4RXkTNWdUk1Ol2OGx3IfrIJKywOmJyM1qr8uRnWBrbSAGDcnqpk5VeF3xR4kF6iVwRtbgN zB/4Jkrw1eDLcif59fuoaBY4I8fn/Q9L3PztmdEZU7Tmz6iKnkQL9gqsxD347235Nhqq+/HvroPq 8GSPg+60/QPNqXybIny9WGhadIo/FqANMYqm8+U1ocMliIzyKbyme9ldZJ7uNXfg/GfS8fUvP/L5 rCqHDsKZM+xa1iwJX+gRCHfMVnsAk591zk0uilUI+ZL4xWiN8NS6C+dmX6OEdA4u1aThyWrQ/ou2 +v/lmX4Em37yFgrCB6NHRn1g+f3uncIqYSL3lhh5c81YyJqFoLZMmkWsaurVZfvqROaDnDtHb8z5 dpPkEuJ8Snwqla7jUnW3hy14Yji8fo+4xCnSRo4Rcu5Z37rMuDjCny5fE9ykbJ7I9co1MAEE3ruN Xsm8UJsAPvDcVSKtDCYkioPY5Qx4fJOk03R5fJtf/Dv/dkIzS7m4GUpXCY1Y3j3ilZpnfSx1WjM8 Y221ho/pD394mWepawqbJhSWXDEVBtSwVtCtEdRBnx2OI4mooceYMwzZeMDjiagREuss3E0KXWok 6Q9V9YO5wBS5yaTKclLkYQbu5FXytLlK11UguLPyHxg66gs5OuzYxJgw5atIxePaw4mGPOB1lCDk b7ANR1sP/tTYPm09vlntCcmgCU0FZxqf27VeHOkXe82afzWlDIusPxerCdYWW+VgPOwJmTKnHHAS JNUmoOHSoqgqxfHmWfZIwxxhwvMcWh0MGcvUtQjfE26XwPnSCPC40+D9YVf31vEjHyvS2QZiR+AZ YvfxEvZFKu+ZM2mB1CpThxyaBpbeNHk15VolAGHS5rCXQKDyCQUljhSWDhWh87HBSLhNUo4qiB0X MVQG2R7iUfOzATaF5R3hQJk8CwyURYKQ0Ye0iR3bHfnMCIEU+nrglojKwJanfcoq9IsR6l/OZb9V MEM=
X-Report-Abuse-To: spam@quarantine11.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/3gyng4u-wEisfvahzfbU1-5epeQ>
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: Fri, 23 Oct 2020 01:15:40 -0000

That's a great summary! Thanks, Martin.

On 10/22/2020 5:05 PM, Martin Thomson wrote:
> (I put a variation of this comment in the meeting and in slack, but I wanted to expand on it some.  Sorry, but this got long.  Four hours is not enough sleep.)
>
> Multipath seems pretty clearly useful for certain cases.  I think that the meeting today answered at least the first two of the BoF questions I posed earlier on the list.  So if we are to regard this as a BoF, it meet its goals (thanks chairs).  There is some uncertainty about the first question about having a clear problem to solve, but I am of the view that we could muddle through with some combination of either ignoring our differences or working around them.  The third question regarding constituency is where I didn't find a satisfactory answer.  I want to be clear though, this is no fault of the proponents.  At the current time, I am convinced that formally starting work on multipath would be unwise.
>
> Multipath aims to improve performance either through latency, robustness, or throughput.  Application awareness and involvement in scheduling seemed to be the key factor that enables finding the optimal usage pattern or scheduling algorithm that allow multipath to deliver on those goals.  Applications and users are in the best place to balance goals against other factors like cost or whatever else matters most.  (For reference, I recall the same point being made by Roberto and Christian most clearly, but several others made the same point.)  Christoph did a good job of showing how this applies to very specific use cases, and I thought I saw that in the Alibaba presentation also, but we didn't quite get enough time to get the necessary detail in either presentation.  One potential advantage in this regard is that QUIC implementations are often closer to applications, so they might be in a good position to integrate better.
>
> However, many of the cases that were presented were exactly the sorts of opaque intermediation that is almost the antithesis of that ideal.  Similarly, David's assertion that multipath is orthogonal to MASQUE is reliant on the assumption that application involvement is not that important.  In these cases, it's not clear that using multipath is strictly good.  
>
> I should unpack that a little.  For those people who are making scheduling decisions outside of the endpoint (possible examples being the satellite case and the 3GPP case), it's not clear that this is anything endpoints can prevent.  An endpoint probably can't stop a network provider from using ECMP either.  Similarly, it is not clear how an application endpoint could be aware of these decisions at a level that would allow them to understand and adapt to this treatment.  The result is that these cases have a far more ambiguous value proposition.  Improvements come with trade-offs: for instance, the application might get better throughput, but it comes at a cost to latency.  So I conclude that while these intermediary-based designs might provide an aggregate gain, they will probably not realize the full performance gains that come from end-to-end awareness and control.
>
> For IETF insiders, see also the BANANA or LOOPS BoFs which were strictly network-based analogues of these.  Many of the same concerns that caused those BoFs to fail apply to those use cases.
>
> Maybe we accept the application of the protocol to these questionable ends as acceptable collateral if we are able to deploy at the endpoints.  Maybe we allow intermediaries to seek marginal improvements, but try to ensure that we have a clear path to deploying something better in the long term.  But there is a risk that deployment in the network could interact poorly with more-ideal end-to-end solutions and even prevent those deployments.
>
> These are systems-level questions that are large in scope and subtle in their effect.  I think that it will require considerable energy to resolve them.  Or, as seems more likely in my experience, it will take more time and effort to design a protocol where there are fundamental disagreements about the nature of the deployment models.
>
> However, this isn't the only factor.  We are not deciding on the merits and value of multipath in a vacuum.  It was pretty clear that multipath has potential, at least in principle, or in certain cases.  I'm also mostly convinced now that we could produce a design.  There's some uncertainty, but it seems like we could tolerate that.  QUIC definitely wasn't a sure thing when we started out, I can't expect any large effort to be risk free.
>
> So, with some uncertainty about uses cases, I might still conclude that we have satisfactory answers to the first two BoF questions.  My concern here is about the third: constituency.
>
> What I think is most important at this point is understanding if this protocol will remain a single, coherent thing.  That we can keep building on the "synergies" that Spencer referred to.  No matter the technical merits of the protocol (it's great! probably!) that synergy is probably the most important feature that this working group has delivered with QUIC.  The details of the protocol matter less than the fact that we have a group of people committed to building and maintaining that protocol.  This working group needs to be the venue where work happens so that this community can continue to build on this success.
>
> So for multipath, if we take it on, I'd only like to do so if I was convinced that a non-trivial proportion of the active deployments are committed to working on it and deploying the new extension or version.  That is, that this community wants to do the work.  I see no evidence of that yet, which is why I will claim that this fails to satisfactorily answer that third BoF question.
>
> It is very easy for a splinter group to define a new version of QUIC that does anything.  draft-deconnick or draft-huitema could be the basis of that sort of effort and that could result in the definition of QUIC 84 or 0x0219c81 or whatever.  Call it QUICv2 if you really want.  But if that protocol is only used in certain narrow contexts, then it doesn't produce any of those synergies.  On the contrary, it works to undermine them, so I would prefer to avoid that.
>
> So rather than ask whether multipath is doable, I think we need to instead decide what the QUIC working group - the group that built the core protocol - is doing next for that core protocol and the deployments that depend on it.  Personally, I don't think that we're ready for another large project.  We need deployment experience with the protocol.  We also need to go in and backfill those pieces of QUIC we need for the next thing, like version negotiation.  For me, that's more than enough.
>
> I've now seen a lot of enthusiasm for the idea of multipath.  There were some great presentations with convincing use cases.  There might be too much diversity in use cases or a schism in approaches, but we probably could, with sufficient energy, overcome that.  However, I have to conclude that this is not a good time for starting that work.
>
> I realize that this is likely unsatisfactory to those who want multipath.  I also recognize that deferring work when there is such clear demand could result in that demand manifesting in a bunch of non-interoperable protocols.  Those are risks that we each have to assess for ourselves.
>
> This will change over time.  I don't know how long it will take.  But it's not now.
>
> Thanks for reading this far,
> Martin
>