CONSOLIDATING DPDK VHOST into TF v ROUTER Zhihong

  • Slides: 17
Download presentation
CONSOLIDATING DPDK VHOST into TF v. ROUTER Zhihong Wang – Intel

CONSOLIDATING DPDK VHOST into TF v. ROUTER Zhihong Wang – Intel

Legal Disclaimers No license (express or implied, by estoppel or otherwise) to any intellectual

Legal Disclaimers No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps. Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at intel. com. © 2018 Intel Corporation. Intel, the Intel logo, Intel. Experience What’s Inside, and the Intel. Experience What’s Inside logo are trademarks of Intel. Corporation in the U. S. and/or other countries. *Other names and brands may be claimed as the property of others. Network Platforms Group 2

Virt. IO is the de-facto para-virtual I/O standard for VMs and host applications communication.

Virt. IO is the de-facto para-virtual I/O standard for VMs and host applications communication. • Communication peer is Virt. IO front-end and backend (aka vhost) VMs and host applications communicate via sharing VM’s memory. • Dequeue: packets sent from VM to host • Enqueue: packets sent from host to VM Network Platforms Group 3

Virt. IO in DPDK v. DPA 2017 2018 packed ring vhost delay copy Network

Virt. IO in DPDK v. DPA 2017 2018 packed ring vhost delay copy Network Platforms Group 4

Vhost in TF v. Router provides an userspace vhost implementation. Features TF vhost Checksum

Vhost in TF v. Router provides an userspace vhost implementation. Features TF vhost Checksum offloading Y TCP Segment Offloading Y Mergeable RX buffer Y Multiqueue Y Network Platforms Group 5

Vhost in DPDK provides a highly optimized vhost implementation, called vhost-user. Features TF vhost

Vhost in DPDK provides a highly optimized vhost implementation, called vhost-user. Features TF vhost DPDK vhost Checksum offloading Y Y TCP Segment Offloading Y Y Mergeable RX buffer Y Y Multiqueue Y Y Live migration N Y UDP Fragmentation Offloading N Y Network Platforms Group 6

What’s More in DPDK Vhost? Enabling HW-accelerated vhost Virt. IO 1. 1 Dequeue zero

What’s More in DPDK Vhost? Enabling HW-accelerated vhost Virt. IO 1. 1 Dequeue zero copy scheme (aka delay copy) Network Platforms Group 7

v. DPA – Enabling HW-Accelerated Vhost Device pass-through is the commonest mechanism for VMs

v. DPA – Enabling HW-Accelerated Vhost Device pass-through is the commonest mechanism for VMs to use HW-based vhost. • Complicate HW design for supporting Virt. IO 0. 95 and 1. 0. • Require modifying VM drivers to support live migration. v. DPA (vhost Data Plane Acceleration), the DPDK vhost extension, use SW to manage control path and enables HW to accelerate data path. • SW control plane keeps flexibility. • Live migration friendly and simply HW design. Network Platforms Group 8

Virt. IO 1. 1 introduces more efficient ring structure and operations (i. e. packed

Virt. IO 1. 1 introduces more efficient ring structure and operations (i. e. packed ring and in order completion). • Reduce cache misses for SW backend and the number of PCI transactions per descriptor for HW backend. • Simplify driver operations. DPDK is leading the evolution of Virt. IO spec, and vhost-user is the only implementation of Virt. IO 1. 1. • DPDK code has upstream. • Linux kernel and QEMU code are ongoing. Network Platforms Group 9

Dequeue Zero-Copy Scheme Virt. IO Front-end packets copy packets Vhost-User Dequeue zero copy Copy

Dequeue Zero-Copy Scheme Virt. IO Front-end packets copy packets Vhost-User Dequeue zero copy Copy packets from VM’s memory to host memory Network Platforms Group 10

Dequeue Zero-Copy Scheme Virt. IO Front-end packets copy packets No copy packets Vhost-User Dequeue

Dequeue Zero-Copy Scheme Virt. IO Front-end packets copy packets No copy packets Vhost-User Dequeue zero copy • Vhost-user occupies descriptors and directly gives the packet buffers to the host application; • Return the descriptors and buffers until the application finishing processing. Totally eliminates memory copy operations in dequeue. Network Platforms Group 11

Performance Comparison Compare DPDK vhost and TF original vhost performance. Configuration Packet Size 64

Performance Comparison Compare DPDK vhost and TF original vhost performance. Configuration Packet Size 64 bytes CPU Core Number 1 per application CPU Frequency 2. 2 GHZ Network Platforms Group 12

Throughput Comparison (MPPS) CPU Cycles Comparison 20% 49% . . eq u. ue e+

Throughput Comparison (MPPS) CPU Cycles Comparison 20% 49% . . eq u. ue e+ D eq 37% Vhost-User En TF Original Backend qu eu D En qu eu ue e 54% TF Original Backend Network Platforms Group Vhost-User 13

Our Proposal Consolidate DPDK vhost into TF v. Router Major Contributors • High Virt.

Our Proposal Consolidate DPDK vhost into TF v. Router Major Contributors • High Virt. IO performance • Hardware-accelerated vhost • Virt. IO spec evolution • DPDK is a big family Network Platforms Group 14

Total Contributors • Landing zone of new techniques 5 2 • Fast community feedbacks

Total Contributors • Landing zone of new techniques 5 2 • Fast community feedbacks for users and developers . 0 • Four releases per year 18 1 18 8 . 1 17 5 . 0 17 2 17 . 0 1 Total Contributors 17 7 . 1 . 0 16 2 4 16 . 0 16 2. 1 2. 0 2. 1. 8 180 160 140 120 100 80 60 40 20 0 7 1800 1600 1400 1200 1000 800 600 400 200 0 1. Total Commits DPDK Release Statistics Total Commits Network Platforms Group 15

Summary DPDK vhost supports rich functions and high performance. DPDK vhost is leading the

Summary DPDK vhost supports rich functions and high performance. DPDK vhost is leading the technique evolution. DPDK community is big. Let’s bring DPDK vhost-user into TF v. Router! Network Platforms Group 16