Re: Preparing for discussion on what to do about the multipath extension milestone

Matt Joras <matt.joras@gmail.com> Mon, 05 October 2020 05:26 UTC

Return-Path: <matt.joras@gmail.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 3F9153A0D86 for <quic@ietfa.amsl.com>; Sun, 4 Oct 2020 22:26:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 86q43dT9OR5B for <quic@ietfa.amsl.com>; Sun, 4 Oct 2020 22:26:29 -0700 (PDT)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 650C43A0D85 for <quic@ietf.org>; Sun, 4 Oct 2020 22:26:29 -0700 (PDT)
Received: by mail-lj1-x233.google.com with SMTP id a5so678673ljj.11 for <quic@ietf.org>; Sun, 04 Oct 2020 22:26:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QDW7j8uxGxsiXOkiCYy5yStceyXmBZ7Dxfi3lRy2yuk=; b=uGALYLxqPSn4fwMgBkQJUyYn3u6mviaSkhhBvgC8cUqoC+FuejngWnA6/NajgSi/r8 P3eBKyNTwB8Wo0ftn1mPg1HgTq50+WBLEyJsErtVO+/r8lzcnnXrLMVh8ChoRh1V55Ja HzL/cV4UaL2zWTOjPM3GlHHgllJHsoVsO4qEtqkJ1+QlXieVluTjpIGdnqpyZppxFxNP TtJ2Gw3UbGjg7EcliyOz0JJHs+CKJZrdf3cg/9RBl+XaLpDYr69uSa9ZLIrn6casaHYW RSQfrbjXBMK/KSpLP3cWZJ1s6xF/7J6Qwu5guOHnV6Mncbe7KB9GG29609Uy/oFcd8JO NzUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QDW7j8uxGxsiXOkiCYy5yStceyXmBZ7Dxfi3lRy2yuk=; b=bf1wReTKWC37KYNxVuD9BF7bj2peAk4/+TZZiSTsVyi3ypVw7ZyPg9lTWMmuV9tYhY AHg1/zoHlI9nQU+hQ2wh3m3krFAvV8w3zmDQTTp7XFBPk3FjexuE+aHLPh9hV6hSepw3 g2BzJv+dtMmNRHJ8vU8xMpKrtUJsd+UJVOES2lw8GnJQs1QfK4FuGhZQNsTCbk79EiLW aCavQEX/fJdP6YbNev1QEp5ijZNANrwASl6vq+SQzk72gv2uXpn91xgkQo8QRNJWIPSZ yDg13Al7qZ5kprfxgPY5BxeXlHfTaCCqm/qfd3urtjPvx3PQrUPuUZGLcAfvzzYyQm+5 VrQQ==
X-Gm-Message-State: AOAM531Sd4SsMSH38T3WFy2MHidStyY+NSsvIWftY8yeWUFaw/ocPwny HskQxPPVOPipizlsB4zk/c72IaXsJG39bt+8r9Y=
X-Google-Smtp-Source: ABdhPJzvsqhycLC4ymmX/8CMYx0xpJeRCpiCpv0W4GcXo3vk4o3y41jwExN7HHSBO89XRczRnmd91LtQvy+IC/jiT6I=
X-Received: by 2002:a2e:9c91:: with SMTP id x17mr3543669lji.113.1601875587426; Sun, 04 Oct 2020 22:26:27 -0700 (PDT)
MIME-Version: 1.0
References: <F0A5E38D-4117-4729-BFF8-72D97CAA9908@eggert.org> <CAKKJt-e=+XLZhNWqaG9YSLTRqyQRvDc-dagUSkFwHOByFwZ++Q@mail.gmail.com> <78651438-2fce-ba67-4f44-4228bbc79a75@uclouvain.be> <CADdTf+hOACZ1x=d8SV-aX0f3vc+_fyqTziRqi5gi+nJgppaz8A@mail.gmail.com> <CAKcm_gNF=0gwrPt=Mr1P=dF_-wmXfz-OJkavFSDe1qrXFeMa4A@mail.gmail.com> <20201002164854.GA2124@MacBook-Pro.local> <CADdTf+heu4DGT8PsF0yL1cknTCB0CiHJ_jBwXZ86ccxL6740qA@mail.gmail.com> <CALGR9ob39AhBQq5kt1tsBp6b3EHy8Aq-PkT_tSX3_hM-u9kYnQ@mail.gmail.com> <00553337-3e40-8630-9d94-04deb03dfc3e@uclouvain.be>
In-Reply-To: <00553337-3e40-8630-9d94-04deb03dfc3e@uclouvain.be>
From: Matt Joras <matt.joras@gmail.com>
Date: Sun, 04 Oct 2020 22:26:16 -0700
Message-ID: <CADdTf+iJJYeAhqSSaiB1HKXNZVa6_xLxHmQPc=rx7=pfKgzm1A@mail.gmail.com>
Subject: Re: Preparing for discussion on what to do about the multipath extension milestone
To: Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, Christoph Paasch <cpaasch@apple.com>, QUIC WG <quic@ietf.org>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="0000000000005cf00405b0e5b9ef"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/DAuIpeuCB-phHd2hrLnIG19h7Jc>
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: Mon, 05 Oct 2020 05:26:33 -0000

Olivier, some questions/replies inline to your response to Lucas. In
general I have similar concerns about coordination, and I am wondering
whether MPQUIC is trying to solve too many problems at once.

On Sun, Oct 4, 2020 at 2:17 PM Olivier Bonaventure <
Olivier.Bonaventure@uclouvain.be> wrote:

> Lucas,
>
> > +1 to the suggestion to discuss use cases, it is helpful for clarity.
> > And thanks Christoph for sharing some specific ones.
> >
> > For the use cases "Siri" and "Apple Music", since I'm not experienced
> > with multipath there's a gap in my understanding of how the proposal in
> > draft-deconinck-quic-multipath would be used to satisfy these use cases.
> > For instance, is the behaviour client-driven, server-driven or does it
> > require coordination? Would anyone be so kind as to share _an example_
> > of how uniflows would be used within a QUIC connection that uses a
> > request/response paradigm for data exchange.
>
>
> Let me try with a simple example on a moving smartphone. The application
> will send small amounts of data and receive variable amounts of data
> (depending on the type of requests).
>
I want to start by saying this is a real usecase, and a problem we see very
obviously through quality of experience outliers for people using our
products.

>
> We create a sending and a receiving uniflow on both the Wi-Fi and the
> cellular interface. The smartphone has two sending uniflows and the
> server as well.
>
> To send a short request, the client duplicates it over its two sending
> uniflows since it does not know which of the two uniflows will be the best.
>
> To return the response, the server could use the same scheduler if the
> response is short. However, if the response is long, this is not very
> efficient since data is sent over two paths. It could then use both
> paths to send the data and get the lowest delay to deliver the response.
> This could be modulated by policies if the user pays on a per volume
> basis over one path and not over the other.
>
This somewhat hand-waves away the scheduling problem. Most Internet traffic
flows in the direction of server -> client, where typical mobile clients
are obviously the ones with potentially multiple interfaces to the
Internet. The client also has the most information about the likely quality
of the first radio hop into the access network (e.g. signal quality). The
client also _may_ know about things like data pricing. However, the server
is the one which is responsible for scheduling most data across these
paths. To make good, proactive (rather than reactive) scheduling decisions
the server needs to be fed this information as input to its scheduler. This
seems a difficult thing to achieve in practice, and without it I wonder
whether the complexity of "full" multipath will be worth it until we solve
the signalling problem. What Ian is suggesting above, I think, is
essentially an Active/Passive extension to the existing connection
migration mechanisms we have today. What are your thoughts on this as an
initial direction? It would allow operators a way to solve this particular
problem with only mild modifications to the core protocol. Said another
way, I think in theory an omniscient packet scheduler can make very
intelligent decisions which would definitely benefit application quality.
In practice though I have concerns about how effective these schedulers
will be versus the naive approach which could be thought of as
"Active/Passive" or "Failover", eschewing bandwidth aggregation entirely.
I'd also like to echo what Kazuho said, which is that "Multipath" can mean
many things, and I'd prefer we narrow down the problem we want to solve in
the WG, which will drive our design direction.

>
> Another example is the hybrid access network scenario with a DSL and an
> LTE path. There, the objective is to send data over the LTE path only
> when the DSL is full.
>
> In this case, the solution would differ. The client would first create
> sending and receiving uniflows over the DSL path. It then monitors the
> usage of this path. As long as the DSL is not fully used for some period
> of time (e.g. one or a few seconds), all data flows over the DSL path.
> Once the DSL path is saturated, the client creates a receiving uniflow
> (and possibly a sending one if the DSL upstream is saturated) over the
> LTE path. The second path can be used to offload traffic. In practice,
> the client and the server use a priority scheduler to always prefer the
> DSL over the LTE path, see
>
>
> https://inl.info.ucl.ac.be/publications/increasing-broadband-reach-hybrid-access-networks.html

For these usecases, are you imagining that they would largely be used
internally for Internet operators? I always struggle with the hybrid access
examples, as they seem to assume a lot of knowledge about the underlying
networks that typical endpoints can't simply intuit from the ether. The
linked paper seems to suggest MPTCP as a proxy solution, which I gather is
largely the usecase things like ATSSS have for MPQUIC. However, as a mobile
application how do I know the DSL link is "full" and thus that I should
create a uniflow over the LTE path? The same question applies to the
server. It would be awesome if clients and servers had more active
information about the underlying network's state rather than being
reactive, but beyond things like ECN this seems difficult to achieve in
practice. If the Hybrid Access Network usecase of multipath presupposes a
deployment in an operator's network then I would argue it is somewhat
antithetical to the goals of QUIC, which deliberately puts more control at
the endpoints.

>
>
> Another usecase is a device that has a high-speed satellite downlink
> (but very slow upling) and a low-speed cellular connection. In this
> case, it can use two receiving uniflows (one cellular and one satellite)
> and one sending one (over the cellular). Requests are sent over the
> cellular path and responses are received over the satellite uniflow and
> acks are sent over the cellular uniflow.
>
>
> There is a generic discussion on schedulers in
>
> https://datatracker.ietf.org/doc/html/draft-bonaventure-iccrg-schedulers-01
>
>
>
> Olivier
>
> >  > Another question, and perhaps this is getting increasingly off-topic,
> > but now that we are getting into designing "significant" extensions, I
> > think it is worth asking whether this should be an extension at all.
> > I.e. should MPQUIC be a core feature of QUICv2?
> >
> > I tried to spin that out into another thread [1]. IIRC someone
> > previously suggested that MP-QUIC could start as an experimental version
> > of it's own. I can't find a citation for that though sorry.
> >
> >
> > [1]
> https://mailarchive.ietf.org/arch/msg/quic/p2II8y3y1FXy4kWMSuf1lgAXaFA/

Matt Joras