Riptide: Jump Starting Back-Office Connections in Cloud Systems - - PowerPoint PPT Presentation

riptide jump starting back office connections in cloud
SMART_READER_LITE
LIVE PREVIEW

Riptide: Jump Starting Back-Office Connections in Cloud Systems - - PowerPoint PPT Presentation

Riptide: Jump Starting Back-Office Connections in Cloud Systems Marcel Flores - Northwestern University Amir R. Khakpour - Verizon Digital Media Services Harkeerat Bedi - Verizon Digital Media Services 1 Cloud systems Large scale global


slide-1
SLIDE 1

Riptide: Jump Starting Back-Office Connections in Cloud Systems

Marcel Flores - Northwestern University Amir R. Khakpour - Verizon Digital Media Services Harkeerat Bedi - Verizon Digital Media Services

1

slide-2
SLIDE 2

Cloud systems

  • Large scale global services:
  • CDNs, web services.
  • Back-office traffic between Points of Presence (PoPs).
  • Control messages, small transfers.

2

slide-3
SLIDE 3

Cloud systems

  • Frequent opening of

connections between PoPs.

  • In a perfect world,

would have a mesh.

  • Application and

resource constraints limit reuse.

3

slide-4
SLIDE 4

Cloud systems

  • Frequent opening of

connections between PoPs.

  • In a perfect world,

would have a mesh.

  • Application and

resource constraints limit reuse.

3

slide-5
SLIDE 5

Cloud systems

  • Frequent opening of

connections between PoPs.

  • In a perfect world,

would have a mesh.

  • Application and

resource constraints limit reuse.

3

slide-6
SLIDE 6

Cloud systems

  • Frequent opening of

connections between PoPs.

  • In a perfect world,

would have a mesh.

  • Application and

resource constraints limit reuse.

3

slide-7
SLIDE 7

Cloud systems

  • Frequent opening of

connections between PoPs.

  • In a perfect world,

would have a mesh.

  • Application and

resource constraints limit reuse.

3

slide-8
SLIDE 8

Cloud systems

  • Frequent opening of

connections between PoPs.

  • In a perfect world,

would have a mesh.

  • Application and

resource constraints limit reuse.

3

slide-9
SLIDE 9

Slow-start penalty

Sender Receiver

4

slide-10
SLIDE 10

Slow-start penalty

Sender Receiver Syn

4

slide-11
SLIDE 11

Slow-start penalty

Sender Receiver Syn Syn/Ack

4

slide-12
SLIDE 12

Slow-start penalty

Sender Receiver Syn Syn/Ack

{

Initial Window

4

slide-13
SLIDE 13

Slow-start penalty

Sender Receiver Syn Syn/Ack

{

Initial Window

4

Data doesn’t fit

slide-14
SLIDE 14

Slow-start penalty

Sender Receiver Syn Syn/Ack

{

Initial Window

{

2nd Window

4

Data doesn’t fit

slide-15
SLIDE 15

Slow-start penalty

Sender Receiver Syn Syn/Ack

{

Initial Window

{

2nd Window

4

Data doesn’t fit Transfer pays second RTT

slide-16
SLIDE 16

Cloud workloads

200 400 600 800 1000 File Size (KB) 0.0 0.2 0.4 0.6 0.8 1.0 CDF

5

slide-17
SLIDE 17

Cloud workloads

200 400 600 800 1000 File Size (KB) 0.0 0.2 0.4 0.6 0.8 1.0 CDF

54% are too big for default

5

slide-18
SLIDE 18

Cloud workloads

200 400 600 800 1000 File Size (KB) 0.0 0.2 0.4 0.6 0.8 1.0 CDF

54% are too big for default

5

85% under 200KB

slide-19
SLIDE 19

Global deployments

6

50 100 150 200 250 300 350 400 RTT (MS) 0.0 0.2 0.4 0.6 0.8 1.0 CDF

slide-20
SLIDE 20

Global deployments

6

50 100 150 200 250 300 350 400 RTT (MS) 0.0 0.2 0.4 0.6 0.8 1.0 CDF

Median RTT is over 125 ms

slide-21
SLIDE 21

Global deployments

  • Can’t just blindly increase the congestion window
  • n a global deployment.
  • Would risk significant loss.

7

slide-22
SLIDE 22

Riptide

  • Observes current congestion windows.
  • New connections set initial window to a known-safe level.
  • Operates in a totally standalone manner.

8

slide-23
SLIDE 23

Riptide

  • Riptide observes CWND

for all open connections to a destination.

  • New connections will be
  • pened with INIT_CWND

set to the average of existing windows.

9

Riptide

85 75

slide-24
SLIDE 24

Riptide

  • Riptide observes CWND

for all open connections to a destination.

  • New connections will be
  • pened with INIT_CWND

set to the average of existing windows.

9

Riptide

85 75 ?

slide-25
SLIDE 25

Riptide

  • Riptide observes CWND

for all open connections to a destination.

  • New connections will be
  • pened with INIT_CWND

set to the average of existing windows.

9

Riptide

85 75 80

slide-26
SLIDE 26

Implementation

  • Implemented as a Python script in user space.
  • Use the ss tool to observe existing windows.
  • Polls current connections once per second.
  • Sets new windows via ip route interface.

10

ip route add 10.0.0.127 dev eth0 proto \\ static initcwnd 80 via 10.0.0.1

slide-27
SLIDE 27

Riptide Deployment

11

slide-28
SLIDE 28

Probes

  • To test the current state of the network, send hourly

probes between PoPs.

  • Currently employ 10K, 50K, 100K probes.

12

slide-29
SLIDE 29

Observed windows

13

slide-30
SLIDE 30

Observed windows

13

CWND windows significantly higher.

slide-31
SLIDE 31

Observed windows

13

CWND windows significantly higher.

slide-32
SLIDE 32

Observed windows

13

CWND windows significantly higher. Knee

slide-33
SLIDE 33

Probe completion times

14

Riptide Default

  • Clients are able to

complete the probe transfers in fewer round trips.

  • Reduces total transfer

time.

slide-34
SLIDE 34

Probe completion times

14

Riptide Default

  • Clients are able to

complete the probe transfers in fewer round trips.

  • Reduces total transfer

time. Better

slide-35
SLIDE 35

Probe completion times

14

Riptide Default

  • Clients are able to

complete the probe transfers in fewer round trips.

  • Reduces total transfer

time. Better

slide-36
SLIDE 36

Probe completion times

14

Riptide Default

  • Clients are able to

complete the probe transfers in fewer round trips.

  • Reduces total transfer

time. 80% of transfers were faster Better

slide-37
SLIDE 37

Gain Percentile

15

slide-38
SLIDE 38

Gain Percentile

15

}

slide-39
SLIDE 39

Gain Percentile

15

Gains were highest at upper percentiles.

}

slide-40
SLIDE 40

Conclusion

  • Demonstrated design and implementation of a

simple tool to observe and adjust congestion windows.

  • Deployed the system in a production network.
  • Achieved significant increase in average

congestion window.

  • Demonstrated improvements in completion time,

reducing slow-start penalty

16

slide-41
SLIDE 41

Thank you!

17

slide-42
SLIDE 42

Extras

18

slide-43
SLIDE 43

Cloud systems

  • Complexity means node-level resource constraints
  • Frequent connections between Points-of-Presence

(PoPs).

  • In many cases dominated by small file

transactions.

19

slide-44
SLIDE 44

Cloud workloads

1 2 3 4 5 6 7 8 Number of RTT s 0.0 0.2 0.4 0.6 0.8 1.0 CDF

10 25 50 100

20

slide-45
SLIDE 45

Cloud workloads

1 2 3 4 5 6 7 8 Number of RTT s 0.0 0.2 0.4 0.6 0.8 1.0 CDF

10 25 50 100

20

Larger windows reduce RTTs

slide-46
SLIDE 46

Traffic matters

21

slide-47
SLIDE 47

Traffic matters

21

Traffic drives up window sizes.