An experimental study of the learnability of congestion control - - PowerPoint PPT Presentation

an experimental study of the learnability of congestion
SMART_READER_LITE
LIVE PREVIEW

An experimental study of the learnability of congestion control - - PowerPoint PPT Presentation

An experimental study of the learnability of congestion control Anirudh Sivaraman, Keith Winstein, Pratiksha Thaker, Hari Balakrishnan MIT CSAIL http://web.mit.edu/remy/learnability August 31, 2014 1 / 17 This talk How easy is it to


slide-1
SLIDE 1

An experimental study of the learnability of congestion control

Anirudh Sivaraman, Keith Winstein, Pratiksha Thaker, Hari Balakrishnan

MIT CSAIL http://web.mit.edu/remy/learnability

August 31, 2014

1 / 17

slide-2
SLIDE 2

This talk

◮ How easy is it to learn a network protocol to

achieve a desired goal, despite a mismatched set

  • f assumptions?

2 / 17

slide-3
SLIDE 3

This talk

◮ How easy is it to learn a network protocol to

achieve a desired goal, despite a mismatched set

  • f assumptions?

◮ cf. Learning: “Knowledge acquisition without

explicit programming” (Valiant 1984)

2 / 17

slide-4
SLIDE 4

Preview of key results

3 / 17

slide-5
SLIDE 5

Preview of key results

◮ Can tolerate mismatched link-rate assumptions

3 / 17

slide-6
SLIDE 6

Preview of key results

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders

3 / 17

slide-7
SLIDE 7

Preview of key results

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword

3 / 17

slide-8
SLIDE 8

Preview of key results

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword ◮ Can tolerate mismatch in the # of bottlenecks

3 / 17

slide-9
SLIDE 9

Experimental method

4 / 17

slide-10
SLIDE 10

Experimental method

4 / 17

slide-11
SLIDE 11

Experimental method

< Mbps, ms>

4 / 17

slide-12
SLIDE 12

Experimental method

< Mbps, ms>

4 / 17

slide-13
SLIDE 13

Experimental method

< Mbps, ms>

4 / 17

slide-14
SLIDE 14

Experimental method

< Mbps, ms>

4 / 17

slide-15
SLIDE 15

Experimental method

< Mbps, ms>

4 / 17

slide-16
SLIDE 16

Experimental method

< Mbps, ms>

Training Networks

5 / 17

slide-17
SLIDE 17

Experimental method

< Mbps, ms>

Training Networks Objective Function:

  • log (tpt/delay)
  • Avg. Flow Completion time

Learner

5 / 17

slide-18
SLIDE 18

Experimental method

< Mbps, ms>

Training Networks Objective Function:

  • log (tpt/delay)
  • Avg. Flow Completion time

Learner Congestion Control Algorithm

5 / 17

slide-19
SLIDE 19

Experimental method

< Mbps, ms>

Training Networks Objective Function:

  • log (tpt/delay)
  • Avg. Flow Completion time

Remy (SIGCOMM 13) RemyCC

5 / 17

slide-20
SLIDE 20

Experimental method

< Mbps, ms>

Training Networks

< Mbps, ms>

T est within ns-2 T esting Networks Objective Function:

  • log (tpt/delay)
  • Avg. Flow Completion time

Remy (SIGCOMM 13) RemyCC

5 / 17

slide-21
SLIDE 21

Remy compared with an ideal protocol

0.5 1 2 4 8 16 32 100 200 300 400 500 Throughput (Mbps) Queueing delay (ms)

6 / 17

slide-22
SLIDE 22

Remy compared with an ideal protocol

0.5 1 2 4 8 16 32 100 200 300 400 500 Throughput (Mbps) Queueing delay (ms)

Ideal

6 / 17

slide-23
SLIDE 23

Remy compared with an ideal protocol

0.5 1 2 4 8 16 32 100 200 300 400 500 Throughput (Mbps) Queueing delay (ms)

Ideal RemyCC

6 / 17

slide-24
SLIDE 24

Remy compared with an ideal protocol

0.5 1 2 4 8 16 32 100 200 300 400 500 Throughput (Mbps) Queueing delay (ms)

Ideal RemyCC Cubic Cubic/sfqCoDel

6 / 17

slide-25
SLIDE 25

Learning network protocols despite mismatched assumptions

7 / 17

slide-26
SLIDE 26

Learning network protocols despite mismatched assumptions

◮ Is there a tradeoff between operating range and

generality in link rates?

7 / 17

slide-27
SLIDE 27

Learning network protocols despite mismatched assumptions

◮ Is there a tradeoff between operating range and

generality in link rates?

◮ Is there a tradeoff between performance and

  • perating range in link rates?

7 / 17

slide-28
SLIDE 28

Performance and link-rate operating range

  • 1.5
  • 1
  • 0.5

1 10 100 1000 Link rate (Mbps) Objective Function (Normalized)

8 / 17

slide-29
SLIDE 29

Performance and link-rate operating range

  • 1.5
  • 1
  • 0.5

1 10 100 1000 Link rate (Mbps) Objective Function (Normalized) Ideal

8 / 17

slide-30
SLIDE 30

Performance and link-rate operating range

  • 1.5
  • 1
  • 0.5

1 10 100 1000 Link rate (Mbps) Objective Function (Normalized) Ideal 2x range

8 / 17

slide-31
SLIDE 31

Performance and link-rate operating range

  • 1.5
  • 1
  • 0.5

1 10 100 1000 Link rate (Mbps) Objective Function (Normalized) Ideal 2x range 10x range

8 / 17

slide-32
SLIDE 32

Performance and link-rate operating range

  • 1.5
  • 1
  • 0.5

1 10 100 1000 Link rate (Mbps) Objective Function (Normalized) Ideal 2x range 10x range 100x range

8 / 17

slide-33
SLIDE 33

Performance and link-rate operating range

  • 1.5
  • 1
  • 0.5

1 10 100 1000 Link rate (Mbps) Objective Function (Normalized) Ideal 2x range 10x range 100x range 1000x range

8 / 17

slide-34
SLIDE 34

Performance and link-rate operating range

  • 1.5
  • 1
  • 0.5

1 10 100 1000 Link rate (Mbps) Objective Function (Normalized) Ideal C u b i c Cubic-over-sfqCoDel 2x range 10x range 100x range 1000x range

8 / 17

slide-35
SLIDE 35

Performance and link-rate operating range

9 / 17

slide-36
SLIDE 36

Performance and link-rate operating range

◮ Very clear generality vs. operating range tradeoff

9 / 17

slide-37
SLIDE 37

Performance and link-rate operating range

◮ Very clear generality vs. operating range tradeoff ◮ Only weak evidence of a performance vs.

  • perating range tradeoff

9 / 17

slide-38
SLIDE 38

Performance and link-rate operating range

◮ Very clear generality vs. operating range tradeoff ◮ Only weak evidence of a performance vs.

  • perating range tradeoff

◮ Possible to design a forwards-comptabible

protocol handling a wide range in link rates

9 / 17

slide-39
SLIDE 39

Learning network protocols despite mismatched assumptions Can we learn a protocol that performs well both when there are few senders and when there are many senders?

10 / 17

slide-40
SLIDE 40

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

11 / 17

slide-41
SLIDE 41

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal

11 / 17

slide-42
SLIDE 42

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal

11 / 17

slide-43
SLIDE 43

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2

11 / 17

slide-44
SLIDE 44

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2

11 / 17

slide-45
SLIDE 45

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10

11 / 17

slide-46
SLIDE 46

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10

11 / 17

slide-47
SLIDE 47

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10 1

  • 5

11 / 17

slide-48
SLIDE 48

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10 1

  • 5

11 / 17

slide-49
SLIDE 49

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10 1

  • 5

1 - 100

11 / 17

slide-50
SLIDE 50

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10 1

  • 5

1 - 100

11 / 17

slide-51
SLIDE 51

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10 1

  • 5

1 - 100 Cubic

11 / 17

slide-52
SLIDE 52

Imperfections in the number of senders

20 40 60 80 100

Number of senders

−1.4 −1.2 −1.0 −0.8 −0.6 −0.4 −0.2 0.0

Normalized objective function

Ideal 1 - 2 1 - 10 1

  • 5

1 - 100 Cubic Cubic-over-sfqCoDel

11 / 17

slide-53
SLIDE 53

Imperfections in the number of senders Tradeoff between performance with few senders and performance with many senders

11 / 17

slide-54
SLIDE 54

Learning network protocols despite mismatched assumptions What are the costs and benefits of learning a new protocol that shares fairly with a legacy sender?

12 / 17

slide-55
SLIDE 55

Imperfect assumptions about the nature of other senders

◮ TCP-Aware RemyCC: Contends with:

◮ TCP-Aware RemyCC half the time ◮ TCP NewReno half the time.

13 / 17

slide-56
SLIDE 56

Imperfect assumptions about the nature of other senders

◮ TCP-Aware RemyCC: Contends with:

◮ TCP-Aware RemyCC half the time ◮ TCP NewReno half the time.

◮ TCP-Naive RemyCC: Contends with:

◮ TCP-Naive RemyCC all the time

13 / 17

slide-57
SLIDE 57

RemyCC competing against itself

3 4 5 6 7 16 32 64 128 Throughput (Mbps) Queueing delay (ms)

Better

NewReno RemyCC [TCP-naive]

14 / 17

slide-58
SLIDE 58

RemyCC competing against itself

3 4 5 6 7 16 32 64 128 Throughput (Mbps) Queueing delay (ms)

Better

NewReno RemyCC [TCP-naive]

Cost of TCP-awareness

14 / 17

slide-59
SLIDE 59

RemyCC competing against itself

3 4 5 6 7 16 32 64 128 Throughput (Mbps) Queueing delay (ms)

Better

NewReno RemyCC [TCP-naive]

Cost of TCP-awareness

RemyCC [TCP-aware]

14 / 17

slide-60
SLIDE 60

RemyCC competing against TCP NewReno

4 5 6 7 64 96 128 Queueing delay (ms)

Better

3 Throughput (Mbps) NewReno RemyCC [TCP-naive]

15 / 17

slide-61
SLIDE 61

RemyCC competing against TCP NewReno

4 5 6 7 64 96 128 Queueing delay (ms)

Better

3 Throughput (Mbps) NewReno RemyCC [TCP-naive]

Benefit of TCP-awareness E f f e c t

  • f

T C P

  • a

w a r e a d v e r s a r y

15 / 17

slide-62
SLIDE 62

RemyCC competing against TCP NewReno

4 5 6 7 64 96 128 Queueing delay (ms)

Better

3 Throughput (Mbps) NewReno RemyCC [TCP-aware] NewReno RemyCC [TCP-naive]

Benefit of TCP-awareness E f f e c t

  • f

T C P

  • a

w a r e a d v e r s a r y

15 / 17

slide-63
SLIDE 63

RemyCC competing against TCP NewReno TCP awareness benefits you when needed, costs if you don’t

15 / 17

slide-64
SLIDE 64

Caveats

16 / 17

slide-65
SLIDE 65

Caveats

◮ Remy as a proxy for an optimal learner

16 / 17

slide-66
SLIDE 66

Caveats

◮ Remy as a proxy for an optimal learner ◮ Results may change with better learners

16 / 17

slide-67
SLIDE 67

Caveats

◮ Remy as a proxy for an optimal learner ◮ Results may change with better learners ◮ Negative results may no longer hold

16 / 17

slide-68
SLIDE 68

The learnability of congestion control

17 / 17

slide-69
SLIDE 69

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions

17 / 17

slide-70
SLIDE 70

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders

17 / 17

slide-71
SLIDE 71

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword

17 / 17

slide-72
SLIDE 72

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword ◮ Can tolerate mismatch in the # of bottlenecks

17 / 17

slide-73
SLIDE 73

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword ◮ Can tolerate mismatch in the # of bottlenecks ◮ Ongoing work in using findings:

17 / 17

slide-74
SLIDE 74

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword ◮ Can tolerate mismatch in the # of bottlenecks ◮ Ongoing work in using findings:

◮ improve Google’s datacenter transport

17 / 17

slide-75
SLIDE 75

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword ◮ Can tolerate mismatch in the # of bottlenecks ◮ Ongoing work in using findings:

◮ improve Google’s datacenter transport ◮ user-space implementation of RemyCC

17 / 17

slide-76
SLIDE 76

The learnability of congestion control

◮ Can tolerate mismatched link-rate assumptions ◮ Need precision about the number of senders ◮ TCP compatibility is a double-edged sword ◮ Can tolerate mismatch in the # of bottlenecks ◮ Ongoing work in using findings:

◮ improve Google’s datacenter transport ◮ user-space implementation of RemyCC

◮ http://web.mit.edu/remy/learnability

17 / 17

slide-77
SLIDE 77

Backup slides

17 / 17

slide-78
SLIDE 78

The Remy protocol synthesis procedure

◮ Protocol: range-based rule table from state to action

17 / 17

slide-79
SLIDE 79

The Remy protocol synthesis procedure

◮ Protocol: range-based rule table from state to action ◮ State: Congestion signals tracked by the sender

◮ s ewma : EWMA over packet inter-transmit times ◮ r ewma : EWMA over ACK inter-arrival times ◮ rtt ratio: Ratio of RTT to minimum RTT ◮ slow r ewma: Slower version of s ewma

17 / 17

slide-80
SLIDE 80

The Remy protocol synthesis procedure

◮ Protocol: range-based rule table from state to action ◮ State: Congestion signals tracked by the sender

◮ s ewma : EWMA over packet inter-transmit times ◮ r ewma : EWMA over ACK inter-arrival times ◮ rtt ratio: Ratio of RTT to minimum RTT ◮ slow r ewma: Slower version of s ewma

◮ Action: modify window, transmission rate

◮ Multiplier m to current window ◮ Increment c to current window ◮ Minimum inter-transmit time.

17 / 17

slide-81
SLIDE 81

The Remy protocol synthesis procedure

  • 1. Start with one rule: one action for all states
  • 2. Optimize each action to maximize objective
  • 3. Find most used rule
  • 4. Median split that rule based on state usage
  • 5. Repeat 2, 3, and 4 till you converge

17 / 17

slide-82
SLIDE 82

One action for all states. Find the best value.

s_ewma r_ewma

<?,?,?>

17 / 17

slide-83
SLIDE 83

The best (single) action. Now split it on median.

s_ewma r_ewma

<0.90,4,3.3>

17 / 17

slide-84
SLIDE 84

Simulate

s_ewma r_ewma

<0.90,4,3.3> <0.90,4,3.3>

<0.90,4,3.3> <0.90,4,3.3>

17 / 17

slide-85
SLIDE 85

Optimize each of the new actions

s_ewma r_ewma

<0.90,4,3.3> <0.90,4,3.3>

<0.90,4,3.3> <0.90,4,3.3>

17 / 17

slide-86
SLIDE 86

Now split the most-used rule

s_ewma r_ewma

<0.90,5,2.8> <0.60,19,76.2>

<0.70,6,53.5> <0.80,5,4.1>

17 / 17

slide-87
SLIDE 87

Simulate

s_ewma r_ewma

<0.90,5,2.8> <0.60,19,76.2>

<0.70,6,53.5>

<0.80,5,4.1> <0.80,5,4.1>

<0.80,5,4.1> <0.80,5,4.1> 17 / 17

slide-88
SLIDE 88

Optimize

s_ewma r_ewma

<0.90,5,2.8> <0.60,19,76.2>

<0.70,6,53.5>

<0.80,5,4.1> <0.80,5,4.1>

<0.80,5,4.1> <0.80,5,4.1> 17 / 17

slide-89
SLIDE 89

Split

s_ewma r_ewma

<0.90,5,2.8> <0.30,29,49.7>

<0.60,17,13.3>

<0.80,8,3.3> <0.80,8,62.7>

<0.80,17,4.6> <0.80,7,16.9> 17 / 17

slide-90
SLIDE 90

Simulate

s_ewma r_ewma

<0.30,29,49.7>

<0.60,17,13.3>

<0.80,8,3.3> <0.80,8,62.7>

<0.80,17,4.6> <0.80,7,16.9>

<0.90,5,2.8> <0.90,5,2.8>

<0.90,5,2.8> <0.90,5,2.8>

17 / 17

slide-91
SLIDE 91

Can applications with different objectives coexist?

◮ Tpt. Sender: A throughput-intensive sender

log(throughput) − 0.1 ∗ log(delay) (1)

◮ Lat. Sender: A latency-sensitive sender

log(throughput) − 10.0 ∗ log(delay) (2)

◮ Running over a FIFO queue

17 / 17

slide-92
SLIDE 92

Training for diversity has a cost ...

1 2 5 11 16 1 2 4 8 16 32 64 128 256 512 1024 2048 Throughput (Mbps) Queueing delay (ms)

17 / 17

slide-93
SLIDE 93

Training for diversity has a cost ...

1 2 5 11 16 1 2 4 8 16 32 64 128 256 512 1024 2048 Throughput (Mbps) Queueing delay (ms)

  • Tpt. Sender

[naive]

  • Lat. Sender

[naive]

17 / 17

slide-94
SLIDE 94

Training for diversity has a cost ...

1 2 5 11 16 1 2 4 8 16 32 64 128 256 512 1024 2048 Throughput (Mbps) Queueing delay (ms)

  • Tpt. Sender

[naive]

  • Tpt. Sender

[coevolved]

  • Lat. Sender

[naive]

  • Lat. Sender

[coevolved]

Cost of Coexistence

17 / 17

slide-95
SLIDE 95

but, benefits the docile sender

1 2 5 11 16 1 2 4 8 16 32 64 128 256 512 1024 2048 Throughput (Mbps) Queueing delay (ms)

17 / 17

slide-96
SLIDE 96

but, benefits the docile sender

1 2 5 11 16 1 2 4 8 16 32 64 128 256 512 1024 2048 Throughput (Mbps) Queueing delay (ms)

  • Tpt. Sender

[naive]

  • Lat. Sender

[naive]

17 / 17

slide-97
SLIDE 97

but, benefits the docile sender

1 2 5 11 16 1 2 4 8 16 32 64 128 256 512 1024 2048 Throughput (Mbps) Queueing delay (ms)

  • Tpt. Sender

[naive]

  • Tpt. Sender

[coevolved]

  • Lat. Sender

[naive]

  • Lat. Sender

[coevolved]

Benefit of coevolution E f f e c t

  • f

p l a y i n g n i c e

17 / 17