Re: [Fwd: New Liaison Statement, "LS on need for Multi-Path QUIC for ATSSS"]

Gorry Fairhurst <gorry@erg.abdn.ac.uk> Fri, 03 April 2020 08:36 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
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 A958F3A146F for <quic@ietfa.amsl.com>; Fri, 3 Apr 2020 01:36:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham 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 ZRrALrO3UEnt for <quic@ietfa.amsl.com>; Fri, 3 Apr 2020 01:36:08 -0700 (PDT)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [137.50.19.135]) by ietfa.amsl.com (Postfix) with ESMTP id B67DD3A146B for <quic@ietf.org>; Fri, 3 Apr 2020 01:36:08 -0700 (PDT)
Received: from GF-MacBook-Pro.local (fgrpf.plus.com [212.159.18.54]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPSA id 76E7C1B000AD; Fri, 3 Apr 2020 09:35:58 +0100 (BST)
Subject: Re: [Fwd: New Liaison Statement, "LS on need for Multi-Path QUIC for ATSSS"]
To: Olivier.Bonaventure@uclouvain.be, Lars Eggert <lars@eggert.org>, Ted Hardie <ted.ietf@gmail.com>
Cc: IETF QUIC WG <quic@ietf.org>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, Martin Thomson <mt@lowentropy.net>
References: <CA+9kkMBcsuJGy5A7cVuooCycfskGLDPnng6O7iN_5t9KWm21DQ@mail.gmail.com> <09D76C30-BB5D-43E5-8F93-661A6C7C105D@eggert.org> <85eefd12-1e10-df7f-d66e-3d0e317b1f00@uclouvain.be>
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Message-ID: <76ddd8dd-e70d-94e1-3982-d2cb1e176618@erg.abdn.ac.uk>
Date: Fri, 03 Apr 2020 09:35:57 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:68.0) Gecko/20100101 Thunderbird/68.6.0
MIME-Version: 1.0
In-Reply-To: <85eefd12-1e10-df7f-d66e-3d0e317b1f00@uclouvain.be>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Na8goYhBfTCazi3LfXIKL7Cwkws>
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, 03 Apr 2020 08:36:11 -0000

On 03/04/2020 08:55, Olivier Bonaventure wrote:
> Lars,
>>
>> what we have done with MPTCP is build a system that is reasonably 
>> good at pooling the capacity of multiple paths for one connection, 
>> *if* these paths have reasonably similar characteristics, esp. RTT.
> >
>> With paths with dissimilar RTTs, we can still pool the capacity, but 
>> only make it available for use to the application at pretty much the 
>> maximum of the individual RTTs. That’s still somewhat useful if you 
>> care about bulk throughput. It’s basically useless if you care about 
>> small-transfer latencies, which the web has been gravitating to for 
>> years. (Remember that the MPTCP design is ten years old - from a 
>> different world. Bandwidths have gone up a lot, making capacity 
>> pooling less urgent, but late cues have not decreased much.)
>
> This corresponds to the hybrid access network case that pools bandwidth.
>
>> To make multi path useful to today’s mostly latency-sensitive 
>> applications, we need a path scheduler that can pool (some of) the 
>> capacity of multiple dissimilar paths at some effective RTT that is 
>> much lower than the maximum of the individual ones. I am not aware of 
>> any proposed scheduler - for MPTCP or otherwise - that achieves that.
>
> AFAIK, this is exactly what Apple is doing with MPTCP. They call this 
> the "interactive mode" and the stack dynamically selects the path 
> (wifi or cellular) having the best performance (rtt, losses) for 
> interactive applications. See 
> https://developer.apple.com/videos/play/wwdc2017/707/
>
>> Even if we change the argument from pooling latency to increasing 
>> resilience, I still doubt that increased resilience at the cost of 
>> much-increased late zu is a worthwhile trade off for many apps.
>
> AFAIK, Apple calls that the "handover mode", it is probably less 
> useful that the interactive one. Maybe Apple engineers who are on this 
> list can comment and provide more details.
>
> I don't think that Apple uses MPTCP to pool bandwidth. They use MPTCP 
> to improve user experience and mainly latency.
>
>
> Olivier

When you says "select" do you mean "change to send data using the new 
path"?

I f so, I think this is close in operation to a "path failover", even if 
it uses a trigger metric that isn't just a loss of connectivity, but the 
result of some other path metric - e.g. significantly lower RTT, 
availanility of PvD information, ... . In my mind, this is quite 
different to a proposal for somehow "sharing" traffic/capacity between 
several paths, which means understanding capacity and the impacts of 
variability in path characteristics, the impact of traffic on pooled 
bandwidth, etc.

It still does pose some issues in estimating the capacity on the "new" 
path, but ... The mechanisms to do this seem to exist within the design 
expected of QUIC.

Gorry