the in-place working storage tier opportunities for software innovators

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

Transcript of the in-place working storage tier opportunities for software innovators

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

0

5

10

15

20

25

30

NAND MLC NVMe SSD (4kB read)

3D XPoint™ NVMe SSD (4kB read)

DIMM Memory (64B read)

NVM Tread

NVM xfer

Controller ASIC

Controller Firmware

Platform Link xfer & protocol (NVMe/PCIe)

Driver

Storage Stack

File System

The Media

I/O Overhead

Persistent Memory with In-Place Persistence

I/O LATENCY WILL SOON EXCEED MEDIA LATENCY La

tenc

y (u

secs

)

I/O

THE TRADITIONAL STORAGE I/O ARCHITECTURE

The File I/O Programming Model

File APIs

Application

OS Kernel

File System

Block Drivers

Working Data

DRAM

Optional Block Filters

Optional File Filters

Data I/O

I/O-based Storage

ESTABLISHING THE OPEN INDUSTRY PROGRAMMING MODEL

36+ Member Companies

http://snia.org/sites/default/files/NVMProgrammingModel_v1.pdf

SNIA Technical Working Group Defined 4 programming modes required by developers

Spec 1.0 developed, approved by SNIA voting members and published Interfaces for PM-aware

file system accessing kernel PM support

interfaces for application accessing a PM-aware file

system

Kernel support for block NVM extensions

Interfaces for legacy applications to access block NVM extensions

THE OPEN INDUSTRY PROGRAMMING MODEL

NVDIMM

User Space

Kernel Space

Standard File API

NVDIMM Driver

Application

File System

Application Application

Standard Raw Device

Access

Storage File Memory

Load/Store

Management Library

Management Tools

Standard File API

Mgmt.

PM-Aware File System

MMU Mappings

DAX

NVDIMM

User Space

Kernel Space

Application

Load/Store Standard File API

pmem-Aware File System

MMU Mappings

NVM Libraries

•  Open Source •  http://pmem.io

•  Libpmem •  libvmem •  libvmmalloc •  libpmemobj •  libpmemblk •  libpmemlog

Atomic & Transactional

CREATING THE API THE OPEN SOURCE NVM LIBRARY

FROM PERSISTENT TO DURABLE TO COMPLIANT

Example Data Services Local & Remote Replication Snapshot & Continuous Data Protection Data protection, RAID, etc. Tiering, Caching Data reduction: Dedup, Compression Audit trail, Encryption Virus protection Other Compliance features….

Intercepting I/O to add Durability and Compliance

File APIs

Application

OS Kernel

File System

Block Drivers

Working Data

DRAM

Optional Block Filters

Optional File Filters

Data I/O

I/O-based Storage

DURABILITY AND COMPLIANCE FOR PERSISTENT MEMORY

DAX DAX + File APIs Storage Mode

User Space

Kernel Space

Standard File APIs

Apache Pass Device Driver

Application

Kernel File System & Storage I/O

Application

Direct Load/Store

NVDIMM

NVML APIs NVML File APIs

Application

Compatible with Today’s Filter Drivers and PaaS Layers

Requires New Approach to Durability & Compliance

Direct Load/Store

App-Level Data Copies

DRAM

“I/O” In-place Persistence

DRAM

“I/O”

NVDIMM NVDIMM

NVDIMM

User Space

Kernel Space

Application

DAX

Standard File API

pmem-Aware File System

msync() FlushViewOfFile()

pmem_persist()

WRITE I/O REPLACED WITH PERSIST POINTS

Traditional APIs NVML API

NVM Library

New Durability and Compliance Plug-ins

Opportunity for Next-Generation DataGrids?

Capacity Storage

THE END STATE MEMORY AS THE NEW PERFORMANCE STORAGE TIER

I/O-based Storage

In-Place Working Storage

Persistent Memory

Hot Storage

Working Data

DRAM

HDD SSD

Today The Future

Working Memory and Hot Storage Tier Merge

11

JOIN THE DISCUSSION Ø  Learn about the Persistent Memory programming model

Ø  http://www.snia.org/forums/sssi/nvmp

Ø  Join the pmem NVM Libraries Open Source project Ø  http://pmem.io

Ø  Read the documents and code supporting ACPI 6.1 and Linux NFIT drivers Ø  http://www.uefi.org/sites/default/files/resources/ACPI_6.1.pdf

Ø  https://github.com/pmem/ndctl

Ø  http://pmem.io/documents/

Ø  https://github.com/01org/prd

Ø  Intel Architecture Instruction Set Extensions Programming Reference Ø  https://software.intel.com/en-us/intel-isa-extensions

Ø  Intel 3D XPointTM Memory Ø  http://www.intel.com/content/www/us/en/architecture-and-technology/non-volatile-memory.html

THANK YOU