copa: practical delay-based congestion control...copa gets higher throughput cubic flows are not...
TRANSCRIPT
![Page 1: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/1.jpg)
Copa: Practical Delay-Based Congestion Control
Venkat Arun and Hari Balakrishnan
MIT, CSAILweb.mit.edu/copa
![Page 2: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/2.jpg)
The Internet is more challenging than ever(Why are we still talking about congestion control in 2018?)
![Page 3: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/3.jpg)
The Internet is more challenging than ever
Greater bandwidth ⇒Higher bandwidth-delay product
Lower tolerance for non-congestive loss
Greater flow-churn
(Why are we still talking about congestion control in 2018?)
![Page 4: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/4.jpg)
The Internet is more challenging than ever
Greater bandwidth ⇒
Large flows (e.g. video streaming) co-exist with short-flows
Higher bandwidth-delay product
Lower tolerance for non-congestive loss
Greater flow-churn
(Why are we still talking about congestion control in 2018?)
![Page 5: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/5.jpg)
The Internet is more challenging than ever
Greater bandwidth ⇒
Large flows (e.g. video streaming) co-exist with short-flows
Wireless links with variable bandwidths are commonplace
Higher bandwidth-delay product
Lower tolerance for non-congestive loss
Greater flow-churn
(Why are we still talking about congestion control in 2018?)
![Page 6: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/6.jpg)
The Internet is more challenging than ever
Greater bandwidth ⇒
Large flows (e.g. video streaming) co-exist with short-flows
Wireless links with variable bandwidths are commonplace
Higher bandwidth-delay product
Lower tolerance for non-congestive loss
Greater flow-churn
Simultaneously, users are more sensitive to performance!
(Why are we still talking about congestion control in 2018?)
![Page 7: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/7.jpg)
Loss-based schemes have long-standing problems
• Buffer-filling
• Vulnerable to non-congestive loss
• Loss is a coarse signalWorsens with increasing bandwidth
![Page 8: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/8.jpg)
Delay-based congestion control?
Benefits Challenges
![Page 9: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/9.jpg)
Delay-based congestion control?
Maintain low delay Not competitive with buffer-filling schemes
Benefits Challenges
![Page 10: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/10.jpg)
Delay-based congestion control?
Maintain low delay
Robust to misleading loss
Not competitive with buffer-filling schemes
Delay can mislead too!
Benefits Challenges
![Page 11: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/11.jpg)
Delay-based congestion control?
Maintain low delay
Robust to misleading loss
Not competitive with buffer-filling schemes
Delay can mislead too!
Benefits Challenges
Rich signal
![Page 12: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/12.jpg)
Delay-based congestion control?
Maintain low delay
Robust to misleading loss
Not competitive with buffer-filling schemes
Delay can mislead too!
Finding true minimum RTTis hard
Benefits Challenges
Rich signal
![Page 13: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/13.jpg)
Delay-based congestion control?
Not competitive with buffer-filling schemes
Delay is noisy too!
Finding true minimum RTTis hard
Our SolutionChallenges
![Page 14: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/14.jpg)
Delay-based congestion control?
If buffer-fillers are present, give up on low delay
Not competitive with buffer-filling schemes
Delay is noisy too!
Finding true minimum RTTis hard
Our SolutionChallenges
![Page 15: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/15.jpg)
Delay-based congestion control?
If buffer-fillers are present, give up on low delay
MIN: a more robust statistic for queuing delay
Not competitive with buffer-filling schemes
Delay is noisy too!
Finding true minimum RTTis hard
Our SolutionChallenges
![Page 16: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/16.jpg)
Delay-based congestion control?
If buffer-fillers are present, give up on low delay
MIN: a more robust statistic for queuing delay
Not competitive with buffer-filling schemes
Delay is noisy too!
Finding true minimum RTTis hard
Our SolutionChallenges
Empty queues periodically
![Page 17: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/17.jpg)
Basic Goals
Avoid congestion collapse+
Efficient and Fair allocation of bandwidth+
Low delay
![Page 18: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/18.jpg)
Target rate = r( = )*+,-
Adjustable Parameterdefault = 0.5
Queuing delay
![Page 19: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/19.jpg)
Target Rate ≡ Nash Equilibrium
"#$%$#&' = log #,-# − /'log(12)Assuming Poisson arrivals (more details in paper)
Selfishly optimize for:
![Page 20: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/20.jpg)
Target Rate ≡ Nash Equilibrium
"#$%$#&' = log #,-# − /'log(12)Assuming Poisson arrivals (more details in paper)
Selfishly optimize for:
Unique and Efficient
![Page 21: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/21.jpg)
Computing the Target Rate
![Page 22: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/22.jpg)
Estimating queuing delay from RTT
Time
RTT
True minimum RTT
RTT
RTTminQueuing delay
![Page 23: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/23.jpg)
Estimating queuing delay from RTT
Time
RTT
True minimum RTT
RTT
RTTminRTT – RTTmin = queuing delay
Queuing delay
![Page 24: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/24.jpg)
Estimating queuing delay from RTT
Time
RTT
True minimum RTT
RTTmin
New flow starts here
Wrong!
![Page 25: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/25.jpg)
Estimating queuing delay from RTT
Time
RTT
True minimum RTT
True minimum RTT = RTTmin for new flows!
![Page 26: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/26.jpg)
A “noisy” cellular link: Stanford to AWSDe
lay
expe
rienc
ed b
y in
divi
dual
pac
kets
(ms)
Time (s)
![Page 27: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/27.jpg)
Decoupling queuing delay from other delay variation
Time
Que
ue le
ngth Measured RTT
• Wireless links• Cross traffic• ACK compression• Bursty transmission• …
![Page 28: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/28.jpg)
Decoupling queuing delay from other delay variation
Time
Que
ue le
ngth Measured RTT
• Wireless links• Cross traffic• ACK compression• Bursty transmission• …
Positive Additive Noise!
Take Min over last 0.5 RTT of samples
![Page 29: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/29.jpg)
A “noisy” cellular link: Stanford to AWS
Using the MIN delay estimator improves throughput from0.5 Mbits/s to 3.9 Mbits/s
Dela
y ex
perie
nced
by
indi
vidu
al p
acke
ts
Time (s)
![Page 30: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/30.jpg)
Attaining the Target
![Page 31: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/31.jpg)
Calculate target rate = '( = )*+,
If current rate < r.: additively increase by 0* pkts/RTTElse: additively decrease by 0* pkts/RTT
The Copa Algorithm
![Page 32: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/32.jpg)
Calculate target rate = '( = )*+,
If current rate < r.: additively increase by 0* pkts/RTTElse: additively decrease by 0* pkts/RTT
The Copa AlgorithmVelocity forfaster convergence
![Page 33: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/33.jpg)
Calculate target rate = '( = )*+,
If current rate < r.: additively increase by 0* pkts/RTTElse: additively decrease by 0* pkts/RTT
22
24
26
28
0 0.2 0.4 0.6 0.8 120
22
24
26
28
30
Cw
nd (p
kts)
RTT
stan
ding
(ms)
Time (s)
CwndRTTstanding
The Copa Algorithm
RTTCwnd
Cwnd
(pkt
s)
RTT
(ms)
Time (s)
Velocity forfaster convergence
![Page 34: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/34.jpg)
Steady-State Dynamics of CopaQ
ueue
Leng
th (i
n pk
ts)
Time
Equilibrium queue length
2.5 $%&
1 $%&
00 RTT 0.5 RTT. 1.5 RTT 2.5 RTT 3 RTT 4 RTT
Period: 5 RTTsAmplitude: 2.5 $%&
![Page 35: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/35.jpg)
Steady-State Dynamics of CopaQ
ueue
Leng
th (i
n pk
ts)
Time
Equilibrium queue length
2.5 $%&
1 $%&
0
0.5 RTT
window
Switch point
Queue length corresponding toRTTstanding at the switch point
0 RTT 0.5 RTT. 1.5 RTT 2.5 RTT 3 RTT 4 RTT
Period: 5 RTTsAmplitude: 2.5 $%&
![Page 36: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/36.jpg)
Steady-State Dynamics of CopaQ
ueue
Leng
th (i
n pk
ts)
Time
Equilibrium queue length
2.5 $%&
1 $%&
0
0.5 RTT
window
Switch point
Queue length corresponding toRTTstanding at the switch point
0 RTT 0.5 RTT. 1.5 RTT 2.5 RTT 3 RTT 4 RTT
Period: 5 RTTsAmplitude: 2.5 $%&
![Page 37: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/37.jpg)
Steady-State Dynamics of CopaQ
ueue
Leng
th (i
n pk
ts)
Time
Equilibrium queue length
2.5 $%&
1 $%&
0
0.5 RTT
window
Switch point
Queue length corresponding toRTTstanding at the switch point
0 RTT 0.5 RTT. 1.5 RTT 2.5 RTT 3 RTT 4 RTT
Period: 5 RTTsAmplitude: 2.5 $%&
![Page 38: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/38.jpg)
Steady-State Dynamics of CopaQ
ueue
Leng
th (i
n pk
ts)
Time
Equilibrium queue length
2.5 $%&
1 $%&
0
0.5 RTT
window
Switch point
0.5 RTTwindow
Queue length corresponding toRTTstanding at the switch point
Switch point
0 RTT 0.5 RTT. 1.5 RTT 2.5 RTT 3 RTT 4 RTT
Period: 5 RTTsAmplitude: 2.5 $%&
![Page 39: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/39.jpg)
Detect buffer-filling TCP
Estimate true minimum RTT
Queue empties every 5 RTTs! ⇒
![Page 40: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/40.jpg)
TCP-Competitiveness
![Page 41: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/41.jpg)
Mode switching for TCP competitiveness
0
5
10
15
20
25
0 10 20 30 40 50 600
5
10
15
20
Thro
ughp
ut (M
bits
/s)
Que
uing
Del
ay (m
s)
Time (s)
Delay sensitive(! = 0.5)
TCP CubicCopa
![Page 42: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/42.jpg)
Mode switching for TCP competitiveness
0
5
10
15
20
25
0 10 20 30 40 50 600
5
10
15
20
Thro
ughp
ut (M
bits
/s)
Que
uing
Del
ay (m
s)
Time (s)
Delay sensitive(! = 0.5)
TCP CubicCopa
Low Delay Low Throughput Low Delay
![Page 43: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/43.jpg)
Mode switching for TCP competitiveness
0
5
10
15
20
25
0 10 20 30 40 50 600
5
10
15
20
Thro
ughp
ut (M
bits
/s)
Que
uing
Del
ay (m
s)
Time (s)
0
5
10
15
20
25
0 10 20 30 40 50 600
5
10
15
20
Thro
ughp
ut (M
bits
/s)
Que
uing
Del
ay (m
s)
Time (s)
Delay sensitive(! = 0.5)
TCP Competitive(AIMD on !&')
TCP CubicCopa
Low Delay Low Throughput
High ThroughputHigh Delay
Low Delay
High Delay
TCP CubicCopa
![Page 44: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/44.jpg)
Mode switching for TCP competitiveness
0
5
10
15
20
25
0 10 20 30 40 50 600
5
10
15
20
Thro
ughp
ut (M
bits
/s)
Que
uing
Del
ay (m
s)
Time (s)
0
5
10
15
20
25
0 10 20 30 40 50 600
5
10
15
20
Thro
ughp
ut (M
bits
/s)
Que
uing
Del
ay (m
s)
Time (s)
Delay sensitive(! = 0.5)
TCP Competitive(AIMD on !&')
TCP CubicCopa
Low Delay Low Throughput
High ThroughputHigh Delay
Low Delay
High Delay
TCP CubicCopa
![Page 45: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/45.jpg)
Mode switching for TCP competitiveness
0
5
10
15
20
25
0 10 20 30 40 50 600
5
10
15
20
Thro
ughp
ut (M
bits
/s)
Que
uing
Del
ay (m
s)
Time (s)
TCP Cubic
Copa
Low Delay High Throughput Low Delay
When queue doesn’t empty once every 5 RTTs, switch to TCP Competitive mode!
Best of both worlds!
![Page 46: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/46.jpg)
0
0.5
1
1.5
2
2.5
Vegas Reno Cubic Copa PCC BBR
Avg.
(Tpt
/ Id
eal t
pt)
Scheme under test's throughputCubic's throughput
Copa gets higher throughput without hurting TCP Cubic!
![Page 47: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/47.jpg)
0
0.5
1
1.5
2
2.5
Vegas Reno Cubic Copa PCC BBR
Avg.
(Tpt
/ Id
eal t
pt)
Scheme under test's throughputCubic's throughput
Copa gets higher throughput without hurting TCP Cubic!
![Page 48: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/48.jpg)
0
0.5
1
1.5
2
2.5
Vegas Reno Cubic Copa PCC BBR
Avg.
(Tpt
/ Id
eal t
pt)
Scheme under test's throughputCubic's throughput
Copa gets higher throughput without hurting TCP Cubic!
Copa gets higher throughput Cubic flows are not hurt
![Page 49: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/49.jpg)
Limitations
• Cannot ignore low frequency noise
• Queues don’t empty periodically if:• Propagation delay is much smaller than queuing delay• Flows with very different propagation delays share a bottleneck queue
• Needs precise RTT measurements
![Page 50: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/50.jpg)
Consistent Performance on Real Paths
0
0.2
0.4
0.6
0.8
1
16326412825651210242048
BBR
Copa
CubicLEDBAT
PCC
Sprout
RemyVegasVerus
Vivace latency
Vivace lossVivace LTE
Avg
. Nor
mal
ized
Thr
ough
put
Avg. Queuing Delay (ms)
Cellular Networks
0
0.2
0.4
0.6
0.8
1
124816
BBRCopaCubic
LEDBAT
PCC
Sprout
Remy
VegasVerus Vivacelatency
Vivace lossVivace LTE
Avg.
Nor
mal
ized
Thr
ough
put
Avg. Queuing Delay (ms)
Wired Networks
Better⊳
Better⊳
![Page 51: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/51.jpg)
Satellite link: High BDP, high loss
010203040
800 110100
CopaRemyPCC
Cubic Vegas
BBR
Thro
ughp
ut (M
bit/s
)
Median Queuing Delay (ms)
Better⊳
![Page 52: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/52.jpg)
Fairness during flow-churn
1
10
1 3 5 7 9 11 13 15 17
1
10
1 3 5 7 9 11 13 15 171
10
1 3 5 7 9 11 13 15 17
1
10
1 3 5 7 9 11 13 15 17
Copa
BBR
Cubic
PCC
Thro
ughp
ut (M
bit/
s)Av
g±
Std.
Dev
.
Time (s) Time (s)
![Page 53: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/53.jpg)
Fairness during flow-churn
1
10
1 3 5 7 9 11 13 15 17
1
10
1 3 5 7 9 11 13 15 171
10
1 3 5 7 9 11 13 15 17
1
10
1 3 5 7 9 11 13 15 17
Copa
BBR
Cubic
PCC
Thro
ughp
ut (M
bit/
s)Av
g±
Std.
Dev
.
Time (s) Time (s)
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
CopaCu
bicBBRPC
C
Jain index
Better⊳
![Page 54: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/54.jpg)
Summary
NetworkEstimate queuing delay
and compute target
!
A practical delay-based congestion control algorithmhttps://web.mit.edu/copa
![Page 55: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/55.jpg)
Summary
NetworkEstimate queuing delay
and compute target
!
Outer control loopMode switching andCompetitive mode
A practical delay-based congestion control algorithmhttps://web.mit.edu/copa
![Page 56: Copa: Practical Delay-Based Congestion Control...Copa gets higher throughput Cubic flows are not hurt. Limitations •Cannot ignore low frequency noise •Queues don’t empty periodically](https://reader033.vdocuments.us/reader033/viewer/2022042201/5ea153606cd9b131e63d2713/html5/thumbnails/56.jpg)
Summary
NetworkEstimate queuing delay
and compute target
Move toward target (AIAD-variant)
!
Outer control loopMode switching andCompetitive mode
A practical delay-based congestion control algorithmhttps://web.mit.edu/copa
Rate/cwnd