Network Stack as a Service in the Cloud
Zhixiong Niu1, Hong Xu1, Dongsu Han2, Peng Cheng3, Yongqiang Xiong3, Guo Chen3, Keith Winstein4
1City University of Hong Kong 2KAIST 3Microsoft Research Asia 4Stanford University
Network Stack as a Service in the Cloud Zhixiong Niu 1 , Hong Xu 1 , - - PowerPoint PPT Presentation
Network Stack as a Service in the Cloud Zhixiong Niu 1 , Hong Xu 1 , Dongsu Han 2 , Peng Cheng 3 , Yongqiang Xiong 3 , Guo Chen 3 , Keith Winstein 4 1 City University of Hong Kong 2 KAIST 3 Microsoft Research Asia 4 Stanford University Imagine
1City University of Hong Kong 2KAIST 3Microsoft Research Asia 4Stanford University
2
3
VM
3
VM
3
VM
3
VM
3
VM
4
7.5 15 22.5 30 Aug Sep Oct Nov
mTCP F-stack
VM
4
7.5 15 22.5 30 Aug Sep Oct Nov
mTCP F-stack
VM
4
7.5 15 22.5 30 Aug Sep Oct Nov
mTCP F-stack
VM
4
5
6
Tenant Provider
VM
6
Tenant Provider
VM
6
Tenant Provider
VM
6
7
VM vNIC APP2 APP1 Networking API
Provider Tenant
Network Stack
Current architecture
8
VM vNIC APP2 APP1 Networking API
Provider Tenant
Network Stack
Current architecture
8
VM APP2 APP1 Networking API Network stack module
Provider Tenant
Network Stack
9
VM APP2 APP1 Networking API Network stack module
Provider Tenant
Network Stack
Interface unchanged (BSD sockets, etc.)
9
VM APP2 APP1 Networking API Network stack module
Provider Tenant
Network Stack
Interface unchanged (BSD sockets, etc.)
Packets handled in the NSM
9
VM APP2 APP1 Networking API Network stack module
Provider Tenant
Network Stack
Interface unchanged (BSD sockets, etc.)
Packets handled in the NSM
9
VM VM
11
VM VM
11
VM VM
11
12
NSM Capacity Price mTCP 25Mpps $2/hr mTCP 50Mpps $4/hr F-Stack 20Mpps $2/hr
12
NSM Capacity Price mTCP 25Mpps $2/hr mTCP 50Mpps $4/hr F-Stack 20Mpps $2/hr
BBR NSM
12
NSM Capacity Price mTCP 25Mpps $2/hr mTCP 50Mpps $4/hr F-Stack 20Mpps $2/hr
BBR NSM
12
NSM Capacity Price mTCP 25Mpps $2/hr mTCP 50Mpps $4/hr F-Stack 20Mpps $2/hr
BBR NSM
12
13
VM VM VM VM
mTCP Oct 2017 mTCP Nov 2017 mTCP Dec 2017
…
13
VM VM VM VM
mTCP Oct 2017 mTCP Nov 2017 mTCP Dec 2017
…
13
VM VM VM VM
mTCP Oct 2017 mTCP Nov 2017 mTCP Dec 2017
…
VM
APP1 APP2 Network API Virtual Switch / Embedded Switch (SR-IOV)
NSM
Network Stack
vNIC
pNICs Hypervisor Physical NICs
14
GuestLib
Socket API
VM
APP1 APP2 Network API Virtual Switch / Embedded Switch (SR-IOV)
NSM
Network Stack
vNIC
pNICs Hypervisor Physical NICs
14
GuestLib
Socket API
VM
APP1 APP2 Network API Virtual Switch / Embedded Switch (SR-IOV)
NSM
Network Stack ServiceLib
vNIC
pNICs Hypervisor Physical NICs
14
GuestLib
Socket API
VM
APP1 APP2 Network API Virtual Switch / Embedded Switch (SR-IOV)
NSM
Network Stack ServiceLib
vNIC
pNICs Hypervisor Physical NICs
Data Data
Huge page
14
GuestLib
Socket API
VM
APP1 APP2 Network API Virtual Switch / Embedded Switch (SR-IOV)
NSM
Network Stack ServiceLib
vNIC
pNICs Hypervisor Physical NICs
Data Data
Huge page
14
CoreEngine Queues
Chunk size 64B 512B 1KB 2KB 4KB 8KB Latency 8ns 64ns 117ns 214ns 425ns 809ns Communication between ServiceLib and GuestLib (Random read and copy)
15
Chunk size 64B 512B 1KB 2KB 4KB 8KB Latency 8ns 64ns 117ns 214ns 425ns 809ns Communication between ServiceLib and GuestLib (Random read and copy)
64Gbps 81Gbps
15
3 6 9 12 Win + NSM BBR Linux BBR Windows CTCP Linux CUBIC
Throughput (Mbps)
Beijing California
350ms rtt 12Mbps Uplink
BBR NSM
VM VM
16
17
18
containers? hypervisor modules?
18
containers? hypervisor modules?
18
host stack
host use different stacks
containers? hypervisor modules?
18
Spark Nginx
DCTCP BBR
host stack
host use different stacks
containers? hypervisor modules?
18
Spark Nginx
DCTCP BBR
host stack
host use different stacks
19