168
Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* University of Illinois at Urbana Champaign *Hebrew University of Jerusalem

Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Embed Size (px)

Citation preview

Page 1: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Performance-oriented Congestion Control

Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira*

University of Illinois at Urbana Champaign *Hebrew University of Jerusalem

Page 2: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Qingxi Li Brighten Godfrey Doron Zarchy and Michael Schapira Hebrew University of

Jerusalem University of Illinois at Urbana-Champaign

Page 3: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP

Est. 1988

3

Page 4: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP

Est. 1988

High BDPBIC

H-TCP Compound

CUBIC FAST TCP

Wireless

Westwood Vegas Veno

Hybla STAR

Inter-DC

Illinois SABUL

Intra-DC

ICTCP DCTCP

Satellite

3

Page 5: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP

Est. 1988

High BDPBIC

H-TCP Compound

CUBIC FAST TCP

Wireless

Westwood Vegas Veno

Hybla STAR

Inter-DC

Illinois SABUL

Intra-DC

ICTCP DCTCP

Satellite

3

Page 6: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Who can be not happy with TCP ?

TCP

Est. 1988

High BDPBIC

H-TCP Compound

CUBIC FAST TCP

Wireless

Westwood Vegas Veno

Hybla STAR

Inter-DC

Illinois SABUL

Intra-DC

ICTCP DCTCP

Satellite

3

Page 7: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Who can be not happy with TCP ?

TCP

Est. 1988

High BDPBIC

H-TCP Compound

CUBIC FAST TCP

Wireless

Westwood Vegas Veno

Hybla STAR

Inter-DC

Illinois SABUL

Intra-DC

ICTCP DCTCP

Satellite

are

3

Page 8: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP

Est. 1988

High BDPBIC

H-TCP Compound

CUBIC FAST TCP

Wireless

Westwood Vegas Veno

Hybla STAR

Inter-DC

Illinois SABUL

Intra-DC

ICTCP DCTCP

Satellite

3

Page 9: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP

Est. 1988

High BDPBIC

H-TCP Compound

CUBIC FAST TCP

Wireless

Westwood Vegas Veno

Hybla STAR

Inter-DC

Illinois SABUL

Intra-DC

ICTCP DCTCP

Satellite

Point Solutions

4

Page 10: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP

Est. 1988

High BDPBIC

H-TCP Compound

CUBIC FAST TCP

Wireless

Westwood Vegas Veno

Hybla STAR

Inter-DC

Illinois SABUL

Intra-DC

ICTCP DCTCP

Satellite

Point Solutions

Performance Far from Optimal

+

10X10X 17X 4XUnstable,RTT Unfair, Bufferbloat, Crash on Changing Networks, ……..

4

Page 11: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC
Page 12: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP fails to achieveconsistent high performance

Page 13: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Why is itso hard?

Page 14: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

6

Page 15: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Reno 1 pkt loss cwnd/2Scalable ACK cwnd+1CUBIC Time pass 1ms cwnd+f(t,cwn,rtt)

FAST RTT increase x% Reduce cwnd to f(x)%

HTCP 100 ACK cwnd+f(cwnd)/cwnd

6

Page 16: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Reno 1 pkt loss cwnd/2Scalable ACK cwnd+1CUBIC Time pass 1ms cwnd+f(t,cwn,rtt)

FAST RTT increase x% Reduce cwnd to f(x)%

HTCP 100 ACK cwnd+f(cwnd)/cwnd

Event Action

6

Page 17: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Reno 1 pkt loss cwnd/2Scalable ACK cwnd+1CUBIC Time pass 1ms cwnd+f(t,cwn,rtt)

FAST RTT increase x% Reduce cwnd to f(x)%

HTCP 100 ACK cwnd+f(cwnd)/cwnd

Event Action

Hardwired Mapping

6

Page 18: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Hardwired Mapping

Event Action

6

Page 19: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

7

Page 20: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

NetworkAction 1 Action 2 Network Action 3 Network Action 4 Network Action 5 Network

7

Page 21: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

NetworkAction 1 Action 2 Network Action 3 Network Action 4 Network Action 5 Network

7

Page 22: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

NetworkAction 1 Action 2 Network Action 3 Network Action 4 Network Action 5 Network

7

Page 23: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

NetworkAction 1 Action 2 Network Action 3 Network Action 4 Network Action 5 Network

Why?

7

Page 24: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

NetworkAction 1 Action 2 Network Action 3 Network Action 4 Network Action 5 Network

Why?

AssumedNetwork

7

Page 25: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

NetworkAction 1 Action 2 Network Action 3 Network Action 4 Network Action 5 Network

Why?

AssumedNetwork

RealNetwork

=Performance

7

Page 26: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Event Action

NetworkAction 1 Action 2 Network Action 3 Network Action 4 Network Action 5 Network

Why?

AssumedNetwork

RealNetwork

=Performance

≠7

Page 27: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

Event Action

8

Page 28: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

Event Action

Packet Loss

8

Page 29: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

Event ActionNetwork

Packet Loss

8

Page 30: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

f causes most congestion

Flow f sends at R

Event ActionNetwork

Packet Loss

8

Page 31: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

f causes most congestion

Flow f sends at R

Event ActionNetwork

Packet Loss

Dec R a lot

8

Page 32: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

shallow buffer overflow

Event ActionNetwork

Packet Loss

Dec R a lot

8

Page 33: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

shallow buffer overflow

Event ActionNetwork

Packet Loss

Dec R a lot

8

Page 34: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

shallow buffer overflow

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

8

Page 35: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

other high rate flow causing congestion

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

8

Page 36: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

other high rate flow causing congestion

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

8

Page 37: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

other high rate flow causing congestion

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

Maintain R

8

Page 38: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

loss is random

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

Maintain R

8

Page 39: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

loss is random

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

Maintain R

8

Page 40: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

loss is random

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

Maintain R

Increase R

8

Page 41: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

loss is random

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

Maintain R

Increase R

8

Page 42: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

Maintain R

Increase R

8

Page 43: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flow f sends at R

Event ActionNetwork

Packet Loss

Dec R a lot

Dec R a little

Maintain R

Increase R

8

No event-control mapping optimal for all network scenarios

Page 44: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

9

Page 45: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

9

Page 46: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

9

Page 47: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

9

Page 48: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

9

Page 49: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

10

Page 50: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

rate result

11

Page 51: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

rate r utility u

U= f(tpt, loss rate, latency, etc.) e.g. U = tpt x (1 – loss rate)

12

Page 52: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

What is the right rate to send?

rate r1 utility u1

U= f(tpt, loss rate, latency, etc.) e.g. U = tpt x (1 – loss rate)

No matter how complex the network, rate r —> utility u

13

Page 53: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

14

Page 54: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

r1

14

Page 55: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1r1

14

Page 56: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1r1

r2

14

Page 57: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2

14

Page 58: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2u1>u2?

14

Page 59: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2u1>u2?

move to r1

14

Page 60: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2u1>u2?

move to r1

move to r2

14

Page 61: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2u1>u2?

move to r1

move to r2

15

Performance-oriented Congestion Control

Page 62: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2u1>u2?

move to r1

move to r2

Observe real performance

15

Performance-oriented Congestion Control

Page 63: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2u1>u2?

move to r1

move to r2

Observe real performance

Control based on empirical evidence

15

Performance-oriented Congestion Control

Page 64: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u1

u2

r1

r2u1>u2?

move to r1

move to r2

Observe real performance

Control based on empirical evidence

yields Consistent

high performance

15

Performance-oriented Congestion Control

Page 65: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

u2

98 Mbps u1

102 Mbps

u1>u2?

move to 98 Mbps

this flow causing

congestion

X

XXXX

u2

98 Mbps u1

102 Mbps

u1>u2?random loss

X

XX move to

102 Mbps

16

Page 66: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

Global Commercial Internet

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite NetworksInterDC

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

0.2

0.4

0.6

0.8

1

1.2

20 30 40 50 60 70 80 90 100

Rela

tive thro

ughput of lo

ng-R

TT

flo

w

RTT of Long-RTT flow (ms)

PCCTCP CUBICTCP New Reno

RTT Unfairness

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Send

ingR

ate

(Mbps)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

17

4X 17X 10X

Solves15X Similar to ICTCP

Close to Optimal5X in median

Page 67: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Software Components

Performance Oriented

Control Module

Utility Function

Sending Module

Sending Rate

Control

MonitorModule

Sender

Sent Packet Log(Sending Rate, Utility)

Performance

Metrics(tpt., loss rate,

RTT)

Network

Data

SACK

Receiver

18

Page 68: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Software Components

Performance Oriented

Control Module

Utility Function

Sending Module

Sending Rate

Control

MonitorModule

Sender

Sent Packet Log(Sending Rate, Utility)

Performance

Metrics(tpt., loss rate,

RTT)

Network

Data

SACK

Receiver

18

Page 69: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility

19

Performance Oriented Control

Page 70: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

r

19

Performance Oriented Control

Page 71: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

rr(1− ε )

19

Performance Oriented Control

Page 72: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

rr(1− ε ) r(1+ ε )

19

Performance Oriented Control

Page 73: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

rr(1− ε ) r(1+ ε )

randomized controlled trials

19

Performance Oriented Control

Page 74: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

rr(1− ε ) r(1+ ε )

randomized controlled trials

19

Performance Oriented Control

Page 75: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

rr(1− ε ) r(1+ ε )

randomized controlled trials

19

Performance Oriented Control

Page 76: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

rr(1− ε ) r(1+ ε )

randomized controlled trials

? ?

19

Performance Oriented Control

Page 77: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

rate

observed utility ?

r

randomized controlled trials

? ?

r(1− 2ε ) r(1+ 2ε )

εmin = 0.01

19

Performance Oriented Control

Page 78: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Elephant

20

Page 79: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Where is Congestion Control?

21

u1

u2

r1

r2u1>u2?

move to r1

move to r2

Page 80: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Where is Congestion Control?

21

u1

u2

r1

r2u1>u2?

move to r1

move to r2

Selfishly maximizing utility

Page 81: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Where is Congestion Control?

21

u1

u2

r1

r2u1>u2?

move to r1

move to r2

Selfishly maximizing utility => non-cooperative game

Page 82: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Where is Congestion Control?

21

u1

u2

r1

r2u1>u2?

move to r1

move to r2

Selfishly maximizing utility

Do we converge to a fair Nash equilibrium?

=> non-cooperative game

Page 83: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

22

A class of utility functions converge to a fair and efficient Nash Equilibrium

Page 84: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

ui (x) = Ti * sigmoid(Li − 0.05)− xi *Li

22

A class of utility functions converge to a fair and efficient Nash Equilibrium

Page 85: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

ui (x) = Ti * sigmoid(Li − 0.05)− xi *Li

observed loss rate throughput sending rate

22

A class of utility functions converge to a fair and efficient Nash Equilibrium

Page 86: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

ui (x) = Ti * sigmoid(Li − 0.05)− xi *Li

22

A class of utility functions converge to a fair and efficient Nash Equilibrium

Cut off loss rate at 5%

Loss Rate

Page 87: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Dynamics

23

Page 88: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Dynamics

AIMD as a “hack” to asymptotic fairness

23

Page 89: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Dynamics

AIMD as a “hack” to asymptotic fairness

t

c

23

Page 90: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Dynamics

AIMD as a “hack” to asymptotic fairness

t

c

23

Page 91: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Dynamics

AIMD as a “hack” to asymptotic fairness

t

c

23

Page 92: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Dynamics

AIMD as a “hack” to asymptotic fairness

t

c

Moving away from convergence

23

Page 93: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC Dynamics

t

c

24

Page 94: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC Dynamics

PCC does not need AIMD because it looks at real performance

t

c

24

Page 95: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC Dynamics

PCC does not need AIMD because it looks at real performance

t

c

24

Page 96: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC Dynamics

PCC does not need AIMD because it looks at real performance

t

c

High Utility

24

Page 97: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC Dynamics

PCC does not need AIMD because it looks at real performance

t

c

High Utility

“Game Theory Force”

24

Page 98: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Convergence

25

Page 99: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Convergence

25

Page 100: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

0

20

40

60

80

100

120

0 500 1000 1500 2000 2500 3000 3500

Thro

ughput (M

bps)

Time (s)

Flow1Flow2Flow3Flow4

0

20

40

60

80

100

120

0 500 1000 1500 2000 2500 3000 3500

Th

rou

gh

pu

t (M

bp

s)

Time (s)

Flow1Flow2Flow3Flow4

PCC

TCP

26

Convergence

Page 101: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• No hardwired support, packet header, protocol change needed

• Where to deploy • CDN backbone, Inter-data center, dedicated

scientific nw • “In the Wild”?

Deployment

27

Page 102: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Friendliness

28

Page 103: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• Is PCC TCP-friendly?

TCP Friendliness

28

Page 104: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• Is PCC TCP-friendly?

TCP Friendliness

Wrong Questio

n

28

Page 105: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

TCP Friendliness

29

Page 106: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

TCP Friendliness

29

Page 107: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

TCP Friendliness

But not that bad

29

Page 108: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

TCP Friendliness

��

����

��

����

��

����

��

�� �� ��� ��� ��� ��� ���

�����������������������������

����������������������������������

�����������������������������������

���������������������������������

�������������������������������������������������������������

But not that bad

29

Page 109: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

TCP Friendliness

��

����

��

����

��

����

��

�� �� ��� ��� ��� ��� ���

�����������������������������

����������������������������������

�����������������������������������

���������������������������������

�������������������������������������������������������������

But not that bad

IE11

29

Page 110: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

• Different utility functions can be a solution

TCP Friendliness

30

Page 111: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

• Different utility functions can be a solution

TCP Friendliness

TCP vs TCP TCP vs PCC

30

Page 112: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

• Different utility functions can be a solution

TCP Friendliness

TCP vs TCP TCP vs PCC

30

Page 113: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• PCC’s default utility function is not TCP Friendly

• Different utility functions can be a solution

TCP Friendliness

TCP vs TCP TCP vs PCC

30

Page 114: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

31

Page 115: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

31

Page 116: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

31

17X vs Hybla

Page 117: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

31

17X vs Hybla

Page 118: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

31

17X vs Hybla 10X vs Illinois

Page 119: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

31

17X vs Hybla 10X vs Illinois

Page 120: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

31

17X vs Hybla 10X vs Illinois15X less buffer

Page 121: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

17X vs Hybla 10X vs Illinois15X less buffer

Page 122: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

17X vs Hybla 10X vs Illinois15X less buffer

Similar to ICTCP

Page 123: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

17X vs Hybla 10X vs Illinois15X less buffer

Similar to ICTCP

Page 124: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

17X vs Hybla 10X vs Illinois15X less buffer

Similar to ICTCP Close to Optimal

Page 125: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

0.2

0.4

0.6

0.8

1

1.2

20 30 40 50 60 70 80 90 100

Rela

tive thro

ughput of lo

ng-R

TT

flo

w

RTT of Long-RTT flow (ms)

PCCTCP CUBICTCP New Reno

RTT Unfairness

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

17X vs Hybla 10X vs Illinois15X less buffer

Similar to ICTCP Close to Optimal

Page 126: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

0.2

0.4

0.6

0.8

1

1.2

20 30 40 50 60 70 80 90 100

Rela

tive thro

ughput of lo

ng-R

TT

flo

w

RTT of Long-RTT flow (ms)

PCCTCP CUBICTCP New Reno

RTT Unfairness

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

17X vs Hybla 10X vs Illinois

Solves

15X less buffer

Similar to ICTCP Close to Optimal

Page 127: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

InterDC

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

0.2

0.4

0.6

0.8

1

1.2

20 30 40 50 60 70 80 90 100

Rela

tive thro

ughput of lo

ng-R

TT

flo

w

RTT of Long-RTT flow (ms)

PCCTCP CUBICTCP New Reno

RTT Unfairness

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

17X vs Hybla 10X vs Illinois

Solves

15X less buffer

Similar to ICTCP Close to Optimal

Page 128: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

InterDC

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

0.2

0.4

0.6

0.8

1

1.2

20 30 40 50 60 70 80 90 100

Rela

tive thro

ughput of lo

ng-R

TT

flo

w

RTT of Long-RTT flow (ms)

PCCTCP CUBICTCP New Reno

RTT Unfairness

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

4X vs Illinois1.23X vs UDT

17X vs Hybla 10X vs Illinois

Solves

15X less buffer

Similar to ICTCP Close to Optimal

Page 129: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

Global Commercial Internet

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

InterDC

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

0.2

0.4

0.6

0.8

1

1.2

20 30 40 50 60 70 80 90 100

Rela

tive thro

ughput of lo

ng-R

TT

flo

w

RTT of Long-RTT flow (ms)

PCCTCP CUBICTCP New Reno

RTT Unfairness

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

4X vs Illinois1.23X vs UDT

17X vs Hybla 10X vs Illinois

Solves

15X less buffer

Similar to ICTCP Close to Optimal

Page 130: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

Global Commercial Internet

0.01

0.1

1

10

100

1 10 100 1000

Thro

ughput (M

bps)

Bottleneck Buffersize (KB)

PCCTCP HyblaTCP IllinoisTCP CUBICTCP New RenoSatellite Networks

InterDC

1

10

100

0 0.01 0.02 0.03 0.04 0.05 0.06

Thro

ughput (M

bps)

Loss Rate

PCCTCP illinois

TCP CUBIC

Lossy Networks

0

0.2

0.4

0.6

0.8

1

1.2

20 30 40 50 60 70 80 90 100

Rela

tive thro

ughput of lo

ng-R

TT

flo

w

RTT of Long-RTT flow (ms)

PCCTCP CUBICTCP New Reno

RTT Unfairness

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350 400

Thro

ughput (M

bps)

Buffer Size(KB)

PCCTCP PacingTCP CUBIC

Shallow Network Buffer

0

20

40

60

80

100

120

0 100 200 300 400 500

Se

nd

ing

Ra

te(M

bp

s)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing Networks

200

400

600

800

1000

5 10 15 20 25 30 35

Goodput (M

bps)

Number of Senders

PCC data=256KB

PCC data=128KB

PCC data=64KB

TCP data=256KB

TCP data=128KB

TCP data=64KB

IntraDC Incast

31

4X vs Illinois1.23X vs UDT

17X vs Hybla 10X vs Illinois

Solves

15X less buffer

Similar to ICTCP Close to Optimal

4X median vs CUBIC1.48X vs UDT + 4X less loss

Page 131: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceSatellite Network

17X

WINDS System�����

����

��

���

����

�� ��� ���� �����

�����������������

���������������������������

�������������

���������������������������������������������

32

Page 132: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceRapidly Changing Networks

BW: 10-100Mbps; RTT: 10-100ms; Loss Rate: 0-1% Change every 5 seconds

33

10 20 30 40 50 60 70 80 90

100

0 100 200 300 400 500

Send

ing

Rate

(Mbp

s)

Time(s)

Optimal

Page 133: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceRapidly Changing Networks

BW: 10-100Mbps; RTT: 10-100ms; Loss Rate: 0-1% Change every 5 seconds

34

0 10 20 30 40 50 60 70 80 90

100

0 100 200 300 400 500

Send

ing

Rate

(Mbp

s)

Time(s)

OptimalTCP IllinoisTCP CUBIC

Page 134: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High Performance

0

20

40

60

80

100

120

0 100 200 300 400 500

Sendin

gR

ate

(Mbps)

Time(s)

OptimalPCCTCP IllinoisTCP CUBIC

Rapidly Changing NetworksBW: 10-100Mbps; RTT: 10-100ms; Loss Rate: 0-1%

Change every 5 seconds

35

Page 135: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

36

Page 136: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

36

Page 137: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC vs TCP vs Take a Flight

37

100G Data

Page 138: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC vs TCP vs Take a Flight

37

100G DataUtah, U.S. —>

Berlin, Germany

Illinois, US —> Waseda, Japan

Georgia, US —> Stockholm, Sweden

Georgia, US —> Ljubljana, Slovenia

Missouri, US —> Rennes, France

Massachusetts US —> Seoul, Korea

0:0:00:00 1:18:27:30 3:12:55:00 5:7:22:30 7:1:50:00

PCCTCP CUBICTake a Flight

Page 139: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC vs TCP vs Take a Flight

37

100G DataUtah, U.S. —>

Berlin, Germany

Illinois, US —> Waseda, Japan

Georgia, US —> Stockholm, Sweden

Georgia, US —> Ljubljana, Slovenia

Missouri, US —> Rennes, France

Massachusetts US —> Seoul, Korea

0:0:00:00 1:18:27:30 3:12:55:00 5:7:22:30 7:1:50:00

PCCTCP CUBICTake a Flight

Page 140: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC vs TCP vs Take a Flight

37

100G DataUtah, U.S. —>

Berlin, Germany

Illinois, US —> Waseda, Japan

Georgia, US —> Stockholm, Sweden

Georgia, US —> Ljubljana, Slovenia

Missouri, US —> Rennes, France

Massachusetts US —> Seoul, Korea

0:0:00:00 1:18:27:30 3:12:55:00 5:7:22:30 7:1:50:00

PCCTCP CUBICTake a Flight

Page 141: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

PCC vs TCP vs Take a Flight

37

100G DataUtah, U.S. —>

Berlin, Germany

Illinois, US —> Waseda, Japan

Georgia, US —> Stockholm, Sweden

Georgia, US —> Ljubljana, Slovenia

Missouri, US —> Rennes, France

Massachusetts US —> Seoul, Korea

0:0:00:00 1:18:27:30 3:12:55:00 5:7:22:30 7:1:50:00

PCCTCP CUBICTake a Flight

Page 142: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

38

0

20

40

60

80

100

0.5 2 8 32 128 512

Perc

enta

ge o

f Tria

ls

Throughput Improvement Ratio

PCC vs TCP CUBIC

Page 143: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

38

0

20

40

60

80

100

0.5 2 8 32 128 512

Perc

enta

ge o

f Tria

ls

Throughput Improvement Ratio

PCC vs TCP CUBIC

44%, 10X

Page 144: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

39

0 10 20 30 40 50 60 70 80 90

100

0.5 1 2 4 8 16 32 64 128 256 512

Perc

enta

ge o

f Tria

ls

Throughput Ratio over TCP CUBIC

PCC_d

Page 145: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

39

0 10 20 30 40 50 60 70 80 90

100

0.5 1 2 4 8 16 32 64 128 256 512

Perc

enta

ge o

f Tria

ls

Throughput Ratio over TCP CUBIC

PCC_d

Default utility function

Page 146: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

40

0 10 20 30 40 50 60 70 80 90

100

0.5 1 2 4 8 16 32 64 128 256 512

Perc

enta

ge o

f Tria

ls

Throughput Ratio over TCP CUBIC

PCC_fPCC_d

Default utility function

Page 147: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

40

0 10 20 30 40 50 60 70 80 90

100

0.5 1 2 4 8 16 32 64 128 256 512

Perc

enta

ge o

f Tria

ls

Throughput Ratio over TCP CUBIC

PCC_fPCC_d

Friendly Utility Function

Default utility function

Page 148: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

��

���

���

���

���

���

���

���

���

���

����

���� �� �� �� �� ��� ��� ��� ���� ���� ����

��������������������

�������������������������������

������������������������������������

41

Default utility function

Friendly Utility Function

Page 149: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

��

���

���

���

���

���

���

���

���

���

����

���� �� �� �� �� ��� ��� ��� ���� ���� ����

��������������������

�������������������������������

������������������������������������

Intra-continent 2.33X median

Inter-continent 25X median

41

Default utility function

Friendly Utility Function

Page 150: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

42

��

��

��

��

���

��� � � �� ��� ���

��������������������

����������������������������

��������������������������������������

Page 151: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Consistent High PerformanceGlobal Commercial Internet

42

��

��

��

��

���

��� � � �� ��� ���

��������������������

����������������������������

��������������������������������������

1.48X Median 4X less loss

Page 152: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Long list of things we have done but don’t have time to talk about

43

• More stories about the fact that TCP is broken • Proof of Nash Equilibrium and Convergence • Concrete Implementation of PCC

• Performance monitoring • Details of learning control algorithm • Implementation designs and optimizations

• Performance Evaluation • Inter data center networks • small buffer networks • Reactiveness and stability tradeoff • Jain index fairness • Benefit of Randomized Control Trials • Details of TCP friendliness evaluation • Emulated satellite networks • Emulated datacenter networks • Cure RTT unfairness • Does not fundamentally harm short flow FCT • Evaluation in the wild vs non-TCP protocols

• Flexibility by pluggable utility function

Page 153: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Long list of things we have done but don’t have time to talk about

43

• More stories about the fact that TCP is broken • Proof of Nash Equilibrium and Convergence • Concrete Implementation of PCC

• Performance monitoring • Details of learning control algorithm • Implementation designs and optimizations

• Performance Evaluation • Inter data center networks • small buffer networks • Reactiveness and stability tradeoff • Jain index fairness • Benefit of Randomized Control Trials • Details of TCP friendliness evaluation • Emulated satellite networks • Emulated datacenter networks • Cure RTT unfairness • Does not fundamentally harm short flow FCT • Evaluation in the wild vs non-TCP protocols

• Flexibility by pluggable utility function

11 more!

Page 154: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

44

Page 155: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Same Rate Control Algorithm

44

Page 156: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Same Rate Control Algorithm

44

+

Page 157: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Flexibility

Same Rate Control Algorithm

44

Different Utility Function+

=

Page 158: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Limitation and Future Work

45

Page 159: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Limitation and Future Work

• Understanding of Utility Function and Convergence • Better Control Algorithm • Better Scalability

45

Page 160: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Limitation and Future Work

+

• Understanding of Utility Function and Convergence • Better Control Algorithm • Better Scalability

45

Page 161: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Related Works

46

Page 162: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Related Works

• TCP Family: TCP exMachina (Remy)

46

Page 163: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Related Works

• TCP Family: TCP exMachina (Remy)• Non-TCP protocols: PCP

46

Page 164: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

Related Works

• TCP Family: TCP exMachina (Remy)• Non-TCP protocols: PCP• In-network feedback protocols: DCTCP, XCP

46

Page 165: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

• Rate control based on empirically observed performance yields

• Consistent high performance

• Better stability than TCP

• Flexible performance objectives

• Relatively easy and safe to deploy

47

Page 166: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

48

Page 167: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

speedier.net

48

Page 168: Performance-oriented Congestion Control - USENIX · Performance-oriented Congestion Control Mo Dong, Qingxi Li, Doron Zarchy*, P. Brighten Godfrey and Michael Schapira* ... CUBIC

speedier.net/pcc

49

github.com/modong/pccFind me to see a demo