260 likes | 299 Views
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.
E N D
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 congestionwhile meeting the first two goals • as also stated in RFC 6356, LIA does not fully satisfy goal 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 • outline • examples of performance issues • can these problems be fixed in practice?
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 1users 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 1users 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 x2 N1 C1
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 x2 N1 C1
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
LIA’s design forces tradeoff between responsiveness and load balancing provide load balancing be responsive responsive but bad load balancing optimal load balacing but not responsive LIA’s implementation (RFC 6356) εis a design parameter ε=0 ε=2 ε=1
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 x2 N1 C1
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
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=1and y/C2=1