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)
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 algorithm
LIA (RFC 6356): "Linked-Increases Algorithm" adhoc design based on 3 goals improve throughput: total throughput ≥ TCP over best path do not harm: not more aggressive than a TCP over a path balance congestion while meeting the first two goals as also stated in RFC 6356, LIA does not fully satisfy goal 3
We identified problems with the current MPTCP implementation P1: MPTCP can penalize users P2: MPTCP users are excessively aggressive toward TCP users P1 and P2 are attributed to LIA outline examples of performance issues can these problems be fixed in practice?
Measurement-based study supported by theory
MPTCP CAN PENALIZE USERS upgrading some TCP users to MPTCP can reduce the throughput of others without any benefit to the upgraded users MPTCP CAN PENALIZE USERS
Scenario A: MPTCP can penalize TCP users bottleneck for Type 1 users is at server side high speed connections N1 C1 N1 x1 bottleneck for Type 2 users is at access side
Scenario A: MPTCP can penalize TCP users bottleneck for Type 1 users is at server side high speed connections N1 C1 x2 N1( x1+x2 ) bottleneck for Type 2 users is at access side
Throughput of type 2 users reduced without any benefit for type 1 users N1 C1 x2
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
Part of problem is in nature of things, but MPTCP seems to be far from optimal N1 C1 x2
Scenario B: MPTCP can penalize other MPTCP users bottleneck with capacity Cx bottleneck with capacity CT
By upgrading red users to MPTCP, the throughput of everybody decreases decrease is 3% using optimal algorithm with probing cost 15 blue and 15 red users, CX=27 and CT=36 Mbps
CAN THE SUBOPTIMALITY OF MPTCP WITH LIA BE FIXED?
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
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
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/2 optimal load balancing responsiveness
An illustrative example of OLIA’s behavior MPTCP with OLIA MPTCP with OLIA MPTCP with LIA MPTCP with LIA paths have similar quality, OLIA uses both (non-flappy and responsive) second path is congested, OLIA uses only the first one
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
Scenario A: OLIA performs close to optimal algorithm with probing cost N1 C1 x2
Scenario B: using OLIA, we observe 3.5% drop in aggregate throughput MPTCP with OLIA MPTCP with LIA 15 blue and 15 red users, CX=27 and CT=36 Mbps
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
BACKUP SLIDES
Scenario C: MPTCP users could be excessively aggressive towards regular TCP users (P2) wifi
Scenario C: OLIA achieves much better fairness (solving P2) when C1/C2≥1, for any theoretical fairness criterion: (x1+x2)/C1=1 and y/C2=1