Re: [multipathtcp] Multipath TCP Address advertisement 4/5 - Priorities

<philip.eardley@bt.com> Tue, 15 November 2016 08:20 UTC

Return-Path: <philip.eardley@bt.com>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 71DB21294E3 for <multipathtcp@ietfa.amsl.com>; Tue, 15 Nov 2016 00:20:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.099
X-Spam-Level:
X-Spam-Status: No, score=-4.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RP_MATCHES_RCVD=-1.497, SPF_PASS=-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 y7UNC2lfBeuN for <multipathtcp@ietfa.amsl.com>; Tue, 15 Nov 2016 00:20:09 -0800 (PST)
Received: from smtpb1.bt.com (smtpb1.bt.com [62.7.242.142]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 020BA129A47 for <multipathtcp@ietf.org>; Tue, 15 Nov 2016 00:20:08 -0800 (PST)
Received: from EPDAG01D-UKBR.domain1.systemhost.net (193.113.197.205) by EVMED06-UKBR.bt.com (10.216.161.38) with Microsoft SMTP Server (TLS) id 14.3.195.1; Tue, 15 Nov 2016 08:20:01 +0000
Received: from rew09926dag03c.domain1.systemhost.net (10.55.202.26) by EPDAG01D-UKBR.domain1.systemhost.net (193.113.197.205) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 15 Nov 2016 08:20:05 +0000
Received: from rew09926dag03b.domain1.systemhost.net (10.55.202.22) by rew09926dag03c.domain1.systemhost.net (10.55.202.26) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 15 Nov 2016 08:20:05 +0000
Received: from rew09926dag03b.domain1.systemhost.net ([fe80::d514:fe50:560c:401e]) by rew09926dag03b.domain1.systemhost.net ([fe80::d514:fe50:560c:401e%12]) with mapi id 15.00.1210.000; Tue, 15 Nov 2016 08:20:05 +0000
From: <philip.eardley@bt.com>
To: <cpaasch@apple.com>, <alan.ford@gmail.com>
Thread-Topic: [multipathtcp] Multipath TCP Address advertisement 4/5 - Priorities
Thread-Index: AQHSOCkrjjhofZK65UqNmzjsBMsMXaDWlTyAgAEvuACAAEdigIABpHSAgAAPn90=
Date: Tue, 15 Nov 2016 08:20:04 +0000
Message-ID: <1479198004933.493@bt.com>
References: <581F2334.8010403@uclouvain.be> <20161113075145.GH4269@Chimay.local> <826bf9ab-e9b7-a89b-28de-676deece8a4b@uclouvain.be> <D0FA35FF-B17F-4F7F-92E1-D9FBB6E735A7@gmail.com>, <20161115071909.GV4269@Chimay.local>
In-Reply-To: <20161115071909.GV4269@Chimay.local>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.187.101.44]
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/FvEKp0ldC3FVy7nFywIjuRzdb_4>
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] Multipath TCP Address advertisement 4/5 - Priorities
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/multipathtcp/>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 Nov 2016 08:20:11 -0000

i wonder if there are any lessons we can learn from ecn/dscp expereinces?
my rough impression is that 
- a single bit is useful
- multiple qos levels haven't been as useful as might have expected. in retrospect, at least some people think it would have been better to define codepoints to have a particular meaning about the service carried, rather than just relative levels. at least if one hopes it will work inter-domain.

phil
________________________________________
From: multipathtcp <multipathtcp-bounces@ietf.org> on behalf of Christoph Paasch <cpaasch@apple.com>
Sent: 15 November 2016 07:19
To: Alan Ford
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] Multipath TCP Address advertisement 4/5 - Priorities

Hello,

On 14/11/16 - 06:14:17, Alan Ford wrote:
> Hi all,
>
> After discussion at IETF97, I think it’s clear that this proposal - the
> idea of “priority” - means different things to different people. For
> example:
>
> a) A percentage split - but would that only kick in when one link is full?
> Or would all traffic always be split?
> b) Prioritising subflows, overflowing only when one is full
> c) QoS (latency, bandwidth, etc) values
> d) etc etc
>
> Personally I think only (b) makes sense at the subflow level, everything
> else is far too complex to signal in a few bits. Whether it is of use to
> people in the real world, however, I don’t know, however!

I agree with you that signalling priorities in the sense of (b) is not
necessarily useful. Because, at the end it is then still left to the
decision of the implementer on how he translates the priorities into
scheduling.

I think that one missing piece in MPTCP today is the lack of control a
host can exercise on how the peer should schedule its traffic.

The backup-bit only enables seamless handover. But MPTCP's benefits go
beyond that. Especially for applications sending a thin stream, the delay
benefits can be huge (as has been mentioned in the IETF journal article), if
the scheduling takes RTT into account (while minimizing cell usage for power
& cost reasons).

Allowing to signal this will be a bigger exercise, but I believe
that it is necessary if we want longterm to go to a world where a client can
connect to any webserver (of any implementation) and use MPTCP.

> I also think it’s entirely feasible to achieve a lot of the traffic
> engineering here by using TCP control signals - ACKs and window size - to
> slow down communications. As a sender you can already control rate based
> on your local policy, and at the receiving end you could use ACKs, ECN,
> window, etc.

Ignoring potential issues with changing the window-sizes or using ECN for a
moment. Using such tricks would only work for bulk transfers. Thin streams
won't be able to reduce/increase the amount of traffic on the secondary subflow.


Cheers,
Christoph

>
> This proposal needs a much clearer idea of what it’s trying to achieve
> before we could consider it for merging.
>
> Regards, Alan
>
> > On 14 Nov 2016, at 01:58, Fabien Duchêne <fabien.duchene@uclouvain.be>
> > wrote:
> >
> > Hello,
> >
> > Inline,
> >
> > On 11/13/2016 08:51 AM, Christoph Paasch wrote:
> >> Hello, while I support adding more info to MPTCP to allow a
> >> finer-grained control of the peer's scheduling, I think the
> >> priority-bits should be defined in a more precise way.
> >>
> >> I see the this work here as a way to allow for a more deterministic
> >> behavior when an MPTCP-client connects to a MPTCP-server. As of today,
> >> when I on my mobile device connect to a server that is outside of my
> >> control, the only way I can tell the server to schedule traffic in a
> >> certain way is by using the backup-bit. Upon which I can expect the
> >> server to not send traffic on this subflow unless the primary subflow
> >> is broken.  This kind of "configuration" is not sufficient for most
> >> use-cases.  I see the priorities as a way for the client to tell the
> >> server exactly what kind of scheduling it expects to meet a certain
> >> "QoS-requirement".  So, we should clearly specify what each priority
> >> means.
> > The way I wrote the draft was more like "ok, let's tell the server that,
> > if possible, I'd like to receive most on the trafic on this subflow,
> > then this one, then this one".  This is why I wrote
> >
> > "The priority field MUST be interpreted as an unsigned integer value
> > with the highest numerical value being the most preferred one."
> >
> > While I agree that we should be as specific as possible, I wonder how we
> > could be more explicit about this. Any idea?  If we are too specific,
> > like saying "always schedule on the highest priority subflow, until the
> > windows is full, then skip to the next one" we are actually writing a
> > strict priority scheduler, and I was hoping that we could leave the
> > priority open to more creative ways of handling the priorities.  It's a
> > MAY because I'm not sure that making the respect of the priority a MUST
> > would be interesting, for backward compatibility, but also because the
> > priorities of one host could clash with the other's own interest.
> >
> >> If we leave the interpretation of the priority-bits open to the
> >> implementation, hosts still cannot rely on getting a certain service by
> >> the peer when set the priority bits.
> >>
> >>
> >> Thoughts?
> >>
> >>
> >>
> >> Cheers, Christoph
> >>
> > Cheers!
> >
> > Fabien
> >
> > _______________________________________________ multipathtcp mailing
> > list multipathtcp@ietf.org <mailto:multipathtcp@ietf.org>
> > https://www.ietf.org/mailman/listinfo/multipathtcp
> > <https://www.ietf.org/mailman/listinfo/multipathtcp>

> _______________________________________________
> multipathtcp mailing list
> multipathtcp@ietf.org
> https://www.ietf.org/mailman/listinfo/multipathtcp

_______________________________________________
multipathtcp mailing list
multipathtcp@ietf.org
https://www.ietf.org/mailman/listinfo/multipathtcp