MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution
description
Transcript of MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution
![Page 1: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/1.jpg)
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
![Page 2: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/2.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 algorithm2
![Page 3: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/3.jpg)
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
![Page 4: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/4.jpg)
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
![Page 5: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/5.jpg)
Measurement-based study supported by theory
5
![Page 6: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/6.jpg)
MPTCP CAN PENALIZE USERS
upgrading some TCP users to MPTCP can reduce the throughput of others without any benefit to the upgraded users
6
![Page 7: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/7.jpg)
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
![Page 8: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/8.jpg)
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
![Page 9: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/9.jpg)
Throughput of type 2 users reduced without any benefit for type 1 users
9
N1 C1x2
![Page 10: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/10.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
10
![Page 11: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/11.jpg)
Part of problem is in nature of things, but MPTCP seems to be far from optimal
11
N1 C1x2
![Page 12: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/12.jpg)
Scenario B: MPTCP can penalize other MPTCP users
12
bottleneck with capacity Cx
bottleneck with capacity CT
![Page 13: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/13.jpg)
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
![Page 14: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/14.jpg)
CAN THE SUBOPTIMALITY OF MPTCP WITH LIA BE FIXED?
14
![Page 15: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/15.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 16: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/16.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
16
![Page 17: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/17.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
17
![Page 18: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/18.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/218
optimal load balancing
responsiveness
![Page 19: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/19.jpg)
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
![Page 20: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/20.jpg)
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
![Page 21: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/21.jpg)
Scenario A: OLIA performs close to optimal algorithm with probing cost
21
N1 C1x2
![Page 22: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/22.jpg)
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
![Page 23: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/23.jpg)
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
![Page 24: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/24.jpg)
BACKUP SLIDES
24
![Page 25: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/25.jpg)
Scenario C: MPTCP users could be excessively aggressive towards regular TCP users (P2)
25
wifi
![Page 26: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution](https://reader035.fdocuments.net/reader035/viewer/2022062322/5681457b550346895db24e92/html5/thumbnails/26.jpg)
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