Subject: [multipathtcp] comments on draft-khalili-mptcp-performance-issues-00

From: Yoshifumi Nishida <[email-masked]>
Date: Thu, 26 Jul 2012 00:23:30 -0700

Hello,

I have read draft-khalili-mptcp-performance-issues-00.
I think this draft contains interesting points. The followings are my
comments on the draft.

1:  Section 2: "The idea behind the algorithm is to transmit over a path r
at a rate proportional to
       p_r^{-1/epsilon}, where p_r is the loss probability over this link
and epsilon is a design parameter. "

    -> it seems to me that p_r is independent value on each path. So, I'm
wondering how to adjust coupled algorithm by tweaking epsilon in this
equation. Also, I'm not very sure how to determine the value where epsilon
= 0

2: Have you tried larger number of connections? In the draft, the number of
connections are less then 30.
    But, it might be better to see using large number can affect the
results.

3: It is obviously not necessary to describe the detail logic in OLIA. But,
I would like to see the basic essence of OLIA so that we can intuitively
understand why OLIA can mitigate flappiness and unfairness.

Thanks,
--
Yoshifumi Nishida

---

From: Khalili Ramin <[email-masked]>
Date: Fri, 27 Jul 2012 10:11:49 +0000

Dear Yoshifumi,

Thanks for your comments and feedbacks. I think that we can easily  incorporate the answers to your first and last questions in a new  version of the draft. However, the second question would require more work (see below).

1. The design of the congestion control algorithm of MPTCP is described in the slides http://www.ietf.org/proceedings/77/slides/mptcp-9.pdf:

The actual implementation of the congestion control algorithm, called LIA, increases the window size on each ACK of a quantity proportional to w_r /w_tot (see [slide 3]). This results in sending a traffic proportional to 1/p_r on a path that has a probability loss p_r.

LIA is a trade off between load balancing and non-flappiness. It is one of a family of multipath congestion control algorithms (see slide 9) that can be indexed by a parameter epsilon\in(0,2) (phi in [slide 9]). These algorithms results in sending a traffic proportional to (1/p_r)^(1/epsilon).
- If epsilon is very close to zero, then LIA would transmit only over the path with smallest loss rate, e.g. if p2>p1then w2=0 and w1>0 (LIA transmits only over path 1).
- epsilon=2 corresponds to having uncoupled TCP flows on each of the path.
- epsilon=1 correspond to LIA and is described in (RFC6356 [4]).

2: Because of some practical issues, we did not study larger number of connections in our testbed. However, we have mathematical results (using LIA’s loss-throughput formula [12]) as well as simulation results (using a flow-level simulator) that confirm our observation for larger number
of connections.

3. Similarly to LIA, OLIA couples the additive increases and uses unmodified TCP behavior in the case of a loss. The difference between LIA and OLIA is in the increase part.

OLIA's increase part two has terms:
- The first term is an adaptation of the increase term of the optimal algorithm in [7]. This term is essential to provide congestion balancing and fairness.
- The second term guarantees responsiveness and non-flappiness of OLIA. By measuring the number of transmitted bytes since the last loss, it reacts to events within the current window and adapts to changes faster than the first term.

Because OLIA is rooted in the optimal algorithm of [7], it can provide fairness and congestion balancing. Because of the second term, it is responsive and non-flappy.

I hope the answers are clear and I would be very happy to receive further questions and comments about the work.

Regards,
Ramin.

________________________________
From: [email-masked] [[email-masked]] on behalf of Yoshifumi Nishida [[email-masked]]
Sent: Thursday, July 26, 2012 9:23 AM
To: multipathtcp
Subject: [multipathtcp] comments on draft-khalili-mptcp-performance-issues-00

Hello,

I have read draft-khalili-mptcp-performance-issues-00.
I think this draft contains interesting points. The followings are my comments on the draft.

1:  Section 2: "The idea behind the algorithm is to transmit over a path r at a rate proportional to
       p_r^{-1/epsilon}, where p_r is the loss probability over this link and epsilon is a design parameter. "

    -> it seems to me that p_r is independent value on each path. So, I'm wondering how to adjust coupled algorithm by tweaking epsilon in this equation. Also, I'm not very sure how to determine the value where epsilon = 0

2: Have you tried larger number of connections? In the draft, the number of connections are less then 30.
    But, it might be better to see using large number can affect the results.

3: It is obviously not necessary to describe the detail logic in OLIA. But, I would like to see the basic essence of OLIA so that we can intuitively understand why OLIA can mitigate flappiness and unfairness.

Thanks,
--
Yoshifumi Nishida