SlideShare a Scribd company logo
PRESENTATION TITLE GOES HERE
The NVM Revolution
Mark Carlson
Vice Chair, SNIA Technical Council
Toshiba
June 30, 2015
2© 2015 Storage Networking Industry Association. All Rights Reserved.
Need for A New Model
  With Next Generation NVM, the NVM is no longer the
bottleneck
  Need optimized platform storage interconnect
  Need optimized software storage access methods
3© 2015 Storage Networking Industry Association. All Rights Reserved.
Application Access to
Non-Volatile Memory
 Disk-like non-volatile memory
  Appear as disk drives to applications
  Accessed using disk stack
 Memory-like non-volatile memory
  Appear as memory to applications
  Applications store variables directly in RAM
  No IO or even DMA is required
Memory-like non volatile
memory is a type of
persistent memory
4© 2015 Storage Networking Industry Association. All Rights Reserved.
Eliminate File System Latency
with Memory Mapped Files
Application
File System
Disk Driver
Disk
Application
Persistent
Memory
Load/Store
Memory Mapped Files
Traditional New
UserKernelHW
UserHW
5© 2015 Storage Networking Industry Association. All Rights Reserved.
SNIA NVM Programming Model
  Version 1.1 approved by SNIA in March 2015
  Downloadable by anyone
  Version 1.0 approved by SNIA in December 2013
  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
6© 2015 Storage Networking Industry Association. All Rights Reserved.
The Four Modes
Traditional Persistent Memory
UserView NVM.FILE NVM.PM.FILE
Kernel Protected NVM.BLOCK NVM.PM.VOLUME
Media Type Disk Drive Persistent Memory
NVDIMM Disk-Like Memory-Like
Block Mode Innovation
•  Atomics
•  Access hints
•  NVM-oriented
operations
Emerging NVM
Technologies
•  Performance
•  Performance
•  Performance, cost
7© 2015 Storage Networking Industry Association. All Rights Reserved.
Conventional Block and File Modes
Application
NVM	
  block	
  capable	
  driver
File	
  system
Application
NVM	
  device NVM	
  device
User	
  space
Kernel	
  space
Native	
  file	
  
API
NVM.BLOCK	
  mode
NVM.FILE	
  modeUse with disk-like NVM
NVM.BLOCK Mode
!  Targeted for file systems and block-
aware applications
!  Atomic writes
!  Length and alignment granularities
!  Thin provisioning management
NVM.FILE Mode
!  Targeted for file based apps.
!  Discovery and use of atomic write
features
!  Discovery of granularities
8© 2015 Storage Networking Industry Association. All Rights Reserved.
Persistent Memory Modes
Application
PM	
  device PM	
  device PM	
  device.	
  .	
  .
User	
  space
Kernel	
  space
MMU	
  
MappingsPM-­‐aware	
  file	
  system
NVM	
  PM	
  capable	
  driver
Load/
store
Native	
  file	
  
API
PM-­‐aware	
  kernel	
  module
PM	
  device
NVM.PM.VOLUME	
  mode
NVM.PM.FILE	
  mode
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
9© 2015 Storage Networking Industry Association. All Rights Reserved.
Building on the Basic PM Model
  NVM.PM.FILE
programming model
“surfaces” PM to
application
  Refine API with additional
libraries that evolve into
language extensions
  Add compatible
functionality to PM file
systems
10© 2015 Storage Networking Industry Association. All Rights Reserved.
Current Work
  Remote access white paper
  Disaggregated memory
  RDMA direct to NVM
  High availability, clustering, capacity expansion use cases
  NVM PM Remote Access for High Availability V02R3 (Draft)
  Atomic transactional behavior white paper
  Add atomicity and recovery to programming model
  Not addressed by current sync semantics
  Atomics Transactions Whitepaper V4b (Draft)
  Open source contributions
  Linux PMFS at https://github.com/linux-pmfs
  Linux Pmem Examples: https://github.com/pmem/linux-examples
11© 2015 Storage Networking Industry Association. All Rights Reserved.
NVM Remote Access
12© 2015 Storage Networking Industry Association. All Rights Reserved.
NVM Programming Remote Access
  Use case:
  RDMA copy from local to remote persistent memory
  High availability memory mapped files
  Built on NVM.PM.FILE from version 1 programming model
  Requirements:
  Assurance of remote durability
  Efficient byte range access (e.g., scatter-gather RDMA)
  Efficient large transfers
  Atomicity of fundamental data types
  Resource recovery and hardware fencing after failure
13© 2015 Storage Networking Industry Association. All Rights Reserved.
NVM Memory Access Hardware
Taxonomy
  Various topologies examined
  Local persistent memory
  PM in the same servers as the accessing processor
  Disaggregated persistent memory
  PM is not contained within the server
  Accessed at memory speed
  Network Persistent Memory
  PM accessed through a high speed network
  Virtual shared persistent memory
  Emulating cache coherent shared memory across networked
memory using software
14© 2015 Storage Networking Industry Association. All Rights Reserved.
Recoverability
  High Durability
  Data will not be lost regardless of failures
  May be limited due to implementation of system
  High Availability
  Data will remain accessible to hosts regardless of failures
  May be limited due to implementation of system
The distinction between high durability and high
availability makes it clear that high availability
requires networked access to persistent memory.
The network plays an important “fault isolation” role
for high availability.
15© 2015 Storage Networking Industry Association. All Rights Reserved.
Consistency and Recovery
  Consistency Points
  All data items recovered must have correct values relative to
each other from the application point of view
  Software uses hardware to insure that a failure or restart results
in a consistent state
  Crash Consistency
  Applications must be prepared to recover from any state of the
writes that were in flight when a failure occurs
  Recovery from a crash consistent image is the same as a cold
restart after a system crash
Crash consistency is a complex approach to recovery
from an application standpoint. It forces considerable
overhead to precisely communicate every sync action
to networked persistent memory.
16© 2015 Storage Networking Industry Association. All Rights Reserved.
NVM Programming Model Approach
to Recoverability
  Atomicity and Atomic Granularity
  Addresses crash consistency issues
  Optimized NVM Flush
  Addresses consistency point issues
  Data and Access Recovery Scenarios
  In-line recovery
  Backtracking recovery
  Local application restart
  Application failover
17© 2015 Storage Networking Industry Association. All Rights Reserved.
Remote Access Hardware
DIMMDIMM
CPU
DIMMS &
NVDIMMSIO
DIMMDIMM
CPU
DIMMS &
NVDIMMS
IO
Network Adapter
(RNIC)
Network Adapter
(RNIC)
Network
Switch(s)
Server
Server
18© 2015 Storage Networking Industry Association. All Rights Reserved.
Software Context Example
  Standard file API
  NVM Programming Model
optimized flush
  RAID software for HA
  local file system
  remote file system
  via network file system
client and NIC
19© 2015 Storage Networking Industry Association. All Rights Reserved.
RDMA for HA
  Examine durability,
performance, and
address space issues.
  Only the “Device”
address spaces must
match
  Sufficient to allow
restoration and
failover
  Orchestrated by peer
file/operating systems
20© 2015 Storage Networking Industry Association. All Rights Reserved.
NVM RDMA Security
  Address security issues for NVM RDMA
  Data at rest
  Data in flight
  Authentication
  Authorization
  Threat models
  Transport security
  RDMA security model
  In the context of NVM RDMA
  Performance issues with existing models
21© 2015 Storage Networking Industry Association. All Rights Reserved.
Atomic Transactions
22© 2015 Storage Networking Industry Association. All Rights Reserved.
Atomic Transactions
  Guidelines for atomic capabilities and transactions
  Use byte-addressable persistent memory (PM)
  Like volatile memory (RAM)
  Use processor load and store operations
  Retains contents across power loss
  Like storage
  Provide atomic store operations
  Assure data consistency
  Known state in the event of store failure
23© 2015 Storage Networking Industry Association. All Rights Reserved.
Relationship with the SNIA NVM
Programming Model
Legend
API Call
Load/Store Ops
  Application 1
  Links in a PM-aware library.
  Uses a compiler without PM support.
  Application 2
  Uses a PM-aware compiler
  And run-time library.
24© 2015 Storage Networking Industry Association. All Rights Reserved.
NVM Programming Model Atomic
Store Operations
  Provide for atomic store operations to PM
  Including the event of system or power failure
  Provide operations for large address ranges
  Or groups of ranges
  Provide atomic durability to PM
  Provide atomic transactions of arbitrary sizes
  No language extensions required
  Does not preclude the use of C11 and associated memory
model.
  No required hardware extensions
  Atomicity and transactions rely on existing or near term
processor capabilities.
25© 2015 Storage Networking Industry Association. All Rights Reserved.
Topics
  Use Cases
  Append to a file atomically
  NVM Programming Model Atomics and Transactions
  Form a transaction model for PM
  Review academic and research efforts
  Examine current methodologies
  Transactions and atomic operations optimized for PM
  Software Transactional Memory
  Avoiding latencies with “compiler hides concurrency” approaches
  Relationship to C11 and C11++
  PM aware data structures
26© 2015 Storage Networking Industry Association. All Rights Reserved.
Open Source
27© 2015 Storage Networking Industry Association. All Rights Reserved.
Open Source Contributions
  Linux Pmem Examples
  http://pmem.io/nvml/libpmem/
  https://github.com/pmem/linux-examples
  Linux DAX Extensions
  Support ext4 on NV-DIMMs
  Implement PM-aware file system (NVM.PM.FILE)
  http://lwn.net/Articles/588218/
27
28© 2015 Storage Networking Industry Association. All Rights Reserved.
Questions
29© 2015 Storage Networking Industry Association. All Rights Reserved.
Acknowledgements
  Thanks for the help!
  Walt Hubis, Hubis Technical Associates, Vice Chair,
SNIA SSSI & Slide Author, DSI Presenter
  Paul Von Behren, Intel, Chair SNIA NVM Programming
TWG
  Doug Voigt, HP, Chair SNIA NVM Programming TWG
  Jim Ryan, Intel
  Steve Byan, NetApp

More Related Content

PDF
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
PDF
IMCSummit 2015 - Day 1 Developer Session - The Science and Engineering Behind...
PPTX
JetStor portfolio update final_2020-2021
PDF
IMCSummit 2015 - Day 2 IT Business Track - Drive IMC Efficiency with Flash E...
PPTX
Revisiting CephFS MDS and mClock QoS Scheduler
PPTX
Impact of Intel Optane Technology on HPC
PDF
SOUG_GV_Flashgrid_V4
PPT
IBM SAN Volume Controller Performance Analysis
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
IMCSummit 2015 - Day 1 Developer Session - The Science and Engineering Behind...
JetStor portfolio update final_2020-2021
IMCSummit 2015 - Day 2 IT Business Track - Drive IMC Efficiency with Flash E...
Revisiting CephFS MDS and mClock QoS Scheduler
Impact of Intel Optane Technology on HPC
SOUG_GV_Flashgrid_V4
IBM SAN Volume Controller Performance Analysis

What's hot (20)

PDF
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
PPTX
Webinar: NVMe, NVMe over Fabrics and Beyond - Everything You Need to Know
PPTX
TDS-16489U-R2 0215 EN
PPTX
EMC: VNX Unified Storage series
PPTX
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
PPTX
Red Hat Storage Day Boston - Why Software-defined Storage Matters
PPTX
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...
PDF
All Flash is not Equal: Tony Pearson contrasts IBM FlashSystem with Solid-Sta...
PDF
Bridging Big - Small, Fast - Slow with Campaign Storage
PPTX
Flash for the Real World – Separate Hype from Reality
PDF
S ss0885 spectrum-scale-elastic-edge2015-v5
PDF
High-Performance Big Data Analytics with RDMA over NVM and NVMe-SSD
PPTX
Ceph: Low Fail Go Scale
PDF
Red Hat Storage Day Atlanta - Designing Ceph Clusters Using Intel-Based Hardw...
PDF
Ibm spectrum virtualize 101
PPTX
EMC Data domain advanced features and functions
PDF
Learning from ZFS to Scale Storage on and under Containers
PPTX
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
PPTX
Technical sales education enterprise- svc and ibm flash best practices update
PDF
Presentazione HPE @ VMUGIT UserCon 2015
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Webinar: NVMe, NVMe over Fabrics and Beyond - Everything You Need to Know
TDS-16489U-R2 0215 EN
EMC: VNX Unified Storage series
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Red Hat Storage Day Boston - Why Software-defined Storage Matters
Ibm spectrum scale fundamentals workshop for americas part 5 ess gnr-usecases...
All Flash is not Equal: Tony Pearson contrasts IBM FlashSystem with Solid-Sta...
Bridging Big - Small, Fast - Slow with Campaign Storage
Flash for the Real World – Separate Hype from Reality
S ss0885 spectrum-scale-elastic-edge2015-v5
High-Performance Big Data Analytics with RDMA over NVM and NVMe-SSD
Ceph: Low Fail Go Scale
Red Hat Storage Day Atlanta - Designing Ceph Clusters Using Intel-Based Hardw...
Ibm spectrum virtualize 101
EMC Data domain advanced features and functions
Learning from ZFS to Scale Storage on and under Containers
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Technical sales education enterprise- svc and ibm flash best practices update
Presentazione HPE @ VMUGIT UserCon 2015
Ad

Viewers also liked (18)

PDF
MongoDB_Certificate
PDF
CompTIA Network+ ce certificate
PDF
Certificate
PDF
EMC Academic Associate, Information Storage and Management certificate (2)
PDF
NEWCDMISPECIFICATION
PDF
Certificate
PPT
Cyflwyniad gan Ross Hunter yn ystod cyfarfod y Comisiwn Cymru ar y Newid yn y...
PDF
CompTIA Security+ ce certificate
PDF
CompTIA Security+ ce certificate
PDF
CompTIA Security+ ce certificate
PDF
RSA Archer Admin Certificate of Completion
PDF
CompTIA Cloud+ ce certificate
PDF
ITIL Foundation Certificate of Continuing Education
PDF
Cisco certified course completion certificate
PPT
The Bread of Salt(NVM)SUMMARY
PDF
SOUG_SDM_OracleDB_V3
PDF
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage Comparison
PDF
Micron Persistent Memory & NVDIMM
MongoDB_Certificate
CompTIA Network+ ce certificate
Certificate
EMC Academic Associate, Information Storage and Management certificate (2)
NEWCDMISPECIFICATION
Certificate
Cyflwyniad gan Ross Hunter yn ystod cyfarfod y Comisiwn Cymru ar y Newid yn y...
CompTIA Security+ ce certificate
CompTIA Security+ ce certificate
CompTIA Security+ ce certificate
RSA Archer Admin Certificate of Completion
CompTIA Cloud+ ce certificate
ITIL Foundation Certificate of Continuing Education
Cisco certified course completion certificate
The Bread of Salt(NVM)SUMMARY
SOUG_SDM_OracleDB_V3
Intel and DataStax: 3D XPoint and NVME Technology Cassandra Storage Comparison
Micron Persistent Memory & NVDIMM
Ad

Similar to IMCSummit 2015 - Day 2 Developer Track - The NVM Revolution (20)

PPTX
IMC Summit 2016 Breakout - Ken Gibson - The In-Place Working Storage Tier
PPTX
IMC Summit 2016 Keynote - Arthur Sainio - NVDIMM: Changes are Here So What’s ...
PDF
Persistent Memory Programming: The Current State of the Ecosystem
PPTX
Developing Software for Persistent Memory / Willhalm Thomas (Intel)
PPTX
The Forefront of the Development for NVDIMM on Linux Kernel
PDF
S104878 nvme-revolution-jburg-v1809b
PDF
クラウド時代の半導体メモリー技術
PDF
Big Memory Webcast
PDF
20160811 s301 e_prabhat
PDF
MemVerge Company Overview
PPTX
Persistent memory
PPTX
Rearchitecting Storage for Server Virtualization
PPTX
IMC Summit 2016 Breakout - Gordon Patrick - Developments in Persistent Memory
PPTX
Storage for Virtual Environments 2011 R2
PPTX
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
PDF
NVDIMM block drivers with NFIT
PDF
NVMe over Fabrics Demystified
PDF
Tech Talk: Moneyball - Hitting real-time apps out of the park with Big Memory
PDF
Accelerating Apache Spark Shuffle for Data Analytics on the Cloud with Remote...
PDF
Current and Future of Non-Volatile Memory on Linux
IMC Summit 2016 Breakout - Ken Gibson - The In-Place Working Storage Tier
IMC Summit 2016 Keynote - Arthur Sainio - NVDIMM: Changes are Here So What’s ...
Persistent Memory Programming: The Current State of the Ecosystem
Developing Software for Persistent Memory / Willhalm Thomas (Intel)
The Forefront of the Development for NVDIMM on Linux Kernel
S104878 nvme-revolution-jburg-v1809b
クラウド時代の半導体メモリー技術
Big Memory Webcast
20160811 s301 e_prabhat
MemVerge Company Overview
Persistent memory
Rearchitecting Storage for Server Virtualization
IMC Summit 2016 Breakout - Gordon Patrick - Developments in Persistent Memory
Storage for Virtual Environments 2011 R2
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
NVDIMM block drivers with NFIT
NVMe over Fabrics Demystified
Tech Talk: Moneyball - Hitting real-time apps out of the park with Big Memory
Accelerating Apache Spark Shuffle for Data Analytics on the Cloud with Remote...
Current and Future of Non-Volatile Memory on Linux

More from In-Memory Computing Summit (20)

PPTX
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
PPTX
IMC Summit 2016 Breakout - Henning Andersen - Using Lock-free and Wait-free I...
PPTX
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
PDF
IMC Summit 2016 Breakout - Nikita Shamgunov - Propelling IoT Innovation with ...
PPTX
IMC Summit 2016 Breakout - Matt Coventon - Test Driving Streaming and CEP on ...
PDF
IMC Summit 2016 Innovation - Derek Nelson - PipelineDB: The Streaming-SQL Dat...
PPTX
IMC Summit 2016 Innovation - Dennis Duckworth - Lambda-B-Gone: The In-memory ...
PPTX
IMC Summit 2016 Innovation - Steve Wilkes - Tap Into Your Enterprise – Why Da...
PPTX
IMC Summit 2016 Innovation - Girish Mutreja - Unveiling the X Platform
PPTX
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
PDF
IMC Summit 2016 Breakout - Yanping Wang - Non-volatile Generic Object Program...
PPTX
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
PPTX
IMC Summit 2016 Breakout - Girish Kathalagiri - Decision Making with MLLIB, S...
PPTX
IMC Summit 2016 Breakout - Steve Wikes - Making IMC Enterprise Grade
PPTX
IMC Summit 2016 Breakout - Noah Arliss - The Truth: How to Test Your Distribu...
PPTX
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
PPTX
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
PPTX
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
PPTX
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
PPTX
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
IMC Summit 2016 Breakout - Henning Andersen - Using Lock-free and Wait-free I...
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Nikita Shamgunov - Propelling IoT Innovation with ...
IMC Summit 2016 Breakout - Matt Coventon - Test Driving Streaming and CEP on ...
IMC Summit 2016 Innovation - Derek Nelson - PipelineDB: The Streaming-SQL Dat...
IMC Summit 2016 Innovation - Dennis Duckworth - Lambda-B-Gone: The In-memory ...
IMC Summit 2016 Innovation - Steve Wilkes - Tap Into Your Enterprise – Why Da...
IMC Summit 2016 Innovation - Girish Mutreja - Unveiling the X Platform
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
IMC Summit 2016 Breakout - Yanping Wang - Non-volatile Generic Object Program...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
IMC Summit 2016 Breakout - Girish Kathalagiri - Decision Making with MLLIB, S...
IMC Summit 2016 Breakout - Steve Wikes - Making IMC Enterprise Grade
IMC Summit 2016 Breakout - Noah Arliss - The Truth: How to Test Your Distribu...
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
The AUB Centre for AI in Media Proposal.docx
Empathic Computing: Creating Shared Understanding
Chapter 3 Spatial Domain Image Processing.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
“AI and Expert System Decision Support & Business Intelligence Systems”
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Monthly Chronicles - July 2025
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...

IMCSummit 2015 - Day 2 Developer Track - The NVM Revolution

  • 1. PRESENTATION TITLE GOES HERE The NVM Revolution Mark Carlson Vice Chair, SNIA Technical Council Toshiba June 30, 2015
  • 2. 2© 2015 Storage Networking Industry Association. All Rights Reserved. Need for A New Model   With Next Generation NVM, the NVM is no longer the bottleneck   Need optimized platform storage interconnect   Need optimized software storage access methods
  • 3. 3© 2015 Storage Networking Industry Association. All Rights Reserved. Application Access to Non-Volatile Memory  Disk-like non-volatile memory   Appear as disk drives to applications   Accessed using disk stack  Memory-like non-volatile memory   Appear as memory to applications   Applications store variables directly in RAM   No IO or even DMA is required Memory-like non volatile memory is a type of persistent memory
  • 4. 4© 2015 Storage Networking Industry Association. All Rights Reserved. Eliminate File System Latency with Memory Mapped Files Application File System Disk Driver Disk Application Persistent Memory Load/Store Memory Mapped Files Traditional New UserKernelHW UserHW
  • 5. 5© 2015 Storage Networking Industry Association. All Rights Reserved. SNIA NVM Programming Model   Version 1.1 approved by SNIA in March 2015   Downloadable by anyone   Version 1.0 approved by SNIA in December 2013   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
  • 6. 6© 2015 Storage Networking Industry Association. All Rights Reserved. The Four Modes Traditional Persistent Memory UserView NVM.FILE NVM.PM.FILE Kernel Protected NVM.BLOCK NVM.PM.VOLUME Media Type Disk Drive Persistent Memory NVDIMM Disk-Like Memory-Like Block Mode Innovation •  Atomics •  Access hints •  NVM-oriented operations Emerging NVM Technologies •  Performance •  Performance •  Performance, cost
  • 7. 7© 2015 Storage Networking Industry Association. All Rights Reserved. Conventional Block and File Modes Application NVM  block  capable  driver File  system Application NVM  device NVM  device User  space Kernel  space Native  file   API NVM.BLOCK  mode NVM.FILE  modeUse with disk-like NVM NVM.BLOCK Mode !  Targeted for file systems and block- aware applications !  Atomic writes !  Length and alignment granularities !  Thin provisioning management NVM.FILE Mode !  Targeted for file based apps. !  Discovery and use of atomic write features !  Discovery of granularities
  • 8. 8© 2015 Storage Networking Industry Association. All Rights Reserved. Persistent Memory Modes Application PM  device PM  device PM  device.  .  . User  space Kernel  space MMU   MappingsPM-­‐aware  file  system NVM  PM  capable  driver Load/ store Native  file   API PM-­‐aware  kernel  module PM  device NVM.PM.VOLUME  mode NVM.PM.FILE  mode 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
  • 9. 9© 2015 Storage Networking Industry Association. All Rights Reserved. Building on the Basic PM Model   NVM.PM.FILE programming model “surfaces” PM to application   Refine API with additional libraries that evolve into language extensions   Add compatible functionality to PM file systems
  • 10. 10© 2015 Storage Networking Industry Association. All Rights Reserved. Current Work   Remote access white paper   Disaggregated memory   RDMA direct to NVM   High availability, clustering, capacity expansion use cases   NVM PM Remote Access for High Availability V02R3 (Draft)   Atomic transactional behavior white paper   Add atomicity and recovery to programming model   Not addressed by current sync semantics   Atomics Transactions Whitepaper V4b (Draft)   Open source contributions   Linux PMFS at https://github.com/linux-pmfs   Linux Pmem Examples: https://github.com/pmem/linux-examples
  • 11. 11© 2015 Storage Networking Industry Association. All Rights Reserved. NVM Remote Access
  • 12. 12© 2015 Storage Networking Industry Association. All Rights Reserved. NVM Programming Remote Access   Use case:   RDMA copy from local to remote persistent memory   High availability memory mapped files   Built on NVM.PM.FILE from version 1 programming model   Requirements:   Assurance of remote durability   Efficient byte range access (e.g., scatter-gather RDMA)   Efficient large transfers   Atomicity of fundamental data types   Resource recovery and hardware fencing after failure
  • 13. 13© 2015 Storage Networking Industry Association. All Rights Reserved. NVM Memory Access Hardware Taxonomy   Various topologies examined   Local persistent memory   PM in the same servers as the accessing processor   Disaggregated persistent memory   PM is not contained within the server   Accessed at memory speed   Network Persistent Memory   PM accessed through a high speed network   Virtual shared persistent memory   Emulating cache coherent shared memory across networked memory using software
  • 14. 14© 2015 Storage Networking Industry Association. All Rights Reserved. Recoverability   High Durability   Data will not be lost regardless of failures   May be limited due to implementation of system   High Availability   Data will remain accessible to hosts regardless of failures   May be limited due to implementation of system The distinction between high durability and high availability makes it clear that high availability requires networked access to persistent memory. The network plays an important “fault isolation” role for high availability.
  • 15. 15© 2015 Storage Networking Industry Association. All Rights Reserved. Consistency and Recovery   Consistency Points   All data items recovered must have correct values relative to each other from the application point of view   Software uses hardware to insure that a failure or restart results in a consistent state   Crash Consistency   Applications must be prepared to recover from any state of the writes that were in flight when a failure occurs   Recovery from a crash consistent image is the same as a cold restart after a system crash Crash consistency is a complex approach to recovery from an application standpoint. It forces considerable overhead to precisely communicate every sync action to networked persistent memory.
  • 16. 16© 2015 Storage Networking Industry Association. All Rights Reserved. NVM Programming Model Approach to Recoverability   Atomicity and Atomic Granularity   Addresses crash consistency issues   Optimized NVM Flush   Addresses consistency point issues   Data and Access Recovery Scenarios   In-line recovery   Backtracking recovery   Local application restart   Application failover
  • 17. 17© 2015 Storage Networking Industry Association. All Rights Reserved. Remote Access Hardware DIMMDIMM CPU DIMMS & NVDIMMSIO DIMMDIMM CPU DIMMS & NVDIMMS IO Network Adapter (RNIC) Network Adapter (RNIC) Network Switch(s) Server Server
  • 18. 18© 2015 Storage Networking Industry Association. All Rights Reserved. Software Context Example   Standard file API   NVM Programming Model optimized flush   RAID software for HA   local file system   remote file system   via network file system client and NIC
  • 19. 19© 2015 Storage Networking Industry Association. All Rights Reserved. RDMA for HA   Examine durability, performance, and address space issues.   Only the “Device” address spaces must match   Sufficient to allow restoration and failover   Orchestrated by peer file/operating systems
  • 20. 20© 2015 Storage Networking Industry Association. All Rights Reserved. NVM RDMA Security   Address security issues for NVM RDMA   Data at rest   Data in flight   Authentication   Authorization   Threat models   Transport security   RDMA security model   In the context of NVM RDMA   Performance issues with existing models
  • 21. 21© 2015 Storage Networking Industry Association. All Rights Reserved. Atomic Transactions
  • 22. 22© 2015 Storage Networking Industry Association. All Rights Reserved. Atomic Transactions   Guidelines for atomic capabilities and transactions   Use byte-addressable persistent memory (PM)   Like volatile memory (RAM)   Use processor load and store operations   Retains contents across power loss   Like storage   Provide atomic store operations   Assure data consistency   Known state in the event of store failure
  • 23. 23© 2015 Storage Networking Industry Association. All Rights Reserved. Relationship with the SNIA NVM Programming Model Legend API Call Load/Store Ops   Application 1   Links in a PM-aware library.   Uses a compiler without PM support.   Application 2   Uses a PM-aware compiler   And run-time library.
  • 24. 24© 2015 Storage Networking Industry Association. All Rights Reserved. NVM Programming Model Atomic Store Operations   Provide for atomic store operations to PM   Including the event of system or power failure   Provide operations for large address ranges   Or groups of ranges   Provide atomic durability to PM   Provide atomic transactions of arbitrary sizes   No language extensions required   Does not preclude the use of C11 and associated memory model.   No required hardware extensions   Atomicity and transactions rely on existing or near term processor capabilities.
  • 25. 25© 2015 Storage Networking Industry Association. All Rights Reserved. Topics   Use Cases   Append to a file atomically   NVM Programming Model Atomics and Transactions   Form a transaction model for PM   Review academic and research efforts   Examine current methodologies   Transactions and atomic operations optimized for PM   Software Transactional Memory   Avoiding latencies with “compiler hides concurrency” approaches   Relationship to C11 and C11++   PM aware data structures
  • 26. 26© 2015 Storage Networking Industry Association. All Rights Reserved. Open Source
  • 27. 27© 2015 Storage Networking Industry Association. All Rights Reserved. Open Source Contributions   Linux Pmem Examples   http://pmem.io/nvml/libpmem/   https://github.com/pmem/linux-examples   Linux DAX Extensions   Support ext4 on NV-DIMMs   Implement PM-aware file system (NVM.PM.FILE)   http://lwn.net/Articles/588218/ 27
  • 28. 28© 2015 Storage Networking Industry Association. All Rights Reserved. Questions
  • 29. 29© 2015 Storage Networking Industry Association. All Rights Reserved. Acknowledgements   Thanks for the help!   Walt Hubis, Hubis Technical Associates, Vice Chair, SNIA SSSI & Slide Author, DSI Presenter   Paul Von Behren, Intel, Chair SNIA NVM Programming TWG   Doug Voigt, HP, Chair SNIA NVM Programming TWG   Jim Ryan, Intel   Steve Byan, NetApp