Virtualized Congestion Control Bryce Cronkite-Ratcliff, Aran - - PowerPoint PPT Presentation

virtualized congestion control
SMART_READER_LITE
LIVE PREVIEW

Virtualized Congestion Control Bryce Cronkite-Ratcliff, Aran - - PowerPoint PPT Presentation

Virtualized Congestion Control Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik, Madhusudhan Ravi, Nick McKeown, Ittai Abraham, Isaac Keslassy 1 1 2 Multitenant Datacenters Tenants choose Congestion Control Enterprise Datacenters


slide-1
SLIDE 1

Virtualized Congestion Control

Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik, Madhusudhan Ravi, Nick McKeown, Ittai Abraham, Isaac Keslassy

1 1

slide-2
SLIDE 2

2

slide-3
SLIDE 3

Tenants choose Congestion Control Multitenant Datacenters Can’t upgrade legacy applications Enterprise Datacenters

3

slide-4
SLIDE 4

CUBIC DCTCP Throughput (Gbps) 10 8 6 4 2 5 10 15 20 Time (seconds)

adapted from Judd, NSDI ‘15

4

slide-5
SLIDE 5

Timely pFabric DCTCP New Congestion Control Algorithms Multitenant & Enterprise Datacenters

X

slide-6
SLIDE 6

General TCP Translation System

Reno Cubic Timely pFabric DCTCP Vegas Tahoe Hybla BIC Indy Westwood+ Agile-SD MP-TCP Compound CANIT XCP YeAH FIT Veno Scalable LP Illinois HSTCP H-TCP FAST Zeta NewReno TFRC Jersey Real

6

slide-7
SLIDE 7

7

slide-8
SLIDE 8

VM VM Hypervisor VM VM Hypervisor Datacenter Network Updatable & Easy to reconfigure

8

slide-9
SLIDE 9

VM VM Hypervisor VM VM Hypervisor Datacenter Network

9

slide-10
SLIDE 10

VM VM Hypervisor VM VM Hypervisor

Overlay CC Underlay CC

Datacenter Network

10

slide-11
SLIDE 11

VM VM Hypervisor VM VM Hypervisor Datacenter Network

11

slide-12
SLIDE 12

VM VM Hypervisor VM Guest Memory

12

Guest Introspection

slide-13
SLIDE 13

VM VM Hypervisor vSwitch SYN SACK: SYN SACK: 1

13

TCP Header Modification

slide-14
SLIDE 14

VM VM Hypervisor vSwitch Buffer SYN SACK: SYN SACK:

14

Buffering

slide-15
SLIDE 15

VM VM Hypervisor vSwitch SEQ: 41

15

Fake ACKs

ACK SEQ: 41 SEQ: 42

slide-16
SLIDE 16

VM VM Hypervisor vSwitch TCP Proxy SYN

16

TCP Proxy

ACK ACK

slide-17
SLIDE 17
  • Guest Introspection
  • Buffering
  • TCP Header Modification
  • Fake ACK generation
  • TCP Proxy

vCC Flow Modification Techniques

17

slide-18
SLIDE 18

18

slide-19
SLIDE 19

legacy upgraded upgraded upgraded

19

slide-20
SLIDE 20

20

slide-21
SLIDE 21

21

slide-22
SLIDE 22

Goodput (Mbps) Seconds 120 100 80 60 20 10 20 30 40 ECN non-ECN

22

slide-23
SLIDE 23

Non- ECN CE ECN

RED MIN

Non- ECN

Queued

1

Marked

2

Dropped

3

23

slide-24
SLIDE 24

All Packets Queued All Packets Dropped ECN Marked & non- ECN Dropped

24

slide-25
SLIDE 25

25

ECN

non-ECN

ECN ECN ECN ECN ECN translated to ECN

Bottleneck Link

Sender Receiver

slide-26
SLIDE 26

26

vCC Virtualized Congestion Control

slide-27
SLIDE 27

VM VM Hypervisor VM VM Hypervisor Datacenter Network

27

slide-28
SLIDE 28

VM Hypervisor SSTHRESH: CWND: SND_WND: 4 2 2 SYN SYN ECE CWR SSTHRESH: CWND: SND_WND: 4 2 2

28

SSTHRESH: Slow Start Threshold CWND: Congestion Window SND_WND: Send Window

slide-29
SLIDE 29

VM Hypervisor ECT SSTHRESH: CWND: SND_WND: 4 2 2 SSTHRESH: CWND: SND_WND: 4 2 2

29

slide-30
SLIDE 30

VM Hypervisor SSTHRESH: CWND: SND_WND: 4 2 2 SSTHRESH: CWND: SND_WND: 4 3 3 SSTHRESH: CWND: SND_WND: 4 2 2 SSTHRESH: CWND: SND_WND: 4 3 3

30

slide-31
SLIDE 31

VM Hypervisor SSTHRESH: CWND: SND_WND: 10 30 30 SSTHRESH: CWND: SND_WND: 10 30 30 RWIN: 15 SSTHRESH: CWND: SND_WND: 10 15 15 SSTHRESH: CWND: SND_WND: 10 30 15

31

slide-32
SLIDE 32

VM Hypervisor CWR SSTHRESH: CWND: SND_WND: 10 15 15 SSTHRESH: CWND: SND_WND: 10 30 15

32

slide-33
SLIDE 33

VM Hypervisor SSTHRESH: CWND: SND_WND: 10 30 15 SSTHRESH: CWND: SND_WND: 10 15 15 RWIN: 16 SSTHRESH: CWND: SND_WND: 10 16 16 SSTHRESH: CWND: SND_WND: 10 31 16

33

slide-34
SLIDE 34

Goodput (Mbps) Seconds 1.4 0.2 1.0 0.6 10 20 30

34

slide-35
SLIDE 35

35

100 80 60 40 20 2 4 6 8 10 12 Seconds Send Window (KB) 100 80 60 40 20 2 4 6 8 10 12 Seconds Congestion Window (KB)

Native vCC

slide-36
SLIDE 36

36

slide-37
SLIDE 37

37

slide-38
SLIDE 38

VM VM App2 App1 Hypervisor App1 App2 Hypervisor Datacenter Network

38

slide-39
SLIDE 39

VM App1 App2 Hypervisor App1 vCC Module App2 vCC Module

39

slide-40
SLIDE 40

Preferred Preferred Unpreferred Unpreferred Unpreferred 100 80 60 40 20 10 20 30 Time (seconds) Throughput (% link capacity)

40

slide-41
SLIDE 41

General TCP Translation System

Reno Cubic Timely pFabric DCTCP Vegas Tahoe Hybla BIC Indy Westwood+ Agile-SD MP-TCP Compound CANIT XCP YeAH FIT Veno Scalable LP Illinois HSTCP H-TCP FAST Zeta NewReno TFRC Jersey Real

41

slide-42
SLIDE 42

42

slide-43
SLIDE 43

ECN Experiments in this Presentation:

Linux 3.19 mininet testbed vCC implemented as a kernel patch

Public vCC Code:

Linux patch and mininet test suite available on Github http://webee.technion.ac.il/~isaac/vcc/ Public Code and Extended Paper:

ECN unfairness, virtual-ECN vCC, ESX app-level throttling vCC, technique survey, future implementation analysis Our Paper:

43

slide-44
SLIDE 44

Thank You!

44

slide-45
SLIDE 45

45

vCC Virtualized Congestion Control

Translate between Congestion Control Algorithms in the Hypervisor in order to

  • Achieve uniform congestion control in

multitenant and enterprise datacenters

  • Programatically assign congestion control to

fine-grained flow signatures

  • Simplify rollout of new congestion control

algorithms