The NVM Programming Model - Flash Memory Summit

0 downloads 188 Views 2MB Size Report
Aug 10, 2016 - Mission of the. NVM Programming Model TWG. ▫ Accelerate the availability of software that enables. NVM
Enabling Persistent Memory: The NVM Programming Model Doug Voigt, Hewlett Packard Enterprise Santa Clara, CA August 2016

1

Persistent Memory (PM) Vision Persistent Memory Brings Storage

Fast

Like Memory

Persistent Like Storage

To Memory Slots

Make data durable without doing I/O Santa Clara, CA August 2016

2

Mission of the NVM Programming Model TWG §  Accelerate the availability of software that enables NVM (Non-Volatile Memory) hardware. •  Hardware includes SSD’s and PM •  Software spans applications and OS’s

§  Create the NVM Programming Model •  Describes application visible behaviors •  Allows API’s to align with OS’s •  Exposes opportunities in networks and processors Santa Clara, CA August 2016

3

Programming Model Modes §  Block and File modes use IO •  Data is read or written using RAM buffers •  Software controls how to wait (context switch or poll) •  Status is explicitly checked by software

§  Volume and PM modes enable Ld/St •  Data is loaded into or stored from processor registers •  Processor makes software wait for data during instruction •  No status checking – errors generate exceptions Santa Clara, CA August 2016

4

•  Targeted for file systems and blockaware 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 Santa Clara, CA August 2016

File Based Applications

Block aware Applications

NVM File mode Extensions File Systems NVM Block Mode Extensions Block Device Driver

Kernel Space

§  NVM.BLOCK Mode

User Space

File and Block Mode Extensions

NVM Block Device 5

•  Software abstraction for persistent memory hardware •  Address ranges •  Thin provisioning management

§  NVM.PM.FILE Mode •  Application behavior for accessing PM •  Mapping PM files to application address space •  Syncing PM files

PM Aware Apps File APIs

Ld/St

NVM.PM.FILE Mode PM Aware File Systems PM VOLUME Mode

Kernel Space

§  NVM.PM.VOLUME Mode

User Space

Persistent Memory (PM) Modes

PM capable Driver

PM Device Santa Clara, CA August 2016

6

Recent NVMP TWG Work in Progress User

§  Atomicity White Paper in Final Review

PM Aware Apps File APIs

Ld/St

Transactional PM Libraries

§  Remote Access for HA White Paper Published High Availability PM Remote Optimized Flush

PM data structure libraries

Kernel PM Aware File Systems

MMU Mapp ings

Middleware features e.g. RAID

PM Device Santa Clara, CA August 2016

7

Atomicity §  Inter-Process Atomicity vs. Failure Atomicity §  References NVM Library §  PM Data Structures with Intrinsic atomicity Log, Block and more

§  Transactions for more complex atomicity Multiple Data Structures Santa Clara, CA August 2016

8

Remote Access §  SNIA PM Remote Access for High Availability •  Remote access taxonomy •  Data recoverability requirements •  Model and requirements for remote flush

§  Multiple industry parties are responding •  Open Fabrics Alliance •  InfiniBand Trade Association •  Several vendors Santa Clara, CA August 2016

9

Role of the NVM Programming Model Rally the industry around a view of NVM that is: §  §  §  § 

Santa Clara, CA August 2016

Application centric Vendor neutral Achievable today Beyond storage •  •  •  • 

Applications Memory Networking Processors

10

Enabling Persistent Memory: The NVM Programming Model Doug Voigt, Hewlett Packard Enterprise Santa Clara, CA August 2016

11