Subject: [multipathtcp] MPTCP Performance in Data Centers

From: imed eddine Bezahaf <[email-masked]>
Date: Sat, 25 Mar 2017 18:18:46 +0100

Received.

---

From: imed eddine Bezahaf <[email-masked]>
Date: Tue, 28 Mar 2017 09:30:05 +0200

Hello,

I am conducting a master thesis that has the following purpose: "To improve
MPTCP performances in data centers  by orchestrating  path assignment for
MPTCP flows(subflows) using SDN(Openflow)".

During my thesis I have noticed that even though I assign subflows to paths
where the throughput for every MPTCP flow should be fair (disjointing
subflows belonging to the same flow passing through the same path and make
sure that every link contain the same number of subflows), some flows might
actually achieve higher throughput than others. So my question is how fair
is the sharing of bandwidth among MPTCP subflows and not standard TCP
steams since in my thesis I assume that all the servers in the datacenter
support fully MPTCP.

I tried to look for an answer by searching in current works and paper
however I did not really find an explanation. Because all works related to
MPTCP and fairness are actually comparing throughput of MPTCP flows with
TCP streams (non-aggressive) in shared bottlenecks but never a comparison
between MPTCP flows only.

So I did an evaluation using mininet which is a network emulator to emulate
a 4 ary FatTree network but each host has 2 interfaces, so instead of
having 16 hosts, I have 8 hosts (with two interfaces). (Figure_1)

The traffic pattern is as follow:
H1 -> H8  (Two flows ): H1 sends two simultaneous MPTCP flows towards H8
H2 -> H7  (Two flows ): H2 sends two simultaneous MPTCP flows towards H7
H3 -> H6  (Two flows ): H3 sends two simultaneous MPTCP flows towards H6
H4 -> H5  (Two flows ): H4 sends two simultaneous MPTCP flows towards H5

So each pair of hosts open two MPTCP transmissions (all of them
simultaneously). In other words, 8 flows start at the same time.

Note: each flow has 4 subflows (I also tried with two subflows, it is a
little bit "fair" than 4 subflows but it follows the same curve)

Path characteristics: all links of the fattree have the same delay(100
microseconds) and the bandwidth is 5 Mbps.

I plotted a graph where you have in the y axis a normalized throughput (1
means a flow have achieved 10 Mbps (since two interfaces and each link has
5 Mbps)) and in the x axis, all the flows (8) ranked by order. Figure 2.

So my questions are:
Is this fair? half of the flows have between  (50%-60%) and half (40%-50%)
even though I am making sure that every subflow share the same number of
flows along its path. Figure3 shows a specific communication between H4-H5
(MPTCP 2 subflows) to give you an idea about how paths are assigned.
Note: I tested this with CUBIC, BALIA, OLIA, LIA, WVEGAS, all bring out
this same result.

Note: the flow size is identical for each one and it is 10 Mbytes and as I
mentioned previously the bandwidth of every link is 5 Mbps.

I would be very grateful and appreciative if you can help me out understand
this behavior or explain this graph if it is possible of course.

Thank you again,
Imed.