Top Banner
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
26

MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution

Jan 12, 2016

Download

Documents

jubal

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). MPTCP: Multi-path Transport Solution of IETF. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution

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

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

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

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

Measurement-based study supported by theory

5

Page 6: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution

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

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

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

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

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

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

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

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

CAN THE SUBOPTIMALITY OF MPTCP WITH LIA BE FIXED?

14

Page 15: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution

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

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

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

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

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

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

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

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

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

BACKUP SLIDES

24

Page 25: MPTCP is not Pareto-Optimal: Performance Issues and a Possible Solution

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

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