copa: practical delay-based congestion control...copa gets higher throughput cubic flows are not...

56
Copa: Practical Delay-Based Congestion Control Venkat Arun and Hari Balakrishnan MIT, CSAIL web.mit.edu/copa

Upload: others

Post on 21-Apr-2020

3 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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