/
Accelerating Applications with NVM Express™ Computational Storage Accelerating Applications with NVM Express™ Computational Storage

Accelerating Applications with NVM Express™ Computational Storage - PowerPoint Presentation

ellena-manuel
ellena-manuel . @ellena-manuel
Follow
347 views
Uploaded On 2019-11-03

Accelerating Applications with NVM Express™ Computational Storage - PPT Presentation

Accelerating Applications with NVM Express Computational Storage 2019 NVMe Annual Members Meeting and Developer Day March 19 2019 Prepared by Stephen Bates CTO Eideticom amp Richard Mataya CoFounder amp EVP NGD Systems ID: 762858

nvme storage computation computational storage nvme computational computation nvme

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Accelerating Applications with NVM Expre..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Accelerating Applications with NVM Express™ Computational Storage2019 NVMe™ Annual Members Meeting and Developer DayMarch 19, 2019 Prepared by Stephen Bates, CTO, Eideticom & Richard Mataya, Co-Founder & EVP, NGD Systems

AgendaWhat??Why??Who??How??

WHAT??

Michael Corwell, GM Storage, Microsoft Azure, Dec 5th 2018NVMe™ is a transport

One Driver to Rule Them All?!NVMe™ has been incredibly successful as a storage protocol.Also being used for networking (NVMe-oF™ and things like AWS Nitro and Mellanox’s Sexy NVMe Accelerator Platform (SNAP)).Why not extend NVMe to compute and make it the one driver to rule them all?

What is Computational Storage? SNIA has Defined the FollowingComputational Storage Drive (CSD): A component that provides persistent data storage and computational servicesComputational Storage Processor (CSP): A component that provides computational services to a storage system without providing persistent storageComputational Storage Array (CSA): A collection of computational storage drives, computational storage processors and/or storage devices, combined with a body of control software

WHY??

Why NVMe™?Accelerators require:Low latencyHigh throughputLow CPU overheadMulticore awarenessManagement at scaleQoS awarenes sNVMe provides: Low latencyHigh throughputLow CPU overheadMulticore awarenessManagement at scale QoS awareness Real question is “Why not NVMe?”

Let’s Go Fishing for Data

NVMe™ Computational StorageNVMe based Computational Storage Processor (CSP) advertises zlib compression.Operating System detects the presence of the NVMe CSPUsed by the device-mapper to offload zlib compression to NoLoad. This can be combined with p2pdma to further offload IO. With standardization this can be vendor-neutral and upstreamed.CPU PCIe Subsystem DRAM . . . CMBNVMe CSP NVMe SSDs

NVMe-oF™ Computational StorageEthernet TOR SwitchCompute NodeCompute Node Compute Node Computational Storage Array NVMe CSPs, CSDs and SSDs An NVMe™ CSP is represented as an NVMe Computation Namespace. Therefore it can be exposed over Fabrics. Compute nodes can borrow CSPs, CSDs and standard NVMe SSDs via fabrics from Computational Storage Arrays (CSAs). NVMe Computational Storage can use the same fabrics commands that are used by legacy NVMe-oF. Application code is identical regardless Computation is local (PCIe) or remote (Fabrics)

Example of a Hadoop Cluster - In-Situ ProcessingAbility to Migrate Data Nodes into drivesAllow for user to reduce CPU Core countCurrent example:

Network Monitoring Offload

WHO?

SNIA Computational Storage TWG

HOW?

NVMe™ for Computation: Software18NVMe CSPs, CSDs and CSAs Hardware OSlibcsnvme SPDK ApplicationsManagementnvme-clinvme-ofUserspace

NVMe™ for Computation: StandardsNVMe Computation Namespaces: A new namespace type with its own namespace ID, command set and admin commands. Operating Systems can treat these namespaces different to storage namespaces.Fixed Purpose Computation: Some computation can be defined a way that an Operating System can consume it directly (e.g. zlib compression tied into the crypto API in Linux).General Purpose Computation: Some Computation Namespaces will be flexible and can be programmed and used in user-space (/dev/nvmeXcsY anyone?)NVMe Computation over Fabrics: User-space does not know or care if /dev/nvmeXcsY is local (PCIe) or remote (Fabrics)

There are many paths to Computational Storage

Processor Path in an NGD Systems NVMe™ SSDIt’s an NVMe SSD at the coreNo impact on host read/writeNo impact on NVMe driverStandard protocols But then there is MORE (Patented IP)Dedicated compute resourcesHW acceleration for data analyticsSeamless programming modelScalable

Call to Arms!If this all sounds interesting, please join the SNIA Computational Storage TWG. End-users and software people are needed! If you have thoughts on how you would consume NVMe™ Computation, please let us knowAs SNIA starts interfacing with NVMe please participate in the TPAR/TP discussions!+computation=awesome

Questions?