Slide - csie.org

Download Report

Transcript Slide - csie.org

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 1.2.3.4
What technology provides
3G celltower
IP 1.2.3.4
IP 5.6.7.8
What technology provides
3G celltower
IP 1.2.3.4
IP 5.6.7.8
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?