MPTCP is not Pareto-Optimal Performance Issues and a possible solution B98505024吳昇峰 帕累托效率（Pareto Efficiency） • 帕累托最優是指資源分配的一種理想狀態 • 固有的一群人和可分配的資源，從一種分配狀態到另一種狀態的 變化中，在沒有使任何人境況變壞的前提下，使得至少一個人變 得更好， • 帕累托最優是公平與效率的“理想王國”。 TCP • Use a window base congestion control • Disadvantages • Increase a user output↑ must decrease another user↓ or increase congestion cost↑ • Try to build Multipath transport protocol • Use the best paths available to users Disadvantages • Fail quickly detect free capacity • Exhibit flappiness →multiple good paths →randomly flip its traffic between them. User expectations What technology provides 3G celltower IP 220.127.116.11 What technology provides 3G celltower IP 18.104.22.168 IP 22.214.171.124 What technology provides 3G celltower IP 126.96.36.199 IP 188.8.131.52 When IP addresses change TCP connections have to be re-established ! 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 8 "Linked-Increases Algorithm" • Follow on adhoc design • adhoc design based on 3 goals 1. 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 9 • 根據pr-1/ϵ pr is the loss probability (at 傳輸率r) • ϵ=2 used uncoupled TCP • ϵ=0 sent only the best path (flappy) • At most increase 1/wr LIA’s design forces tradeoff between responsiveness and load balancing provide load balancing be responsive optimal load balacing but not responsive LIA’s implementation (RFC 6356) responsive but bad load balancing ε=0 ε=1 ε=2 ε is a design parameter We identified problems with the current MPTCP implementation • P1: MPTCP can penalize users • Upgrade some TCP to MPTCP can reduce throughput of other users without any improvement • P2: MPTCP users are excessively aggressive toward TCP users • P1 and P2 are attributed to LIA (linked increase) • LIA fails to every design goals especially satisfy goal 3 12 Measurement-based study supported by theory 13 OLIA • It is Pareto-optimal • Solve problem p1 and p2 • It is not flappy • Has better responsiveness MPTCP CAN PENALIZE USERS upgrading some TCP users to MPTCP can reduce the throughput of others without any benefit to the upgraded users 15 Scenario A: MPTCP can penalize TCP users high speed connections bottleneck for Type 1 users is at server side N1 C1 N1 x1 bottleneck for Type 2 users is at access side 16 Scenario A: MPTCP can penalize TCP users high speed connections bottleneck for Type 1 users is at server side N1 C1 x2 N1( x1+x2 ) bottleneck for Type 2 users is at access side 17 Throughput of type 2 users reduced without any benefit for type 1 users x2 N1 C1 18 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 19 Part of problem is in nature of things, but MPTCP seems to be far from optimal x2 N1 C1 20 Scenario B: MPTCP can penalize other MPTCP users bottleneck with capacity Cx bottleneck with capacity CT 21 By upgrading red users to MPTCP, the throughput of everybody decreases decrease is 3% using optimal algorithm with probing cost Use LIA when CX /CT ≈0.75, the Blue users decrease by up to 20%. 22 Scenario C: MPTCP users could be excessively aggressive towards regular TCP users (P2) wifi 23 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 24 CAN THE SUBOPTIMALITY OF MPTCP WITH LIA BE FIXED? 25 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 26 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 27 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 optimal load balancing αr= responsiveness OLIA increases windows faster on the paths that are the best but have small windows. Increase is slower on the paths with maximum windows •decrease part: each loss on r, decreases wr by wr/2 28 An illustrative example of OLIA’s behavior MPTCP with OLIA MPTCP with OLIA MPTCP with LIA MPTCP with LIA OLIA use both of paths.and no sign of flappiness second path is congested, OLIA uses only the first one 29 Theoretical results: OLIA solves problems P1 and P2 • using a fluid model of OLIA • Theorem: OLIA satisfies design goals of LIA • Theorem: OLIA is Pareto optimal • Theorem: when all paths of a user have similar RTTs, OLIA provides optimal load balancing 30 Scenario A: OLIA performs close to optimal algorithm with probing cost x2 N1 C1 31 Loss probability 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 33 Scenario C: 34 Summary • MPTCP with LIA suffers from important performance problems • these problems can be mitigated in practice • OLIA: inspired by utility maximization framework 35 Question?