IMC Summit 2016 Breakout - Ken Gibson - The In-Place Working Storage Tier

Preview:

Citation preview

THE IN-PLACE WORKING STORAGE TIEROPPORTUNITIES FOR SOFTWARE INNOVATORSKEN GIBSON, INTEL, DIRECTOR MEMORY SW ARCHITECTURE

See all the presentations from the In-Memory Computing Summit at http://imcsummit.org

NAND MLC NVMe SSD (4kB read)

3D XPoint™ NVMe SSD (4kB read)

DIMM Memory (64B read)

0

5

10

15

20

25

30

NVM TreadNVM xferController ASICController FirmwarePlatform Link xfer & protocol (NVMe/PCIe)DriverStorage StackFile System

TheMedia

I/OOverhead

Persistent Memory withIn-Place Persistence

I/O LATENCY WILL SOON EXCEED MEDIA LATENCYLa

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 MODEL36+ Member Companies

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

SNIA Technical Working GroupDefined 4 programming modes required by developers

Spec 1.0 developed, approved by SNIA voting members and publishedInterfaces 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

UserSpace

KernelSpace

StandardFile API

NVDIMM Driver

Application

File System

ApplicationApplication

StandardRaw Device

Access

Storage File Memory

Load/Store

Management Library

Management Tools

StandardFile API

Mgmt.

PM-AwareFile System

MMUMappings

DAX

NVDIMM

UserSpace

KernelSpace

Application

Load/StoreStandardFile API

pmem-AwareFile System

MMUMappings

NVM Libraries

• Open Source• http://pmem.io

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

Atomic & Transactional

CREATING THE APITHE OPEN SOURCE NVM LIBRARY

FROM PERSISTENT TO DURABLE TO COMPLIANT

Example Data ServicesLocal & Remote ReplicationSnapshot & Continuous Data ProtectionData protection, RAID, etc.Tiering, CachingData reduction: Dedup, CompressionAudit trail, EncryptionVirus protectionOther 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 APIsStorage Mode

UserSpace

KernelSpace

Standard File APIs

Apache Pass Device Driver

Application

Kernel File System &Storage I/O

Application

DirectLoad/Store

NVDIMM

NVML APIs NVML File APIs

Application

Compatible with Today’s Filter Drivers and PaaS

Layers

Requires New Approach to Durability &

Compliance

DirectLoad/Store

App-Level Data Copies

DRAM

“I/O” In-placePersistence DRAM

“I/O”

NVDIMM NVDIMM

NVDIMM

UserSpace

KernelSpace

Application

DAX

StandardFile API

pmem-AwareFile 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 STATEMEMORY 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

Recommended