15
Usha Upadhyayula Tom Krueger February 2019

Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Usha UpadhyayulaTom Krueger

February 2019

Page 2: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Disrupting the Storage AND MEMORY Hierarchy

Page 3: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent
Page 4: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Intel® Optane™ Data Center Persistent Memory - Value Pillars• Memory Mode ( Access to Large Volatile Memory Capacity)

✓ Ease of Use; No Software Changes required

✓ Extract more value from larger data sets then previously possible

– TBs of dataset fully in memory

✓ Delivers new capabilities for memory focused workloads

– Large model simulation

✓ Improve Time to Solution

✓ reduce IO to storage

• App Direct (Persistent Memory)

✓ Data Access

– Access granularity : Cache-line vs block

✓ Application Controlled Data Placement

– Load/Store Access

– No Paging/context switching

✓ Faster Restarts with Persistence

– Higher Availability for Large Analytics Systems– Fraud Detection, Cyber Security,

✓ Reduced Infrastructure Cost

Page 5: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

5

What does this mean to Software Developers?

Page 6: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Ease of Adoption• Memory Mode

• 2 Levels of Memory

• DRAM as Cache = Near Memory

• Intel DCPMM = Far Memory

• No Operating System or Application Changes Required

• Data Placement Controlled by the Memory Controller

• Latency

• Same as DRAM for Cache Friendly Workloads

• Storage Over App Direct

• Persistent Memory acting as an SSD

• Operates in Blocks

• Traditional RD/WR

• Works with Existing File Systems

• Atomicity at block level

• Block size configurable

• No Application Changes Required

• NVDIMM Driver Required

• Support starting Kernel

• 4.2 & Windows 2016 server

• Latency

• Lower compared to NVMe SSDs

Page 7: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

7

• Enabling Applications for Load/Store Access

• Data Persistence

• Stores are not guaranteed persistence until flushed• Need to Flush the CPU Caches to Persistent Domain

• Data Consistency

• Prevent Torn Updates• Using transactions

• Persistent Memory Allocation/Free

• Persistent Memory aware allocator

• Prevent Persistent Memory Leaks

• Persistent Memory Error Handling

Enabling App Direct – Needs Re-Architecting the Application

WP

Q

ADR-or-

WPQ Flush (kernel only)

Core

L1 L1

L2

L3

WPQ

MOV

DIMM

CP

U C

AC

HES

CLWB + fence-or-

CLFLUSHOPT + fence-or-

CLFLUSH-or-

NT stores + fence

Minimum RequiredPower fail protected

domain:Memory subsystem

CustomPower fail

protected domainindicated by ACPI

property:CPU Cache Hierarchy

Page 8: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Storage

8

Exposing Persistent Memory to Applications

The SNIA NVM Programming Model

NVDIMMs

UserSpace

KernelSpace

StandardFile API

NVDIMM Driver

Application

File System

ApplicationApplication

StandardRaw Device

Access

Load/Store

Management Library

Management UI

StandardFile API

pmem-AwareFile System

MMUMappings

SNIA – Storage and Networking Industry Association

FILE Memory

Page 9: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Support for

volatilememory usage

Persistent Memory Developer Kit -A Suite of Open Source of Libraries

libmemkind

Low level

support for local

persistent

memory

libpmem

Low level support for remote access to persistent memory

librpmem

NVDIMM

UserSpace

KernelSpace

Application

Load/Store

StandardFile API

pmem-AwareFile System

MMUMappings

LibrariesInterface to create

arrays of pmem-

resident blocks of

same size for atomic

updates

Interface for persistent

memory allocation,

transactions and general

facilities

Interface to create a

persistent memory

resident log file

libpmemblklibpmemlog libpmemobj

Support Transactions

C++ CPCJ/LLPL Python

Low-level support

PCJ – Persistent Collection for Java

Persistent containers for C++

Page 10: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Using Persistent Memory as Volatile Memory• Persistent Memory Support added to libmemkind

• Application creates temporary file via pmem-aware file system and maps it

• File disappears on reboot

• Benefits:

• App sees separate pools of memory for DRAM and pmem

• For optimal QOS – latency-sensitive data goes into DRAM

• App-managed data placement

• API

• memkind_create_pmem(const char *dir, size_t max_size, memkind_t *kind)

• memkind_malloc(memkind_t kind, size_t size)

• memkind_calloc(memkind_t kind, size_t num, size_t size)

• memkind_realloc(memkind_t kind, void *ptr, size_t size)

• memkind_free(memkind_t kind, void *ptr)

10

Application

Interleave Set

Load/Store

StandardFile API

pmem-aware file system MMUMappings

Cache Line I/O

Temporary file DRAM

Load/Store

Page 11: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Ecosystem Partners• Standards Organizations

▪ Storage Network Industry Association (SNIA), ACPI, UEFI, and DMTF

• Operating System Vendors

▪ Microsoft, Red Hat, SUSE, and Canonical

• Virtualization Vendors

▪ VMware, KVM, Xen,

• Java* Vendors

▪ Oracle*

• Application Vendors

• Data Analytics, ML Vendors, Database and Enterprise Application

Page 12: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

12

Developer Resources• PMDK Resources:

• Home: https://pmem.io• PMDK: https://pmem.io/pmdk • PMDK Source Code : https://github.com/pmem/PMDK• Google Group: https://groups.google.com/forum/#!forum/pmem • Intel Developer Zone: https://software.intel.com/persistent-memory

• NDCTL: https://pmem.io/ndctl• IPMCTL: https://github.com/intel/ipmctl• MemKind: https://memkind.github.io/memkind/• LLPL: https://github.com/pmem/llpl• PCJ: https://github.com/pmem/pcj• SNIA NVM Programming Model: https://www.snia.org/tech_activities/standards/curr_standards/npm• Getting Started Guides: https://docs.pmem.io

Save the Date for SPDK & PMDK Developer Summit: April 16/17. Watch for updates on the Google group: https://groups.google.com/forum/#!forum/pmem

Page 13: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

FOR HPC, Where Can you Take Intel® Optane DC Persistent Memory?HPC Workloads with large data sets will benefit by keeping the data resident on the cluster.

• Artificial Intelligence

• Simulation and Modeling

• Visualization

• Health and Life Sciences

Page 14: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

Backup

Page 15: Usha Upadhyayula Tom Krueger February 2019 · Usha Upadhyayula Tom Krueger February 2019. Disrupting the Storage AND MEMORY Hierarchy. Intel® Optane™ Data Center Persistent

15

futureINTEL® XEON® SCALABLE

PROCESSORCascade Lake With Intel® OPTANE™ DC PERSISTENT MEMORY

Improved Per Core Performance

Optimized Cache Hierarchy

Higher CPU Frequencies

Support for

Intel® Deep Learning Boost (VNNI)

Optimized Frameworks & Libraries

Hardware-Enhanced Security

Intel® Infrastructure Management Technologies

Catalyst for data driven transformation(Pervasive Performance + HW Enhanced Security & Agility/Efficiency for Improved

Tco)

Public