10
Local and Remote byte-addressable NVDIMM High-level Use Cases Chet Douglas – Principal NVDIMM SW Architect - DCG 09-11-15

Local and Remote byte-addressable NVDIMM High-level Use Cases

Embed Size (px)

DESCRIPTION

USE CASE – Local NVDIMM – Kernel Access -Memory Side Cache -Hierarchical Tiered Memory Client Workstation or Enterprise Server On Package High-Bandwidth Memory Hierarchical Tiered Memory and Caching -On-Package High-Bandwidth Memory caching DDR4 main memory -DDRT4 Main Memory caching byte-addressable NVDIMM -NVDIMM caching SSDs -Typical OS implementations will require extensive kernel access DDR4 Main Memory Byte addressable, direct access, NVDIMM SSD Asynchronous Demand On Package High-Bandwidth Memory Cache Requests Asynchronous Demand On Package High-Bandwidth Memory Cache Completions Asynchronous Demand DDR4 Main Memory Cache Requests Asynchronous Demand DDR4 Main Memory Cache Completions Asynchronous Demand Byte-Addressable NVDIMM Cache Requests (Writes, Flushes, Commits) Asynchronous Demand Byte-Addressable NVDIMM Cache Completions Asynchronous Demand SSD Requests Asynchronous Demand SSD Completions

Citation preview

Page 1: Local and Remote byte-addressable NVDIMM High-level Use Cases

Local and Remote byte-addressable NVDIMM High-level Use CasesChet Douglas – Principal NVDIMM SW Architect - DCG09-11-15

Page 2: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Local NVDIMM – Kernel Access-Memory Side Cache-Hierarchical Tiered Memory

Asynchronous Demand DDR4 Main Memory Cache Requests

Asynchronous Demand Byte-Addressable NVDIMM Cache Requests (Writes, Flushes, Commits)Asynchronous Demand DDR4 Main Memory Cache Completions

Asynchronous Demand On Package High-Bandwidth Memory Cache RequestsAsynchronous Demand On Package High-Bandwidth Memory Cache Completions

Client Workstationor Enterprise Server

Byte addressable,direct access,NVDIMM

Hierarchical Tiered Memory and Caching-On-Package High-Bandwidth Memory caching DDR4 main memory-DDRT4 Main Memory caching byte-addressable NVDIMM-NVDIMM caching SSDs-Typical OS implementations will require extensive kernel access

DDR4 Main Memory

On Package High-Bandwidth Memory

SSD

Asynchronous Demand Byte-Addressable NVDIMM Cache CompletionsAsynchronous Demand SSD RequestsAsynchronous Demand SSD Completions

Page 3: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Local NVDIMM – Kernel Access-SW RAID – Close “R5 Write Hole”-SW RAID – Cache for SSD RAID Volumes

Asynchronous Demand SW RAID Data Vulnerability Cache Requests

Asynchronous Demand SW RAID RequestsAsynchronous Demand SW RAID Data Vulnerability Cache Completions

Asynchronous Demand SW RAID Acceleration Cache RequestsAsynchronous Demand SW RAID Acceleration Cache Completions

Client Workstationor Enterprise Server

Byte addressable,direct access,NVDIMM

SW RAID Use Cases – Kernel Access-Typically SW RAID products utilize OS Kernel RAID Storage Drivers and UEFI RAID Pre-Boot drivers to implement SW RAID functionality.-Performance acceleration caches or caches to close vulnerabilities in RAID Data replication, require shared persistent kernel access to regions of the NVDIMM by both UEFI RAID Pre-Boot drivers and OS Kernel RAID Storage Drivers

SSD

Asynchronous Demand SW RAID Completions

SSD RAID Volume

Byte addressable,direct access,NVDIMM

SSD RAID Volume Acceleration Cache

SSD RAID-5 Volume “Write Hole”Temp Data Store

Page 4: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Local & Remote NVDIMMPublic & Private Cloud-Synchronous (1:1) (active:passive) -Database Replication

Asynchronous Database Replication - RDMA Write

ActiveServerNode

ActiveDatabase

Master

Client

Synchronous Database Replication SNIA Optimized Flush

Synchronous Database Replication SNIA Optimized Flush Completion

Byte addressable,direct access,

NVDIMM

Byte addressable,direct access,

NVDIMM

Database copies kept in lock step

Asynchronous Demand Database Master Updates

Asynchronous Demand Database Reads

Synchronous Passive

DatabaseSlave

PUBLIC & PRIVATE CLOUD

ActiveServer

Node

Page 5: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Local & Remote NVDIMMPublic & Private Cloud-Asynchronous (1:1) (active:passive) -Database Replication

Asynchronous Demand Database Master Updates

ActiveServerNode

ActiveDatabase

MasterAsynchronous

PassiveDatabase

Slave

Client

Synchronous Database Logfile Replication SNIA Optimized FlushSynchronous Database Logfile Replication SNIA Optimized Flush Completion

Byte addressable,direct access,

NVDIMM

Byte addressable,direct access,

NVDIMM

Database copies updated asynchronously as logfile updates are pushed to slave nodes

Local Database Update due to Logfile update

Local Logfile Update due to Database update

Database Master Logfile

Database Slave Logfile

Asynchronous Database Logfile Replication - RDMA Write

Asynchronous Demand Database Reads

PUBLIC & PRIVATE CLOUD

ActiveServerNode

Page 6: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Remote NVDIMMPublic & Private Cloud-Converged Disaggregated Network Topology-SW Defined Storage (SDS)

Asynchronous Storage Updates - RDMA Write

Compute Node

Compute NodeVirtual Clients

(IaaS/PaaS)

Synchronous Storage Updates SNIA Optimized Flush

Synchronous Storage Updates SNIA Optimized Flush Completion

Byte addressable,direct access,

NVDIMM

Asynchronous Demand SDS Updates

Asynchronous Demand SDS Reads

DirectAttachedNVDIMM

PUBLIC & PRIVATE CLOUDStorage

ProcessingNode

Converged Disaggregated Network Topology Compute Nodes and Storage ProcessingNodes are physically separate nodes

Page 7: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Remote NVDIMMPublic & Private Cloud-Hyper-Converged Network Topology-SW Defined Storage (SDS)

Asynchronous Storage Updates - RDMA Write

Compute Node

Compute NodeVirtual Clients

(IaaS/PaaS)

Synchronous Storage Updates SNIA Optimized Flush

Synchronous Storage Updates SNIA Optimized Flush Completion

Byte addressable,direct access,

NVDIMMAsynchronous Demand SDS Updates

Asynchronous Demand SDS Reads

Compute Node Direct AttachedNVDIMM

PUBLIC & PRIVATE CLOUD

VirtualStorageProcessingNode

Hyper-Converged Network Topology Compute Node and Storage Processing Node are in the same physically node

VirtualNetwork

Page 8: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Remote NVDIMMEnterprise Appliance

Asynchronous Appliance Updates - RDMA Write

Synchronous Appliance Update SNIA Optimized Flush

Synchronous Appliance Update SNIA Optimized Flush Completion

Asynchronous Storage Updates

Enterprise ServerCompute Node

Byte addressable,direct access,

NVDIMM

Network Attached Enterprise Appliance Direct AttachedNVDIMM

Enterprise ServerStorage Processing Node

Byte addressable,direct access,

NVDIMM

Storage Attached Enterprise Appliance w Internal Network Fabric Switch & Direct Attached NVDIMM

Page 9: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Remote NVDIMMHPC – PGAS, SHMEM, MPI, Human Brain Project-Distributed (1:N) (active:active) Database

Asynchronous Database Updates - RDMA Write

Synchronous DistributedDatabase

Client

Asynchronous Database Replication SNIA Optimized FlushAsynchronous Database Replication SNIA Optimized Flush Completion

Database is distributed across many nodes all actively taking part in Database references and updatesByte addressable,

direct access,NVDIMMAsynchronous Demand Parallel Database Reads

Distributed Database Reference

Asynchronous Demand Database Updates

Synchronous DistributedDatabase

Synchronous DistributedDatabase

Synchronous DistributedDatabase

ActiveServerNode

ActiveServerNode

ActiveServerNode

ActiveServerNode

Byte addressable,direct access,

NVDIMM

Byte addressable,direct access,

NVDIMM

Byte addressable,direct access,

NVDIMM

IO typically <= 256Bytes, Key/Value pair or pointer updates

Page 10: Local and Remote byte-addressable NVDIMM High-level Use Cases

USE CASE – Remote NVDIMMHA & HPC-Synchronous (1:N) (active:passive) -Database Replication w Parallel Access

ActiveServer SlaveNode

Asynchronous Database Updates - RDMA Write

ActiveServerNode

DatabaseMaster

Synchronous Database

SlaveClient

Synchronous Database Replication SNIA Optimized Flush

Synchronous Database Replication SNIA Optimized Flush Completion

Byte addressable,direct access,

NVDIMM

Byte addressable,direct access,

NVDIMM

High Availability – Database copies kept in lock step

ActiveServerSlaveNode

Synchronous Database

Slave

Byte addressable,direct access,

NVDIMM

ActiveServerSlaveNode

Synchronous Database

Slave

Byte addressable,direct access,

NVDIMM

Asynchronous Demand Parallel Database Reads - RDMA Read

High Performance Computing - Parallel Database Reads typically load-balanced across all Passive Server Nodes

Asynchronous Demand Database Master Updates