Re: [multipathtcp] MPTCP Architecture Draft available

Dominik Kaspar <dokaspar.ietf@gmail.com> Wed, 21 October 2009 11:47 UTC

Return-Path: <dokaspar.ietf@gmail.com>
X-Original-To: multipathtcp@core3.amsl.com
Delivered-To: multipathtcp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C3A843A6A37 for <multipathtcp@core3.amsl.com>; Wed, 21 Oct 2009 04:47:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.549
X-Spam-Level:
X-Spam-Status: No, score=-2.549 tagged_above=-999 required=5 tests=[AWL=0.050, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yF7w9Hj1-BSJ for <multipathtcp@core3.amsl.com>; Wed, 21 Oct 2009 04:47:08 -0700 (PDT)
Received: from mail-fx0-f218.google.com (mail-fx0-f218.google.com [209.85.220.218]) by core3.amsl.com (Postfix) with ESMTP id F16093A68EC for <multipathtcp@ietf.org>; Wed, 21 Oct 2009 04:47:07 -0700 (PDT)
Received: by fxm18 with SMTP id 18so7639901fxm.37 for <multipathtcp@ietf.org>; Wed, 21 Oct 2009 04:47:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=U4hTvGybRUgEIS7Zp0U+su6MTuBB2kCJASDzY2R61f0=; b=IOTD2e12zwEkhYfxGyrH/QZaY0Gp0A9ShIsAh8sdxsDKw8r3NaEo++6vShr7LizGVO tLWo1Ud18m3O9f4zwX0vTGtVmcMX/YYrf7zXZKCsXlaiU7nQFSwByoi2kqlBIZnI5Xd9 2/KQFY2fIwXKoUVaAVQjmKGeaxpXYu671uJyk=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=w1E/iQmeOyniKeC11CrjeYDHp8UFQPQWTifPXWl3EqNlAxMeT8SgeQ2sAf+zmCvw1i Lg96cxL2ZdbkET4F03vmzd5xbRo8iOPtXPJ4q+jGc9zCA2l14VCq7a2WXtto45ACiK2e BDqFpAXixRXi04VqtA24aucD5YebFqZAtCCKg=
MIME-Version: 1.0
Received: by 10.103.144.22 with SMTP id w22mr3297564mun.52.1256125633087; Wed, 21 Oct 2009 04:47:13 -0700 (PDT)
In-Reply-To: <2a3692de0910210444oa02672cj3de1c08d33979d7d@mail.gmail.com>
References: <2181C5F19DD0254692452BFF3EAF1D6808A4526B@rsys005a.comm.ad.roke.co.uk> <2a3692de0910200956h1fd58d9g32f131668321489@mail.gmail.com> <2181C5F19DD0254692452BFF3EAF1D6808A45480@rsys005a.comm.ad.roke.co.uk> <2a3692de0910210136s6a11bb7fy57a12540a44c6c41@mail.gmail.com> <2E371E24-1401-45F0-86F0-D0A555F7CCEE@cs.ucl.ac.uk> <2a3692de0910210444oa02672cj3de1c08d33979d7d@mail.gmail.com>
Date: Wed, 21 Oct 2009 13:47:13 +0200
Message-ID: <2a3692de0910210447j54d46d5eta663715ac49cb6ff@mail.gmail.com>
From: Dominik Kaspar <dokaspar.ietf@gmail.com>
To: Costin Raiciu <c.raiciu@cs.ucl.ac.uk>
Content-Type: text/plain; charset="ISO-8859-1"
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] MPTCP Architecture Draft available
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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: Wed, 21 Oct 2009 11:47:09 -0000

Oops, my mistake, the example should be like this:

Path A: 1.0% loss, 2 Mbit/s
Path B: 0.1% loss, 1 Mbit/s

Dominik

On Wed, Oct 21, 2009 at 1:44 PM, Dominik Kaspar <dokaspar.ietf@gmail.com> wrote:
> Hi Costin,
>
> I see. In other words, are you assuming that the "throughput
> proportion" of the paths is always equal to the "loss proportion"? If
> so, is that a generally valid assumption?
>
> For instance, continuing your example with a Path A that has a loss
> rate of 1% and Path B that experiences 0.1% loss: let's also assume
> that Path A has an average TCP throughput of 1 Mbit/s and Path B
> achieves 2 Mbit/s. Why should the "reliable but slow" Path B get a 10
> times larger window than the "unreliable but fast" Path A?
>
> Greetings,
> Dominik
>
>
> On Wed, Oct 21, 2009 at 11:42 AM, Costin Raiciu <c.raiciu@cs.ucl.ac.uk> wrote:
>> Hi Dominik,
>>
>> Please have a look at our proposed congestion control draft for multipath,
>> it answers some of your questions for the case when there is always data to
>> send, i.e. mptcp is not application limited.
>>
>> Deciding which path to choose when mptcp is application limited is unclear
>> yet.
>>
>> Let me briefly summarize your questions and answer them:
>> 1. How much traffic should a multipath flow get in aggregate?
>> We answer this by saying it should do no worse than a single tcp on its best
>> path, and it shouldn't take more path on any of its paths than a single TCP
>> would. With this in mind, we compute the overall aggressiveness of the
>> multipath flow (parameter alfa) dynamically, based on the instantaneous
>> congestion windows and rtts of the individual paths.
>>
>> 2. How much traffic should go on individual paths, out of this aggregate? It
>> is desirable to put more traffic on less congested paths, because this helps
>> spread congestion better in the network (this is resource pooling). Our
>> algorithm, in the long run, will allocate proportionally more window to
>> paths with lower drop probabilities. For instance, if a path has loss rate
>> 1% and another 0.1% percent, our algorithm will put 10 times more window on
>> the second path than on the first path. All this, while conforming to the
>> stuff detailed in question 1.
>>
>> Cheers,
>> Costin
>>
>>
>>
>>
>> On 21 Oct 2009, at 09:36, Dominik Kaspar wrote:
>>
>>> Hi Alan,
>>>
>>> True, the question of "when" to use MPTCP may largely be an
>>> implementation-specific issue. However, in the case of resource
>>> pooling of multiple interfaces (bandwidth aggregation), I do not yet
>>> see how MPTCP will be able to decide how much data to send over which
>>> interface. Of course, each subflow will naturally adapt to the
>>> available bandwidth, but how can it be decided for a given data
>>> segment over which path it is to be sent?
>>>
>>> Is there a general requirement for MPTCP to monitor each path's
>>> "absolute" bandwidth/latency/loss characteristics in order to
>>> proportionally and optimally distribute data? I don't think such
>>> scheduling decisions can be left to developers who might have no
>>> knowledge about the heterogeneity of the environment their
>>> applications will run in. The main challenge of MPTCP is not the
>>> number of network interfaces or the type of traffic, but mostly on the
>>> heterogeneity of the paths' characteristics.
>>>
>>> Best regards,
>>> Dominik
>>>
>>>
>>> On Tue, Oct 20, 2009 at 7:34 PM, Ford, Alan <alan.ford@roke.co.uk> wrote:
>>>>
>>>> Dominik,
>>>>
>>>> Many thanks for your comments. The question of "when" to use MPTCP is
>>>> indeed an important one, which we will be discussing further in later
>>>> versions of this draft. The Path Manager has the task of choosing when
>>>> to use additional paths, and so I would suggest that it is the
>>>> appropriate place to take into account the needs of different types of
>>>> traffic. This could be signalled to it from the application layer, or it
>>>> could infer needs from session length, type of traffic, etc. It is at
>>>> least partially an implementation-specific issue, however. We shall
>>>> definitely take this into account in the next version of this document.
>>>>
>>>> You may find some of the discussion in the Application Considerations
>>>> draft is more relevant to this topic, and we would of course be very
>>>> interested in hearing your thoughts these topics, such as the
>>>> "application requirements".
>>>>
>>>> http://www.ietf.org/id/draft-scharf-mptcp-api-00.txt
>>>>
>>>> Regards,
>>>> Alan
>>>>
>>>>> -----Original Message-----
>>>>> From: Dominik Kaspar [mailto:dokaspar.ietf@gmail.com]
>>>>> Sent: 20 October 2009 17:57
>>>>> To: Ford, Alan
>>>>> Cc: multipathtcp@ietf.org
>>>>> Subject: Re: [multipathtcp] MPTCP Architecture Draft available
>>>>>
>>>>> Dear authors,
>>>>>
>>>>> In my opinion, MPTCP has a great potential benefits for resource
>>>>> pooling when a single, long-lasting, high-bitrate transport stream is
>>>>> present. On the other hand, MPTCP's use of multiple paths might risk
>>>>> performance degradation, which seems not to be addressed in this
>>>>> draft.
>>>>>
>>>>> For example, in our testbed, we have a host with two wireless
>>>>> interfaces, a WLAN (IEEE 802.11b) interface and an HSDPA interface
>>>>> with roughly the following access network characteristics:
>>>>>
>>>>> WLAN: 600 KB/s, 10 ms RTT
>>>>> HSDPA: 300 KB/s, 100 ms RTT
>>>>>
>>>>> MPTCP would be perfect for aggregating both links, achieving 900 KB/s
>>>>> and providing a better user experience for "bulk" data transfers, such
>>>>> as video streaming and large file downloads.
>>>>>
>>>>> However, if the goal is to download a large number of small-sized
>>>>> files (for instance downloading and displaying a thumbnail image
>>>>> gallery), a new problem arises. Due to the large difference in access
>>>>> latency, the WLAN interface might be able to finish the entire
>>>>> download of a single file even before a connection can be established
>>>>> of the HSDPA interface. In this case, opening an MPTCP connection for
>>>>> each file may result in performance degradation and it may be much
>>>>> more efficient to let the WLAN interface download 67% of the files and
>>>>> the HSDPA the remaining 33%...
>>>>>
>>>>> Except from a short paragraph on "support for small transactions",
>>>>> this draft seems to lack a motivation for when MPTCP should be used,
>>>>> when it should not be used, and how such a decision can be made. Are
>>>>> such decisions made by the Path Managers or left to the application
>>>>> developer?
>>>>>
>>>>> Best regards,
>>>>> Dominik
>>>>>
>>>>>
>>>>> On Mon, Oct 19, 2009 at 8:32 PM, Ford, Alan <alan.ford@roke.co.uk>
>>>>
>>>> wrote:
>>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> We have started work on the beginnings of an Multipath TCP
>>>>
>>>> architecture
>>>>>>
>>>>>> draft, combining some of the implementation separation that featured
>>>>
>>>> in
>>>>>>
>>>>>> the -01 of the mptcp/multiaddressed draft with some architectural
>>>>>> considerations from Tng.
>>>>>>
>>>>>> http://www.ietf.org/id/draft-ford-mptcp-architecture-00.txt
>>>>>>
>>>>>> Comments welcome - but please remember this is very early days!
>>>>>>
>>>>>> Cheers,
>>>>>> Alan
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>
>>
>