IOVTee: A Fast and Pragmatic
Software-based Zero-copy/Pass-through Mechanism for NFV-nodes
- Assist. Prof. Ryota Kawashima
Nagoya Institute of Technology, Japan
Contents 1 Backgrounds 2 Related Work 3 IOVTee 4 Evaluation - - PowerPoint PPT Presentation
Best Paper Award IOVTee : A Fast and Pragmatic Software-based Zero-copy/Pass-through Mechanism for NFV-nodes Assist. Prof. Ryota Kawashima Nagoya Institute of Technology, Japan 1 Contents 1 Backgrounds 2 Related Work 3 IOVTee 4
Nagoya Institute of Technology, Japan
1
2
Highly flexible infrastructures are crucial for 5G/cloud services Forwarding Functions Convergenced Convergenced Convergenced
3
Marcus K. Weldon, “The Future X Networks”
Are software-based approaches viable ?
400G Ethernet
4
ASIC Memory
CPU
D-Plane C-Plane
Memory CPU
DPDK Virtual Switch VNF DPDK VNF vHW DPDK VNF Memory CPU
D-Plane C-Plane
NF TCAM
5
20 40 60 80 100 120 140 160 H/W Baremetal Container VM
Basic Forwarding Throughput (64B)
[Mpps]
NFV-node (single datapath) The cost of flexibility is too high a price !
6
7
Driver DPDK VNF virtio
VM
Driver DPDK Virtual Switch NIC DPDK VNF virtio
Container
Driver User-space to User-space
(each direction)
(optional)
8
* J. Hwang, et al., “NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms”, IEEE TNSM, vol. 12, no. 1, pp. 34-47, 2015
NIC Driver DPDK Packet Core Engine Packet Pool Emulated PCI NetLib VNF VM
Zero-copy
Phy-Phy Phy-Phy Phy-Phy Phy-Phy Packet Packet Vir-Phy Vir-Phy
Virtual Switch
** D. Wang, et al., “Zcopy-vhost: Eliminating Packet Copying in Virtual Network I/O”, Proc. IEEE LCN, pp. 632-639, 2017
Emulated PCI NetLib VNF VM VNF DPDK
Phy-Vir Phy-Vir
VM
Shared by VMs Direct access Forwarding Decision Swapped
9
NIC VF VF DPDK VNF DPDK VNF
VM Container
Virtual Switch
Bypassed Dedicated to the physical NIC Hairpin routing for inter-guest comm.
VF Driver VF Driver
10
Concerns Description Methods Security
Exposing the host memory NetVM, IVSHMEM
Transparency
VNFs are aware of the host environment NetVM, IVSHMEM, Zcopy-vhost, SR-IOV
Portability
The method broadly depends on other system components Zcopy-vhost
Traceability
Internal behaviors are hidden SR-IOV
Container
Container-based VNFs are not supported IVSHMEM, Zcopy- vhost
The existing methods have pragmatic problems A yet another practical approach is needed
11
virtio Driver DPDK VNF
Container
DPDK VNF virtio
VM
Driver
12
NIC Driver DPDK Virtual Switch
(DMA-to-VNF)
13
NIC Driver DPDK Virtual Switch
Packet
DPDK VNF virtio Driver
Mempool Mempool MBuf Buffer Buffer MBuf
(Rx Queue Mapping)
Packet
(DMA-to-VNF)
(Zero-copy)
14
Concerns Description Resolved? Security
Host memory is NOT exposed to VNFs
Transparency
IOVTee is completely hidden by the vhost-user interface
Portability
IOVTee is implemented only within the host DPDK internals
Traceability
IOVTee is a complete software-based approach
Container
The vhost-user interface is not changed
IOVTee is a pragmatic zero-copy/pass-through mechanism What about the performance ?
15
16
Driver Driver DPDK VNF virtio DPDK Virtual Switch NIC
Packet Packet
17
Driver Driver DPDK VNF virtio DPDK Virtual Switch NIC Driver DPDK MoonGen NIC
Device under Test Tester
100 GbE Single CPU core Dual CPU cores (Rx/Tx)
18
Default vhost-user IOVTee
Lower cache hit ratio Virtual must be greater than Physical Higher cache hit ratio
19
Tx: copy Tx: zero-copy Tx: fake-zero-copy Tx: SR-IOV
Unstable and poor performance Tx: zero-copy worsens performance Overhead of IOVTee
Zero-copy for Rx path is effective
Current implementation could be further optimized
20
19 Mpps for
64-byte packets Worst performance for mid-size packets Tx: zero-copy/SR-IOV are effective for large-size packets
IOVTee is superior for any packet size 90 Gbps for
1518-byte packets
21
10 20 30 40 50 60 70 Baremetal Default IOVTee
Basic Forwarding Throughput
(64-byte packets, Single datapath)
What causes this gap ? Zero-copy is effective, but not enough
[Mpps]
22
23
IOVTee: A yet another Zero-copy/Pass-through method
Security Transparency Portability Traceability Container