![Page 1: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/1.jpg)
DPDK Summit China 2017
![Page 2: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/2.jpg)
Accelerate VM IO via SPDK Vhost SolutionChangpeng Liu, Intel
![Page 3: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/3.jpg)
Network Platforms Group
LEGAL DISCLAIMER
3
• 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.
• © 2017 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.• Copyright © 2017, Intel Corporation. All rights reserved.
![Page 4: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/4.jpg)
Agenda• Introduction• SPDK Vhost Architecture• Usage Cases• Benchmarks• Plans
![Page 5: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/5.jpg)
Introduction
The Opportunity: Use Intel software ingredients to unlock the potential of new media
HDD SATA NANDSSD
NVMe* NANDSSD
Intel® Optane™SSD
Latency
I/OPerformance <500 IO/s
>25,000 IO/s
>400,000 IO/s
>2ms
<100µs <100µs
<10µs
>500,000 IO/s
![Page 6: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/6.jpg)
SPDK Architecture
Drivers
StorageServices
StorageProtocols
iSCSI Target
NVMe-oF*Target
SCSI
vhost-scsiTarget
NVMe
NVMe Devices
Blobstore
NVMe-oF*
Initiator
Intel® QuickDataTechnology Driver
Block Device Abstraction (BDEV)
Ceph RBD
Linux AsyncIO
Logical Volumes
3rd Party
NVMe
NVMe*
PCIe Driver
vhost-blkTarget Object
BlobFS
Integration
RocksDB
Ceph
CoreApplicationFramework
released
Q2’17
Pathfinding
![Page 7: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/7.jpg)
7 Host Memory
QEMU
Guest VM
virtio-scsi
Shared Guest VMMemory
SPDK vhost
vhost DPDK vhost
virtio-scsi
virtqueuevirtqueuevirtqueue
eventfd
UNIX domain socket
SPDK VHOST Architecture
![Page 8: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/8.jpg)
Host Kernel
QEMUGuest VM
Guest Kernel
VIRTIO_SCSI
VIRTIO_SCSI_PCI
NVME_MOD
Host Kernel
QEMU
VHOST_SCSI_PCI
NVME_MOD
QEMU
VHOST_USER_SCSI_PCI
LIO
VHOSTSPDK VHOST
PMD_NVME
SCSI
VHOST_USER
Guest VM
Guest Kernel
VIRTIO_SCSI
Guest VM
Guest Kernel
VIRTIO_SCSI
IOCTL SOCKET
QEMU VIRTIO SCSI Target VHOST Kernel Target VHOST Userspace Target
![Page 9: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/9.jpg)
VM Ephemeral Storage
SPDK
SCSI
BDEV
vhost-scsiTarget
BlobstoreBlob BD
NVMe Driver
BDEVNVMe
BD
VM
Intel® SSD for Datacenter
• Improves Storage Virtualization
• Works with KVM/QEMU
• 6x efficiency vs. kernel vhost
• 10x efficiency vs. QEMU virtio
• Increased VM density
Released
Q2’17
![Page 10: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/10.jpg)
VM Remote Storage
SPDK
SCSI
vhost-scsiTarget
NVMe-oFInitiator
BDEVNVMeoF
BD
VM • Enable disaggregation and migration of VMs using remote storage
• Improves Storage Virtualization & Flexibility
• Works with KVM/QEMU
NVMe-oFTarget
Released
BDEV
3rd PartyStorageServices
![Page 11: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/11.jpg)
Benchmarks
02468
10121416
QEMU VirtIO Vhost Kernel SPDK Vhost
Core
s
5 VMs IO Processing
System configuration: 44x Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz (HT off); Cores per socket: 22; 8x Samsung 8GB DDR4 @2400 12x Intel SSD DC P3700 Series 1,5T @ FW 8DV101H0 DPDK: 17.02; Host Dist/Kernel: Fedora 25/Kernel 4.8.15-300; Guest Dist/Kernel: Ubuntu 16.04/Kernel 4.4.0-59-generic, mq enabled; Fio ver: fio-2.2.10; Fio workload: blocksize=4k, iodepth=512, iodepth_batch=128, iodepth_low=256, ioengine=libaio, size=10G, ramp_time=10, group_reporting, thread, numjobs=1, direct=1, rw=randread
0
200000
400000
600000
800000
1000000
1200000
QEMU VirtIO Vhost Kernel SPDK Vhost
IO p
er se
cond
IO per second
11
System configuration: 44x Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz (HT off); Cores per socket: 22; 8x Samsung 8GB DDR4 @2400 12x Intel SSD DC P3700 Series 1,5T @ FW 8DV101H0 DPDK: 17.02; Host Dist/Kernel: Fedora 25/Kernel 4.8.15-300; Guest Dist/Kernel: Ubuntu 16.04/Kernel 4.4.0-59-generic, mq enabled; Fio ver: fio-2.2.10; Fio workload: blocksize=4k, iodepth=512, iodepth_batch=128, iodepth_low=256, ioengine=libaio, size=10G, ramp_time=10, group_reporting, thread, numjobs=1, direct=1, rw=randread
![Page 12: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/12.jpg)
Plans
• VFIO Support• Support for vhost-blk protocol• Live migration• Performance tuning, including
-multiqueue-completion event coalescing
![Page 13: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/13.jpg)
Accelerate Crypto Service by DPDK vhost
Xin Zeng, Intel
![Page 14: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/14.jpg)
Agenda
Virtio Crypto Device IntroductionBoost SSL/TLS Service by virtio-cryptoDPDK vhost-user for virtio-cryptoPlansSummary
![Page 15: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/15.jpg)
Virtio Crypto Device
A virtual cryptography device under virtio device frameworkProvides an set of operation
interfaces for different cryptography servicesMainly contributed by Huawei &
Intel in community
Virtio devices
Virtio crypto device
Virtio net device
Oterh virtio devices, etc...
Virtio block
device
Virtio console device
![Page 16: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/16.jpg)
Boost SSL/TLS Service by virtio-crypto Motivation
Unified Driver in the Guest Accelerator as a service for better performance Friendly Cloud Characteristic
PoC Workload Nginx HTTPS Web Server RSA2K session establishment
Ingredients virtio-crypto PMD vhost-user for Crypto Intel® QAT DH895XCC device driver in Linux
Performance ~4.5x throughput (TLS connection per second)
compared to software solution
User Space
Kernel
QEMU
Vhost user proxy for virtio crypto device
Virtio Crypto Device Interfaces
Vhost user backend for virtio-crypto
QAT hardware
virtqueue
Unix socket
QAT Linux driver
Kernel
User Space
Virtio crypto PMD Virtio crypto engine
Nginx
Openssl
TCP/IP stack
VMHost
libcrypto
![Page 17: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/17.jpg)
DPDK vhost-user for virtio-cryptoviritio-crypto in VMCrypto applianceUnder LKCF framework virtio Crypto PMD
New vhost proxy in QEMUvirtio-crypto backend in HostBuild vhost user crypto target
on top of DPDK generic vhost libConnect with DPDK crypto
device
User Space
Kernel
QEMU
Vhost user proxy for Virtio crypto device
Virtio Crypto Device Vhost user Crypto target
QAT hardware
virtqueue
Unix socket
Virtio Crypto device driver
LKCF
VMH
ost
Qat PMD
DPDK Cryptodev lib
Virtio crypto PMD DPDK Cryptodev lib
User crypto applicance
Kerenl
SW PMD
DPDK generic Vhost user lib
![Page 18: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/18.jpg)
Intel® QAT Overview
A hardware-based acceleration technologyAccelerate compute-intensive security and compression operations • For more details of Intel® QAT, visit here
![Page 19: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/19.jpg)
WIP and PlansNew device type (virtio-crypto) proposal in virtio spec. v1.1Upstream vhost user for virtio-crypto in DPDK communityLive migration supportMulti-queue supportPerformance optimization
![Page 21: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/21.jpg)
SummaryDPDK generic vhost user library is
ready (available in DPDK 17.05)vhost user for SCSI and Crypto
devices are ongoing.Benefits from DPDK vhost library
• Why Reinvent Wheel?• General APIs to build vhost user
application• Leverage fast I/O capacity by DPDK
PMD• High Performance
• Welcome contributions!
![Page 22: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/22.jpg)
DPDK China Summit 2017 Shanghai,
Thanks!!
欢迎关注DPDK开源社区
![Page 23: DPDK Summit China 2017 - 源代码...DPDK generic vhost user library is ready (available in DPDK 17.05) vhost user for SCSI and Crypto devices are ongoing. Benefits from DPDK vhost](https://reader033.vdocument.in/reader033/viewer/2022053003/5f0791537e708231d41da0f9/html5/thumbnails/23.jpg)
Backup
• http://spdk.io• Code available at https://github.com/spdk/spdk• Submit your patch via https://review.gerrithub.io/spdk/spdk