23
DPDK Summit China 2017

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

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 20: 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

Acknowledgement

[email protected] MaJohn GriffinBrian KeatingJacqueline JardimCunming Liang

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

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

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

Backup

• http://spdk.io• Code available at https://github.com/spdk/spdk• Submit your patch via https://review.gerrithub.io/spdk/spdk