NVMe Over Fabrics: Scaling Up With The Storage Performance Development Kit

Similar documents
Daniel Verkamp, Software Engineer

THE STORAGE PERFORMANCE DEVELOPMENT KIT AND NVME-OF

Jim Harris. Principal Software Engineer. Data Center Group

SPDK China Summit Ziye Yang. Senior Software Engineer. Network Platforms Group, Intel Corporation

Ben Walker Data Center Group Intel Corporation

Accelerating NVMe-oF* for VMs with the Storage Performance Development Kit

Andreas Schneider. Markus Leberecht. Senior Cloud Solution Architect, Intel Deutschland. Distribution Sales Manager, Intel Deutschland

Changpeng Liu. Cloud Storage Software Engineer. Intel Data Center Group

Changpeng Liu. Senior Storage Software Engineer. Intel Data Center Group

Jim Harris. Principal Software Engineer. Intel Data Center Group

Accelerating NVMe I/Os in Virtual Machine via SPDK vhost* Solution Ziye Yang, Changpeng Liu Senior software Engineer Intel

Ziye Yang. NPG, DCG, Intel

Are You Insured Against Your Noisy Neighbor Sunku Ranganath, Intel Corporation Sridhar Rao, Spirent Communications

Intel Architecture 2S Server Tioga Pass Performance and Power Optimization

Changpeng Liu, Cloud Software Engineer. Piotr Pelpliński, Cloud Software Engineer

Storage Performance Development Kit (SPDK) Daniel Verkamp, Software Engineer

Ceph BlueStore Performance on Latest Intel Server Platforms. Orlando Moreno Performance Engineer, Intel Corporation May 10, 2018

Munara Tolubaeva Technical Consulting Engineer. 3D XPoint is a trademark of Intel Corporation in the U.S. and/or other countries.

Ed Warnicke, Cisco. Tomasz Zawadzki, Intel

Future of datacenter STORAGE. Carol Wilder, Niels Reimers,

Out-of-band (OOB) Management of Storage Software through Baseboard Management Controller Piotr Wysocki, Kapil Karkra Intel

Jim Pappas Director of Technology Initiatives, Intel Vice-Chair, Storage Networking Industry Association (SNIA) December 07, 2018

FAST FORWARD TO YOUR <NEXT> CREATION

Fast-track Hybrid IT Transformation with Intel Data Center Blocks for Cloud

Intel s Architecture for NFV

Essential Performance and Advanced Security

Hardware and Software Co-Optimization for Best Cloud Experience

12th ANNUAL WORKSHOP 2016 NVME OVER FABRICS. Presented by Phil Cayton Intel Corporation. April 6th, 2016

April 2 nd, Bob Burroughs Director, HPC Solution Sales

Bei Wang, Dmitry Prohorov and Carlos Rosales

Accelerate block service built on Ceph via SPDK Ziye Yang Intel

Data and Intelligence in Storage Carol Wilder Intel Corporation

Jim Harris Principal Software Engineer Intel Data Center Group

OPENSHMEM AND OFI: BETTER TOGETHER

Scott Oaks, Oracle Sunil Raghavan, Intel Daniel Verkamp, Intel 03-Oct :45 p.m. - 4:30 p.m. Moscone West - Room 3020

IXPUG 16. Dmitry Durnov, Intel MPI team

Small File I/O Performance in Lustre. Mikhail Pershin, Joe Gmitter Intel HPDD April 2018

Intel Xeon Processor E v3 Family

Intel Speed Select Technology Base Frequency - Enhancing Performance

DPDK Performance Report Release Test Date: Nov 16 th 2016

LNet Roadmap & Development. Amir Shehata Lustre * Network Engineer Intel High Performance Data Division

Achieving 2.5X 1 Higher Performance for the Taboola TensorFlow* Serving Application through Targeted Software Optimization

ISA-L Performance Report Release Test Date: Sept 29 th 2017

INTEL HPC DEVELOPER CONFERENCE FUEL YOUR INSIGHT

DPDK Intel NIC Performance Report Release 18.05

Ultimate Workstation Performance

Hubert Nueckel Principal Engineer, Intel. Doug Nelson Technical Lead, Intel. September 2017

Intel Core TM Processor i C Embedded Application Power Guideline Addendum

Mohan J. Kumar Intel Fellow Intel Corporation

Accelerate Finger Printing in Data Deduplication Xiaodong Liu & Qihua Dai Intel Corporation

Jomar Silva Technical Evangelist

Desktop 4th Generation Intel Core, Intel Pentium, and Intel Celeron Processor Families and Intel Xeon Processor E3-1268L v3

Re-Architecting Cloud Storage with Intel 3D XPoint Technology and Intel 3D NAND SSDs

DPDK Vhost/Virtio Performance Report Release 18.11

6th Generation Intel Core Processor Series

H.J. Lu, Sunil K Pandey. Intel. November, 2018

Accelerating Data Center Workloads with FPGAs

Intel SSD Data center evolution

Intel Xeon Phi Coprocessor. Technical Resources. Intel Xeon Phi Coprocessor Workshop Pawsey Centre & CSIRO, Aug Intel Xeon Phi Coprocessor

DPDK Vhost/Virtio Performance Report Release 18.05

Jim Cownie, Johnny Peyton with help from Nitya Hariharan and Doug Jacobsen

Overview of Data Fitting Component in Intel Math Kernel Library (Intel MKL) Intel Corporation

DPDK Intel NIC Performance Report Release 17.08

Intel Core TM i7-4702ec Processor for Communications Infrastructure

DPDK Intel NIC Performance Report Release 18.02

Ravindra Babu Ganapathi

Case Study. Optimizing an Illegal Image Filter System. Software. Intel Integrated Performance Primitives. High-Performance Computing

Achieve Low Latency NFV with Openstack*

Intel optane memory as platform accelerator. Vladimir Knyazkin

Intel Inside. amazing windows 10 Outside

INTEL PENTIUM Gold AND CELERON PROCESSORS

The Path to DPDK Speeds for AF XDP

SELINUX SUPPORT IN HFI1 AND PSM2

Srinivas Chennupaty. Intel Corporation, 2018

Graphics Performance Analyzer for Android

IFS RAPS14 benchmark on 2 nd generation Intel Xeon Phi processor

Intel Open Network Platform Release 2.0 Hardware and Software Specifications Application Note. SDN/NFV Solutions with Intel Open Network Platform

Crosstalk between VMs. Alexander Komarov, Application Engineer Software and Services Group Developer Relations Division EMEA

Maximize Performance and Scalability of RADIOSS* Structural Analysis Software on Intel Xeon Processor E7 v2 Family-Based Platforms

Sample for OpenCL* and DirectX* Video Acceleration Surface Sharing

Agenda. Optimization Notice Copyright 2017, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.

Engineers can be significantly more productive when ANSYS Mechanical runs on CPUs with a high core count. Executive Summary

Debugging and Analyzing Programs using the Intercept Layer for OpenCL Applications

DEVITO AUTOMATED HIGH-PERFORMANCE FINITE DIFFERENCES FOR GEOPHYSICAL EXPLORATION

Välkommen. Intel Anders Huge

Virtuozzo Hyperconverged Platform Uses Intel Optane SSDs to Accelerate Performance for Containers and VMs

POWER YOUR CREATIVITY WITH THE INTEL CORE X-SERIES PROCESSOR FAMILY

CREATING A COMMON SOFTWARE VERBS IMPLEMENTATION

Building an Open Memory-Centric Computing Architecture using Intel Optane Frank Ober Efstathios Efstathiou Oracle Open World 2017 October 3, 2017

Meltdown and Spectre Interconnect Performance Evaluation Jan Mellanox Technologies

DPDK Intel Cryptodev Performance Report Release 18.08

ENVISION TECHNOLOGY CONFERENCE. Functional intel (ia) BLA PARTHAS, INTEL PLATFORM ARCHITECT

HPCG on Intel Xeon Phi 2 nd Generation, Knights Landing. Alexander Kleymenov and Jongsoo Park Intel Corporation SC16, HPCG BoF

Intel Math Kernel Library (Intel MKL) BLAS. Victor Kostin Intel MKL Dense Solvers team manager

Intel Parallel Studio XE 2015

DPDK Intel Cryptodev Performance Report Release 17.11

Total Cost of Ownership Analysis for a Wireless Access Gateway

Vectorization Advisor: getting started

LS-DYNA Performance on Intel Scalable Solutions

Extremely Fast Distributed Storage for Cloud Service Providers

Transcription:

NVMe Over Fabrics: Scaling Up With The Storage Performance Development Kit Ben Walker Data Center Group Intel Corporation 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 1

Notices and disclaimers Intel technologies features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer. Some results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance.. Intel processors of the same SKU may vary in frequency or power as a result of natural variability in the production process. Intel does not control or audit third-party benchmark data or the web sites referenced in this document. You should visit the referenced web site and confirm whether referenced data are accurate. Optimization Notice: Intel's compilers may or may not optimize to the same degree for non-intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice Revision #20110804. The benchmark results may need to be revised as additional testing is conducted. The results depend on the specific platform configurations and workloads utilized in the testing, and may not be applicable to any particular user's components, computer system or workloads. The results are not necessarily representative of other benchmarks and other benchmark results may show greater or lesser impact from mitigations. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit www.intel.com/benchmarks. Results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance. 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 www.intel.com. The cost reduction scenarios described are intended to enable you to get a better understanding of how the purchase of a given Intel based product, combined with a number of situation-specific variables, might affect future costs and savings. Circumstances will vary and there may be unaccounted-for costs related to the use and deployment of a given product. Nothing in this document should be interpreted as either a promise of or contract for a given level of costs or cost reduction. No computer system can be absolutely secure. 2018 Intel Corporation. Intel, the Intel logo, Xeon and Xeon logos 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. 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 2

Agenda Background Design Overview Benchmarking Connections Memory CPU cores 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 3

Background Storage Performance Development Kit BSD Licensed collection of C libraries User-space drivers, storage targets http://www.spdk.io 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 4

Requirements User-space NVMe-oF Target Leverage SPDK user-space drivers Zero copy Polled-mode Linear scaling (w/ CPU, network, storage) 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 5

Linear Scaling Avoid locks and atomics Ok to make management operations more time consuming to avoid interrupting I/O path Avoid cache contention Keep each core focused on an independent job, as much as possible NUMA awareness 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 6

NVMe-oF Primitives spdk_nvmf_tgt spdk_nvmf_subsystem spdk_nvmf_transport TCP FC RDMA Global Scope Target 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 8

Controller Namespace Namespace Namespace NVMe-oF s s are global s have states Inactive Paused Active spdk_nvmf_subsystem may only be modified while not in the active state. Contains controllers and namespaces 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 9

NVMe-oF Primitives spdk_nvmf_poll_group spdk_nvmf_subsystem_poll_group spdk_nvmf_transport_poll_group Poll Group Poll Transport Group Poll Group Poll Group Per-thread Scope Poll Group Poll Group Poll Group 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 10

Poll Group Transport Poll Group Poll Group NVMe-oF Queue Pairs NVMe-oF Transport Poll Groups Per-thread collection of transport data Uses a transport-specific mechanism to efficiently poll the group RDMA: Shared completion queue FC: Shared hardware queue pair TCP: epoll/kqueue The queue pairs are not necessarily related to one another 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 11

Poll Group Poll Group I/O Channel NVMe-oF Poll Groups Per-thread collection of subsystem data Contains thread-unique I/O channels for each namespace in the subsystem. Think of an I/O channel as an NVMe queue pair for the local device. 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 12

Accepting a New Connection spdk_nvmf_tgt_accept() new_qpair_fn(qpair) spdk_nvmf_poll_group_add(qpair) When does a queue pair identify which subsystem it belongs to? 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 13

Performing an I/O No Locks! Touches only threadlocal data (cache friendly)! Lookups are all array math! Poll Parse Look Up Submit Poll group checks for incoming Request is requests associated with a subsystem and targets a Look up I/O namespace channel for subsystem + namespace in subsystem poll group Use I/O channel to submit I/O to bdev layer 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 14

Scaling: Active Connections 4K Reads Per Second Millions 1.4 1.2 1 0.8 0.6 0.4 0.2 0 Single Core 1 2 4 8 16 Number of Active Connections (Queue Depth 32) System Configuration: 2x Intel Xeon Platinum 8180 CPU @ 2.50 GHz, Intel Speed Step enabled, Intel Turbo Boost Technology enabled, 4x 2GB DDR4 2666 MT/s, 1 DIMM per channel, Ubuntu* Linux 17.10, Linux kernel 4.13.0, SPDK 18.04, DPDK 18.01, Mellanox ConnectX-4 MT27700 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 16

Scaling: Idle Connections 4K Reads Per Second Millions 1.4 1.2 1 0.8 0.6 0.4 0.2 0 Single Core 0 1 16 128 512 Number of Idle Connections System Configuration: 2x Intel Xeon Platinum 8180 CPU @ 2.50 GHz, Intel Speed Step enabled, Intel Turbo Boost Technology enabled, 4x 2GB DDR4 2666 MT/s, 1 DIMM per channel, Ubuntu* Linux 17.10, Linux kernel 4.13.0, SPDK 18.04, DPDK 18.01, Mellanox ConnectX-4 MT27700 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 17

Memory Usage vs Number of Connections Additional Memory Consumed (MB) 90 80 70 60 50 40 30 20 10 0 0 100 200 300 400 500 600 Number Of Connections System Configuration: 2x Intel Xeon Platinum 8180 CPU @ 2.50 GHz, Intel Speed Step enabled, Intel Turbo Boost Technology enabled, 4x 2GB DDR4 2666 MT/s, 1 DIMM per channel, Ubuntu* Linux 17.10, Linux kernel 4.13.0, SPDK 18.04, DPDK 18.01, Mellanox ConnectX-4 MT27700 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 18

Performance vs Number of CPU cores 4K Read I/O Per Second Millions 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 1 2 3 4 Number of CPU Cores (Target) System Configuration: 2x Intel Xeon Platinum 8180 CPU @ 2.50 GHz, Intel Speed Step enabled, Intel Turbo Boost Technology enabled, 4x 2GB DDR4 2666 MT/s, 1 DIMM per channel, Ubuntu* Linux 17.10, Linux kernel 4.13.0, SPDK 18.04, DPDK 18.01, Mellanox ConnectX-4 MT27700 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 19