SNIA NVM Programming Model Workgroup Update. #OFADevWorkshop

Similar documents
RDMA Requirements for High Availability in the NVM Programming Model

The SNIA NVM Programming Model. #OFADevWorkshop

Remote Persistent Memory SNIA Nonvolatile Memory Programming TWG

Paving the Way to the Non-Volatile Memory Frontier. PRESENTATION TITLE GOES HERE Doug Voigt HP

Persistent Memory, NVM Programming Model, and NVDIMMs. Presented at Storage Field Day June 15, 2017

PMEM Software and Applications

PERSISTENT MEMORY PROGRAMMING

REMOTE PERSISTENT MEMORY ACCESS WORKLOAD SCENARIOS AND RDMA SEMANTICS

Load-Sto-Meter: Generating Workloads for Persistent Memory Damini Chopra, Doug Voigt Hewlett Packard (Enterprise)

Persistent Memory over Fabric (PMoF) Adding RDMA to Persistent Memory Pawel Szymanski Intel Corporation

Architectural Principles for Networked Solid State Storage Access

THE IN-PLACE WORKING STORAGE TIER OPPORTUNITIES FOR SOFTWARE INNOVATORS KEN GIBSON, INTEL, DIRECTOR MEMORY SW ARCHITECTURE

Remote Persistent Memory With Nothing But Net Tom Talpey Microsoft

Persistent Memory Over Fabrics. Paul Grun, Cray Inc Stephen Bates, Eideticom Rob Davis, Mellanox Technologies

Application Access to Persistent Memory The State of the Nation(s)!

Extending RDMA for Persistent Memory over Fabrics. Live Webcast October 25, 2018

The Impact of the NVM Programming Model Andy Rudoff Intel Corporation

Accessing NVM Locally and over RDMA Challenges and Opportunities

NVM Programming Model (NPM)

How Next Generation NV Technology Affects Storage Stacks and Architectures

NVMe SSDs with Persistent Memory Regions

Persistent Memory over Fabrics

SNIA s SSSI Solid State Storage Initiative. Jim Pappas Vice-Char, SNIA

Impact on Application Development: SNIA NVM Programming Model in the Real World. Andy Rudoff pmem SW Architect, Intel

SMB3 Extensions for Low Latency. Tom Talpey Microsoft May 12, 2016

The SNIA NVM Programming Model: Latest Developments and Challenges. Andy Rudoff, Intel Corporation

NVM Programming Model (NPM)

Windows Persistent Memory Support

PM Support in Linux and Windows. Dr. Stephen Bates, CTO, Eideticom Neal Christiansen, Principal Development Lead, Microsoft

Reliability, Availability, Serviceability (RAS) and Management for Non-Volatile Memory Storage

Design Considerations When Implementing NVM

Windows Support for PM. Tom Talpey, Microsoft

Windows Support for PM. Tom Talpey, Microsoft

Persistent Memory and Media Errors

Microsoft SMB Looking Forward. Tom Talpey Microsoft

APIs for Persistent Memory Programming

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Using NVDIMM under KVM. Applications of persistent memory in virtualization

Creating Storage Class Persistent Memory With NVDIMM

SRP Update. Bart Van Assche,

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

NVDIMM Block Window Driver Writer s Guide

I want to build on Rick Coulson s talk earlier this morning that addressed emerging Persistent Memory technologies. I want to expand on implications

Persistent Memory: The Value to HPC and the Challenges

VMware vsphere Virtualization of PMEM (PM) Richard A. Brunner, VMware

Flash Memory Summit Persistent Memory - NVDIMMs

Remote Access to Ultra-Low-Latency Storage Tom Talpey Microsoft

The Long-Term Future of Solid State Storage Jim Handy Objective Analysis

Capabilities and System Benefits Enabled by NVDIMM-N

Evolution of Rack Scale Architecture Storage

Update on Windows Persistent Memory Support Neal Christiansen Microsoft

New types of Memory, their support in Linux and how to use them with RDMA

NVDIMM-N Cookbook: A Soup-to-Nuts Primer on Using NVDIMM-Ns to Improve Your Storage Performance

Architected for Performance. NVMe over Fabrics. September 20 th, Brandon Hoff, Broadcom.

IN-PERSISTENT-MEMORY COMPUTING WITH JAVA ERIC KACZMAREK INTEL CORPORATION

Planning For Persistent Memory In The Data Center. Sarah Jelinek/Intel Corporation

What You can Do with NVDIMMs. Rob Peglar President, Advanced Computation and Storage LLC

Highly Scalable, Non-RDMA NVMe Fabric. Bob Hansen,, VP System Architecture

memory VT-PM8 & VT-PM16 EVALUATION WHITEPAPER Persistent Memory Dual Port Persistent Memory with Unlimited DWPD Endurance

WD Black NVMe SSD Internal SSD Storage. M.2 Desktop Installation Guide

2017 Storage Developer Conference. Mellanox Technologies. All Rights Reserved.

Using persistent memory and RDMA for Ceph client write-back caching Scott Peterson, Senior Software Engineer Intel

Farewell to Servers: Hardware, Software, and Network Approaches towards Datacenter Resource Disaggregation

Accelerating Microsoft SQL Server Performance With NVDIMM-N on Dell EMC PowerEdge R740

High Performance File Serving with SMB3 and RDMA via SMB Direct

NVMFS: A New File System Designed Specifically to Take Advantage of Nonvolatile Memory

Managing Persistent Memory Tiffany Kasanicky Intel

Efficient Memory Mapped File I/O for In-Memory File Systems. Jungsik Choi, Jiwon Kim, Hwansoo Han

Hewlett Packard Enterprise HPE GEN10 PERSISTENT MEMORY PERFORMANCE THROUGH PERSISTENCE

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

PASTE: A Network Programming Interface for Non-Volatile Main Memory

2014 VMware Inc. All rights reserved.

Future of datacenter STORAGE. Carol Wilder, Niels Reimers,

Flavors of Memory supported by Linux, their use and benefit. Christoph Lameter, Ph.D,

Strata: A Cross Media File System. Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel, Thomas Anderson

The Datacentered Future Greg Huff CTO, LSI Corporation

Advanced Memory Management

Memory and Storage-Side Processing

Enhancing NVMe-oF Capabilities Using Storage Abstraction

The Non-Volatile Memory Verbs Provider (NVP): Using the OFED Framework to access solid state storage

Non-Volatile Memory Through Customized Key-Value Stores

Annual Update on Flash Memory for Non-Technologists

Software Defined Storage at the Speed of Flash. PRESENTATION TITLE GOES HERE Carlos Carrero Rajagopal Vaideeswaran Symantec

Software-Defined Data Infrastructure Essentials

Toward a Memory-centric Architecture

Voltaire. Fast I/O for XEN using RDMA Technologies. The Grid Interconnect Company. April 2005 Yaron Haviv, Voltaire, CTO

REMOTE PERSISTENT MEMORY THINK TANK

Enabling NVMe I/O Scale

NVM Express (NVMe) & Solid State Storage: What s Next? David L. Black, Ph.D. Distinguished Engineer, Office of the CTO

NVMe From The Server Perspective

January 28-29, 2014 San Jose

NVM Express Awakening a New Storage and Networking Titan Shaun Walsh G2M Research

Multi-Tier Subsystem Management Using SLOs. Kaladhar Voruganti Technical Director, CTO Office NetApp, Sunnyvale January 29th, 2013

An Approach for Implementing NVMeOF based Solutions

How Might Recently Formed System Interconnect Consortia Affect PM? Doug Voigt, SNIA TC

Learn Your Alphabet - SRIOV, NPIV, RoCE, iwarp to Pump Up Virtual Infrastructure Performance

The following modifications have been made to this version of the DSM specification:

NVM Express over Fabrics Storage Solutions for Real-time Analytics

RAIN: Reinvention of RAID for the World of NVMe. Sergey Platonov RAIDIX

NVM PCIe Networked Flash Storage

Transcription:

SNIA NVM Programming Model Workgroup Update #OFADevWorkshop

Persistent Memory (PM) Vision Fast Like Memory PM Brings Storage PM Durable Like Storage To Memory Slots 2

Latency Thresholds Cause Disruption Latency (Log) 2 us 200 ns Min, Max Latencies For Example Technologies Context Switch NUMA HDD SATA SSD NVMe Flash Persistent Memory March 15 18, 2015 #OFADevWorkshop 3

Eliminate File System Latency with Memory Mapped Files Traditional New User Application Application User Kernel File System Disk Driver Memory Mapped Files HW Disk Load/Store Persistent Memory HW March 15 18, 2015 #OFADevWorkshop 4

Version 1 of SNIA NVM Programming Model Approved by SNIA in December 2013 Downloadable by anyone Version 1.1 approved March 2015 Expose new block and file features to applications Atomicity capability and granularity Thin provisioning management Use of memory mapped files for persistent memory Existing abstraction that can act as a bridge Limits the scope of application re-invention Open source implementations available for incremental innovation (e.g. Linux DAX extensions) Programming Model, not API Described in terms of attributes, actions and use cases Implementations map actions and attributes to API s March 15 18, 2015 #OFADevWorkshop 5

The 4 Modes Block Mode Innovation Atomics Access hints NVM-oriented operations Emerging NVM Technologies Performance Performance Perf okay, cost Traditional Persistent Memory User View NVM.FILE NVM.PM.FILE Kernel Protected NVM.BLOCK NVM.PM.VOLUME Media Type Disk Drive Persistent Memory NVDIMM Disk-Like Memory-Like March 15 18, 2015 #OFADevWorkshop 6

NVM.PM.VOLUME and NVM.PM.FILE Use with memory-like NVM NVM.PM.VOLUME Mode Software abstraction to OS components for Persistent Memory (PM) hardware List of physical address ranges for each PM volume Thin provisioning management NVM.PM.FILE Mode Describes the behavior for applications accessing persistent memory Discovery and use of atomic write features Mapping PM files (or subsets of files) to virtual memory addresses Syncing portions of PM files to the persistence domain User space Kernel space PM-aware kernel module NVM.PM.VOLUME mode PM device NVM.PM.FILE mode NVM PM capable driver Application Native file API PM-aware file system Load/ store PM device PM device... PM device MMU Mappings March 15 18, 2015 #OFADevWorkshop 7

Most Significant Change in NVMP Version 1.1 Data Consistency Requirement: Atomicity of aligned operations on fundamental data types Aligned Operations: multiple of processor word width Instruction Set Architectures already define them Fundamental Data Types Native to languages or libraries Generated by high-level language constructs Used by apps in addition to sync for local pfail consistency How to extend to remote memory? March 15 18, 2015 #OFADevWorkshop 8

Work in progress Failure Atomicity Current processor + memory systems Provide inter-process consistency Not atomicity with respect to failure System reset/restart/crash Power Failure Memory Failure Leverage existing research on persistent memory transactions to get failure atomicity Describe behaviors required to achieve atomicity of groups of persistent data structures March 15 18, 2015 #OFADevWorkshop 9

Related work Persistent Data Structure Libraries Optimal use of PM requires a different style of data structure construction Commits are stores to fundamental data types No marshalling for storage or network IO Data structures implemented in libraries Examples: Linux Pmem Incudes base class, log, array of blocks, transaction http://pmem.io/nvml/libpmem/ https://github.com/pmem/linux-examples March 15 18, 2015 #OFADevWorkshop 10

Work in progress Remote access for High Availability Use case: High Availability Memory Mapped Files Built on V1.1 NVM.PM.FILE OptimizedFlush action RDMA copy from local to remote PM Requirements: Assurance of remote durability Efficient byte range transfers Efficient large transfers Atomicity of fundamental data types Resource recovery and hardware fencing after failure March 15 18, 2015 #OFADevWorkshop 11

Thank You #OFADevWorkshop

RDMA and NVM Programming Model #OFADevWorkshop

NVM.PM.File.Map, Sync, OptimizedFlush Map Associates memory addresses with open file Caller may request specific address Sync Flush CPU cache for indicated range Additional Sync types Optimized Flush multiple ranges from user space Optimized Flush and Verify Optimized flush with read back from media March 15 18, 2015 #OFADevWorkshop 14

Low Latency Remote OptimizedFlush Remote Access for HA examines OptimizedFlush implementation Goal is to minimize latency Requires at least 2 round trips with today s implementations Main issue is assurance of durability at remote site. Use today s RDMA to explore this use case Agnostic to specific implementation (IB, ROCE, iwarp) Optimal implementation may not actually be RDMA March 15 18, 2015 #OFADevWorkshop 15

Recovery AND Consistency Application level goal is recovery from failure Requires robust local and remote error handling High Availability (as opposed to High Durability) requires application involvement. Consistency is an application specific constraint Uncertainty of data state after failure Crash consistency Higher order consistency points Atomicity of Aligned Fundamental Data Types March 15 18, 2015 #OFADevWorkshop 16

Application Recovery Scenarios Scenario In Line Recovery Backtracking Recovery Local application restart Application Failover Redundancy freshness Better than sync Consistency point Consistency point Consistency point Exception Application backtrack without restart Server Restart Server Failure Precise and contained NA No No Imprecise and Yes No No contained Not contained No NA No NA NA Yes No NA NA NA Yes March 15 18, 2015 #OFADevWorkshop 17

Remote Access Hardware Network Adapter (RNIC) IO CPU DIMMS DIMM & NVDIMMS Server DIMMS DIMM & NVDIMMS CPU IO Network Adapter (RNIC) Server Network Switch(s) March 15 18, 2015 #OFADevWorkshop 18

Software Context Example Standard file API NVM Programming Model optimized flush RAID software for HA user space libraries local file system remote file system via network file system client and NIC March 15 18, 2015 #OFADevWorkshop 19

HW/SW View for Data Flow Sequence Diagram RNIC RNIC March 15 18, 2015 #OFADevWorkshop 20

Various Virtual Address Spaces Only the Device address spaces must match Sufficiently to allow restoration and failover Orchestrated by peer file/operating systems Mapping controlled by client peer OS Mapping controlled by RNIC Mapping controlled by server peer OS March 15 18, 2015 #OFADevWorkshop 21

RDMA Flow for HA Optimized Flush Sequence Diagram actors: PM aware application 2 hosts mirroring PM RDMA Adapter (Rnic) Map triggers RDMA Registration Optimized Flush triggers dis-contiguous RDMA writes Flush to guarantee durability and HA March 15 18, 2015 #OFADevWorkshop 22

RDMA Flow for HA Optimized Flush Sequence Diagram actors: PM aware application 2 hosts mirroring PM RDMA Adapter (Rnic) Map triggers RDMA Registration Optimized Flush triggers dis-contiguous RDMA writes Flush to guarantee durability and HA March 15 18, 2015 #OFADevWorkshop 23

RDMA Flow for HA Optimized Flush Sequence Diagram actors: PM aware application 2 hosts mirroring PM RDMA Adapter (Rnic) Map triggers RDMA Registration Optimized Flush triggers dis-contiguous RDMA writes Flush to guarantee durability and HA March 15 18, 2015 #OFADevWorkshop 24

RDMA Flow for HA Optimized Flush Sequence Diagram actors: PM aware application 2 hosts mirroring PM RDMA Adapter (Rnic) Map triggers RDMA Registration Optimized Flush triggers dis-contiguous RDMA writes Flush to guarantee durability and HA March 15 18, 2015 #OFADevWorkshop 25

RDMA Flow for HA Optimized Flush Sequence Diagram actors: PM aware application 2 hosts mirroring PM RDMA Adapter (Rnic) Map triggers RDMA Registration Optimized Flush triggers dis-contiguous RDMA writes Flush to guarantee durability and HA March 15 18, 2015 #OFADevWorkshop 26

RDMA Flow for HA MORE Optimized Flush Sequence Diagram actors: PM aware application 2 hosts mirroring PM RDMA Adapter (Rnic) Map triggers RDMA Registration Optimized Flush triggers multi-range RDMA writes Piggybacked with remote flush March 15 18, 2015 #OFADevWorkshop 27

Work in progress Remote access for High Availability Use case: High Availability Memory Mapped Files Built on V1.1 NVM.PM.FILE OptimizedFlush action RDMA copy from local to remote PM Requirements: Assurance of remote durability Efficient byte range transfers Efficient large transfers Atomicity of fundamental data types Resource recovery and hardware fencing after failure NVM PM Remote Access for High Availability March 15 18, 2015 #OFADevWorkshop 28

Thank You #OFADevWorkshop