OMPTCP: an opportunistic Multipath TCP algorithm

Download Report

Transcript OMPTCP: an opportunistic Multipath TCP algorithm

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
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
2
LIA (RFC 6356): "Linked-Increases Algorithm"
• 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
3
We identified problems with the current
MPTCP implementation
• P1: MPTCP can penalize users
• P2: MPTCP users are excessively aggressive
toward TCP users
• P1 and P2 are attributed to LIA
• outline
1. examples of performance issues
2. can these problems be fixed in practice?
4
Measurement-based study supported by theory
5
upgrading some TCP users to MPTCP can reduce the throughput of others
without any benefit to the upgraded users
MPTCP CAN PENALIZE USERS
6
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
7
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
8
Throughput of type 2 users reduced without any
benefit for type 1 users
x2
N 1 C1
9
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
Part of problem is in nature of things, but
MPTCP seems to be far from optimal
x2
N 1 C1
11
Scenario B: MPTCP can penalize other MPTCP users
bottleneck with capacity Cx
bottleneck with capacity CT
12
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
13
CAN THE SUBOPTIMALITY OF
MPTCP WITH LIA BE FIXED?
14
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
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
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
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
responsiveness
αr=
•decrease part: each loss on r, decreases wr by wr/2
18
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
19
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
20
Scenario A: OLIA performs close to optimal
algorithm with probing cost
x2
N1 C1
21
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
22
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
BACKUP SLIDES
24
Scenario C: MPTCP users could be excessively
aggressive towards regular TCP users (P2)
wifi
25
Scenario C: OLIA achieves much better
fairness (solving P2)
when C1/C2≥1, for any theoretical fairness criterion: (x1+x2)/C1=1 and
26
y/C2=1