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
>

Reply via email to