MPTCP is not Pareto-Optimal
description
Transcript of MPTCP is not Pareto-Optimal
![Page 1: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/1.jpg)
MPTCP is not Pareto-Optimal
Performance Issues and a possible solution
B98505024吳昇峰
![Page 2: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/2.jpg)
帕累托效率( Pareto Efficiency)•帕累托最優是指資源分配的一種理想狀態•固有的一群人和可分配的資源,從一種分配狀態到另一種狀態的變化中,在沒有使任何人境況變壞的前提下,使得至少一個人變得更好,•帕累托最優是公平與效率的“理想王國”。
![Page 3: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/3.jpg)
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 usersDisadvantages• Fail quickly detect free capacity• Exhibit flappiness →multiple good paths →randomly flip its traffic between
them.
![Page 4: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/4.jpg)
User expectations
![Page 5: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/5.jpg)
What technology provides3G celltower
IP 1.2.3.4
![Page 6: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/6.jpg)
What technology provides3G celltower
IP 1.2.3.4
IP 5.6.7.8
![Page 7: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/7.jpg)
What technology provides3G celltower
When IP addresses change TCP connectionshave to be re-established !
IP 1.2.3.4
IP 5.6.7.8
![Page 8: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/8.jpg)
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 algorithm8
![Page 9: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/9.jpg)
"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
![Page 10: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/10.jpg)
•根據 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
![Page 11: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/11.jpg)
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
![Page 12: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/12.jpg)
We identified problems with the currentMPTCP 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
![Page 13: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/13.jpg)
Measurement-based study supported by theory
13
![Page 14: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/14.jpg)
OLIA• It is Pareto-optimal• Solve problem p1 and p2• It is not flappy• Has better responsiveness
![Page 15: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/15.jpg)
MPTCP CAN PENALIZE USERS upgrading some TCP users to MPTCP can reduce the throughput of others without any benefit to the upgraded users
15
![Page 16: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/16.jpg)
Scenario A: MPTCP can penalize TCP users
16bottleneck for Type 2
users is at access side
bottleneck for Type 1users is at server side
high speed connections
N1 C1
N1 x1
![Page 17: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/17.jpg)
Scenario A: MPTCP can penalize TCP users
17bottleneck 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
![Page 18: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/18.jpg)
Throughput of type 2 users reduced without any benefit for type 1 users
18
N1 C1x2
![Page 19: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/19.jpg)
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
![Page 20: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/20.jpg)
Part of problem is in nature of things, but MPTCP seems to be far from optimal
20
N1 C1x2
![Page 21: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/21.jpg)
Scenario B: MPTCP can penalize other MPTCP users
21
bottleneck with capacity Cx
bottleneck with capacity CT
![Page 22: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/22.jpg)
By upgrading red users to MPTCP, the throughput of everybody decreases
22
decrease is 3% using optimal algorithm with probing cost Use LIA when CX /CT ≈0.75, the Blue users decrease by
up to 20%.
![Page 23: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/23.jpg)
Scenario C: MPTCP users could be excessively aggressive towards regular TCP users (P2)
23
wifi
![Page 24: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/24.jpg)
Scenario C: OLIA achieves much better fairness (solving P2)
24
when C1/C2≥1, for any theoretical fairness criterion: (x1+x2)/C1=1 and y/C2=1
![Page 25: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/25.jpg)
CAN THE SUBOPTIMALITY OF MPTCP WITH LIA BE FIXED?
25
![Page 26: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/26.jpg)
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
![Page 27: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/27.jpg)
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
![Page 28: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/28.jpg)
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/228
optimal load balancing
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
![Page 29: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/29.jpg)
An illustrative example of OLIA’s behavior
29OLIA use both of paths.and no sign
of flappinesssecond path is congested,
OLIA uses only the first one
MPTCP with LIA
MPTCP with OLIA
MPTCP with LIA
MPTCP with OLIA
![Page 30: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/30.jpg)
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
![Page 31: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/31.jpg)
Scenario A: OLIA performs close to optimal algorithm with probing cost
31
N1 C1x2
![Page 32: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/32.jpg)
Loss probability
![Page 33: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/33.jpg)
Scenario B: using OLIA, we observe 3.5% drop in aggregate throughput
3315 blue and 15 red users, CX=27 and CT=36 Mbps
MPTCP with OLIA
MPTCP with LIA
![Page 34: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/34.jpg)
Scenario C:
34
![Page 35: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/35.jpg)
Summary•MPTCP with LIA suffers from important
performance problems
• these problems can be mitigated in practice• OLIA: inspired by utility maximization framework
35
![Page 36: MPTCP is not Pareto-Optimal](https://reader036.fdocuments.net/reader036/viewer/2022081419/56816731550346895ddbdb12/html5/thumbnails/36.jpg)
Question?