![Page 1: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/1.jpg)
Balia (Balanced linked adaptation) A new MPTCP congestion control algorithm
July 2014
Qiuyu PengSteven Low
Anwar WalidJaehyun Hwang
![Page 2: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/2.jpg)
MPTCP Congestion Control
(IETF RFC 6824)
How to control congestion over multiple paths?Desirable Control Properties: Increase throughput and robustness to link failure while remaining
TCP friendly Responsive
![Page 3: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/3.jpg)
Key messageTradeoff between friendliness (to single path TCP) & responsiveness (to network changes)
is inevitable, but can be systematically balanced
New Algorithm Balia explicitly balances this tradeoff
based on a new design framework
![Page 4: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/4.jpg)
EWTCP • [Iyengar’ 06] [Honda’ 09]
Coupled MPTCP• [Kelly’ 05] [Han 06]
Semi-coupled MPTCP• [Wischik’ 11]
LIA (RFC6356) MPTCP• [Wischik’ 11]
OLIA MPTCP• [Khalili’ 12]
Prior Proposals
![Page 5: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/5.jpg)
Desirable propertiesIncrease throughput and robustness to link failure while remaining
TCP friendly Responsive
Unfortunately …there is provably aninevitable tradeoff
Friendliness
Resp
onsiv
enes
s EWTCP
Coupled
Semi.LIA
![Page 6: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/6.jpg)
Two questions1. Have prior algorithms achieved the
best tradeoff possible? Bad news: No !
Friendliness
Resp
onsiv
enes
s EWTCP
Coupled
Semi.LIA… but significant improvement
is possible
![Page 7: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/7.jpg)
Two questions2. Can we systematically design this inevitable tradeoff ?
Good news: Yes !
… a new framework to better understand & design
Friendliness
Resp
onsiv
enes
s EWTCP
Coupled
Semi.LIA
![Page 8: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/8.jpg)
First question first …
… let’s first understand some problems with LIA and OLIA… and then look at a solution
![Page 9: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/9.jpg)
Problem with LIA (RFC6356)
LIA can be unfriendly to single path TCP (SPTCP)
![Page 10: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/10.jpg)
[Source: Khalili iccrg presentation on OLIA]
LIA can be unfriendly to SPTCP … even when its own throughput is max’ed out !
SPTCP is worse offthan optimal
• by 26%
• by 50%
![Page 11: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/11.jpg)
Type 1flows
Type 2flows
Router1
Router2 Router3
10Mbps
10Mbps
We have confirmed Khalili’s discovery withour own testbed
Type 2 flows are SPTCP.
![Page 12: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/12.jpg)
type 1 flows are SPTCP
Type 1 users are MPTCP
LIA OLIA Balia
type 1 9.47 9.26 9.25 9.25
type 2 9.29 7.55 8.13 8.32
type 1 9.39 8.96 8.93 9.02
type 2 9.29 6.94 7.41 7.98C1=C2=10Mbps
N1=5N2=5
N1=15N2=5
aggregatethroughput
When all flows are SPTCP, they achieve capacity on each path
![Page 13: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/13.jpg)
type 1 flows are SPTCP
Type 1 flows are MPTCP
LIA OLIA Balia
type 1 9.47 9.26 9.25 9.25
type 2 9.29 7.55 8.13 8.32
type 1 9.39 8.96 8.93 9.02
type 2 9.29 6.94 7.41 7.98C1=C2=10Mbps
N1=5N2=5
N1=15N2=5
When type 1 users are MPTCP, LIA starves SPTCP
… even when LIA throughput is max’ed out !
SPTCP’s are worse off
• by 19%
• by 25%
![Page 14: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/14.jpg)
type 1 flows are SPTCP
Type 1 flows are MPTCP
LIA OLIA Balia
type 1 9.47 9.26 9.25 9.25
type 2 9.29 7.55 8.13 8.32
type 1 9.39 8.96 8.93 9.02
type 2 9.29 6.94 7.41 7.98C1=C2=10Mbps
N1=5N2=5
N1=15N2=5
Two better designs OLIA Balia
![Page 15: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/15.jpg)
Let’s now examine OLIA in more detail
Is OLIA responsive to network changes?
![Page 16: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/16.jpg)
OLIA can be unresponsive to network changes
1 MP-TCP flow: 0-200s
5 SP-TCP flows: 40-80s
20Mbps, 10ms
20Mbps, 10ms
Coupled OLIA LIA
![Page 17: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/17.jpg)
1 MP-TCP flow: 0-200s
5 SP-TCP flows: 40-80s
20Mbps, 10ms
20Mbps, 10ms
Balia is responsive to network changes
OLIA LIA Balia
![Page 18: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/18.jpg)
So LIA can be unfriendly, while OLIA can be unresponsive
Second question now …
… what is the nature of this inevitable tradeoff… how does Balia design this tradeoff
![Page 19: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/19.jpg)
BaliaGeneralized MPTCP algorithm that strikes a good balance
Friendly Responsive
Balia: Balanced linked adaptation
Balia
Friendliness
Resp
onsiv
enes
s EWTCP
Coupled
Semi.LIA
![Page 20: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/20.jpg)
BaliaGeneralized MPTCP algorithm that strikes a good balance
Friendly Responsive
… designed based on a new theoretical framework … that allows better understanding of this tradeoff
![Page 21: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/21.jpg)
For each ACK on path r, increment window by:
For each Loss on path r, decrement window by:
Balia
is the round trip time
On a single path, ar=1 and Balia reduces to Reno
![Page 22: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/22.jpg)
Key messageTradeoff between friendliness & responsiveness
is inevitable, but can be systematically balanced
Balia explicitly balances this tradeoff based on a new design framework
![Page 23: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/23.jpg)
Current status Linux implementation
Working on approval to make our code part of the UCLouvain’s MPTCP implementation
Documents Paper: “Multipath TCP: Analysis, Design and
Implementation” (http://arxiv.org/abs/1308.3119v2) To be submitted: draft-walid-mptcp-congestion-
control-00
Experiment plans NorNet: Multi-homed research testbed Small-scale data center testbed Mobile testbed with WiFi/3G/LTE
![Page 24: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/24.jpg)
Back up slides
Theoretical Framework for Design
- “Multipath TCP: Analysis, Design and Implementation,” Peng, Walid, Hwang and Low (http://arxiv.org/abs/1308.3119v2). Earlier version appeared in ACM Sigmetrics, 2013.
![Page 25: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/25.jpg)
Unified MPTCP model
Different designs: different TCP Reno (Jacobson 1988) EWTCP (Honda et al 2009) Coupled MPTCP (Kelly & Voice 2005, Han et al 2004) Semicoupled MPTCP (Wischik et al 20011) LIA MPTCP (Wischik et al 2011) Balia (Peng et al 2013)
rr and
Dynamics of throughput on path r:
Congestion priceAlgorithm
![Page 26: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/26.jpg)
Provable propertiesTheoremBalia has a unique equilibrium point
TheoremThe unique equilibrium point is asymptotically stable
Theorem(Almost) all MPTCP algorithms face an inevitable tradeoff between
TCP friendliness Responsiveness
![Page 27: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/27.jpg)
Design of the tradeoff1. Explicitly parameterize friendliness and responsiveness
more friendly: small bmore responsive: large b, h
Friendliness
Resp
onsiv
enes
s
EWTCP
Coupled
Semi.Max b
h
![Page 28: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/28.jpg)
Design of the tradeoff2. Choose parameters judiciously
LIA: Balia:
more responsivemore friendly
balanced tradeoff
![Page 29: Balia ( Ba lanced li nked a daptation) A new MPTCP congestion control algorithm](https://reader035.vdocument.in/reader035/viewer/2022062222/56816280550346895dd2edf7/html5/thumbnails/29.jpg)
Asymmetric paths
1 MP-TCP flow: 0-300s
5 SP-TCP flows: 40-80s
8Mbps, 10ms
2Mbps, 100ms