mptcp is not pareto-optimal: performance issues and a possible solution ramin khalili (t-labs/tub)...
TRANSCRIPT
MPTCP is not Pareto-Optimal: Performance Issues and a Possible
Solution
Ramin Khalili (T-Labs/TUB) Nicolas Gast (LCA2-EPFL)
Miroslav Popovic (LCA2-EPFL)
Utkarsh Upadhyay (LCA2-EPFL)
Jean-Yves Le Boudec (LCA2-EPFL)
1
MPTCP: Multi-path Transport Solution of IETF
allows a user to split its traffic across multiple paths; improve reliability and throughput
challenge: design of congestion control algorithm2
LIA (RFC 6356): "Linked-Increases Algorithm"
• adhoc design based on 3 goals1. improve throughput: total throughput ≥ TCP over
best path
2. do not harm: not more aggressive than a TCP over a path
3. balance congestion while meeting the first two goals
• as also stated in RFC 6356, LIA does not fully satisfy goal 3
3
We identified problems with the currentMPTCP implementation
• P1: MPTCP can penalize users
• P2: MPTCP users are excessively aggressive toward TCP users
• P1 and P2 are attributed to LIA
• outline1. examples of performance issues
2. can these problems be fixed in practice?
4
Measurement-based study supported by theory
5
MPTCP CAN PENALIZE USERS
upgrading some TCP users to MPTCP can reduce the throughput of others without any benefit to the upgraded users
6
Scenario A: MPTCP can penalize TCP users
7bottleneck for Type 2
users is at access side
bottleneck for Type 1users is at server side
high speed connections
N1 C1
N1 x1
Scenario A: MPTCP can penalize TCP users
8bottleneck for Type 2
users is at access side
bottleneck for Type 1users is at server side
high speed connections
N1 C1
N1( x1+x2 )
x2
Throughput of type 2 users reduced without any benefit for type 1 users
9
N1 C1x2
We compare MPTCP with a theoretical baselines
• optimal algorithm with probing cost:theoretical optimal load balancing including minimal probing traffic
– using a windows-based algorithm, a minimum probing traffic of 1 MSS/RTT is sent over each path
10
Part of problem is in nature of things, but MPTCP seems to be far from optimal
11
N1 C1x2
Scenario B: MPTCP can penalize other MPTCP users
12
bottleneck with capacity Cx
bottleneck with capacity CT
By upgrading red users to MPTCP, the throughput of everybody decreases
1315 blue and 15 red users, CX=27 and CT=36 Mbps
decrease is 3% using optimal algorithm with probing cost
CAN THE SUBOPTIMALITY OF MPTCP WITH LIA BE FIXED?
14
LIA’s design forces tradeoff between responsiveness and load balancing
provide load balancing be responsive
optimal load balacing but not responsive
responsive but bad load balancing
LIA’s implementation(RFC 6356)
ε=0 ε=1 ε=2
ε is a design parameter
OLIA: an algorithm inspired by utility maximization framework
• simultaneously provides responsiveness and load balancing
• an adjustment of optimal algorithm – by adapting windows increases as a function of quality
of paths, we make it responsive and non-flappy
• implemented on the MPTCP Linux kernel
16
Definition: set of best paths and paths with maximum windows
• for a user u, with Ru as set of paths, define
– set of best paths:
– set of path with maximum windows:
• : number of successful transmissions between losses on path r
• rttr(t): RTT on path r
17
OLIA: "Opportunistic Linked-Increases Algorithm"
For a user u, on each path r in Ru:
•increase part: for each ACK on r, increase wr by
αr=
•decrease part: each loss on r, decreases wr by wr/218
optimal load balancing
responsiveness
An illustrative example of OLIA’s behavior
19paths have similar quality, OLIA uses
both (non-flappy and responsive)second path is congested, OLIA uses
only the first one
MPTCP with LIA
MPTCP with OLIA
MPTCP with LIA
MPTCP with OLIA
Theoretical results: OLIA solves problems P1 and P2
• using a fluid model of OLIA
• Theorem: OLIA satisfies design goals of LIA (RFC 6356)
• Theorem: OLIA is Pareto optimal
• Theorem: when all paths of a user have similar RTTs, OLIA provides optimal load balancing
20
Scenario A: OLIA performs close to optimal algorithm with probing cost
21
N1 C1x2
Scenario B: using OLIA, we observe 3.5% drop in aggregate throughput
2215 blue and 15 red users, CX=27 and CT=36 Mbps
MPTCP with OLIA
MPTCP with LIA
Summary
• MPTCP with LIA suffers from important performance problems
• these problems can be mitigated in practice
– OLIA: inspired by utility maximization framework
• suggestion: congestion control part of MPTCP should be revisited by the IETF committees
23
BACKUP SLIDES
24
Scenario C: MPTCP users could be excessively aggressive towards regular TCP users (P2)
25
wifi
Scenario C: OLIA achieves much better fairness (solving P2)
26
when C1/C2≥1, for any theoretical fairness criterion: (x1+x2)/C1=1 and y/C2=1