SlideShare a Scribd company logo
Towards Software-defined Persistent Memory:

Rethinking Software Support for Heterogeneous Memory Architectures
Swaminathan Sundararaman*

NishaTalagala*
Dhananjoy Das Amar Mudrankit*
Dulcardo Arteaga*
*Work done at Fusion-io/SanDisk
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 2
Memory-Storage	Convergence (Trend 1)	 	 	
L1, L2, L3 CPU Caches DRAM Hard Drives
MicrosecondsNanoseconds
CPU WAIT CYCLES
Tiered Memory Solutions
Main Memory System Storage Systems
Milliseconds
ACCESS DELAY
2 cycles 1,000,000s100s 1,000s 10,000s
chasm
2
Flash

Memory
Persistent
Memories
PM blurs the line between storage and memory
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 3
Challenges with Current Persistent Memory Solutions
Access Granularity Byte (Memory) Block (I/O) Hybrid
Memory Technology PCM
ReRAM/
Memristor
SRAM
(backed by Cap.)
NVDIMM
Capacity 1 - 100s GB 1 - 100s GB 32K – 2GB 4 – 32GB
Local Attach Point PCIe NVMe SAS DDR
Access Mechanism File System Object Store KV Store …
Memory Location Local Remote Replicated
Network Connect Infiniband Ethernet PCIe …
3
Many possible combinations!
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 4
• Rewrite applications for different deployments
▪ Not practical given the number of scenarios
• What about existing applications / deployments?
• User data is constantly growing and needs not fit in persistent
memory
What Should Application Developers Do?
4
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 5
Moving Towards a Software-defined World… (Trend 2)
Software-Defined Networking (SDN)
Enables administrators to manage network services
by abstracting higher level functionality
Abstraction of logical storage services and capabilities
from the underlying physical storage systems
Software-Defined Storage (SDS) Software-Defined Flash (SDF)
Abstract or expose flash specific details to enable software to
realize the raw bandwidth and storage capacity of Flash
Software-Defined Data Center (SDDC)
All elements of the infrastructure such as networking, storage,
CPU and security are virtualized and delivered as a service
5
Abstraction of logical storage services and capabilities from the
underlying physical persistent memory hardware and interconnect
Software-Defined Persistent Memory (SDPM)
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 6
Our SDPM Solution
• The first instance of a software defined approach to PM that can bring
the benefits of PM to a gamut of practical deployments.
• Abstract the heterogeneity in PM hardware from applications
• Provide file system API & programming libraries to access PM
• Use currently available PM hardware to show the feasibility of an
SDPM
▪ PCIe & DDR4 attached PM (both local & remote attach)
▪ Using Infiniband & 10G Ethernet for remote access
• The prototype architecture provides good performance and near
optimal acceleration for a range of local and remote PM configurations
6
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 7
• Introduction
• Design
• Evaluation
• Conclusion
Outline
7
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 8
• Support a variety of local and remote attach points with differing
performance but identical functionality and semantic guarantees.
• Enable tiering of data between PM and flash, with caching in DRAM,
to enable different cost/performance configurations
• Support hybrid (i.e., both memory and I/O) access, traditional
storage management, and persistence guarantees to combine the
best of memory and storage worlds.
• Enable a single application programming model to work across a
variety of hardware
SDPM Design Goals
8
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 9
Software Defined Persistent-Memory Architecture
Applications
Programming 

Libraries
File System
Persistent Memory

Manager
Block Device

Driver
SDPM
PCIe/

DDR
SAS/

SATA/

NVMe
PM
Infiniband/

Ethernet/

PCIe/…
Memory/

Block (I/O)
• Persistent Memory Manager
▪ Abstracts hardware and interconnect
details from the file system / applications
▪ Exports APIs to guarantee persistence
• File System
▪ Unified persistent namespace to PM &
Flash
▪ Hybrid access to PM
▪ Transparent & non-transparent
acceleration
• Programming Libraries
▪ Unified access APIs to applications
▪ OS bypass for remote access
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 10
• A flash-optimized POSIX compliant Linux file system
▪ Extended NVMFS to support PM in addition to Flash
• Provides a unified and persistent namespace to both PM and flash
▪ Hybrid (memory & I/O) access to PM and applications can switch back and
forth
▪ Transparent application acceleration (by tiering data between PM & flash)
▪ Supports “direct” mmap mode to directly map and use PM without caching in
DRAM
▪ Supports a single programming model via a combination of application specific
libraries over direct mmap and transparent access via POSIX APIs
Non-Volatile Memory File System (NVMFS)
10
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 11
Persistent Memory Manager: Hardware Abstractions
• Memory Mapping Types
▪ PM can be mapped in multiple ways depending on the hardware. We need to
ensure that each memory type is default mapped to the optimal model possible
for its physical attach (by default map it to write combining)
▪ Enable FS operations that allow the app. to control the per file memory mapping.
• Guaranteeing Persistence
▪ We need mechanism(s) to guarantee all acknowledged in-flight data (such as in
CPU caches, registers, etc.) have reached the PM device independent of its
attach point
▪ PMM provides a barrier() operation (to NVMFS and user space libraries) that
guarantees that all data is moved to the persistence domain as needed for the
attach point
11
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 12
• Introduction
• Design
• Evaluation
• Conclusion
Outline
12
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 13
Evaluation - Configuration
Configurations Attach Method Local or Remote
Config-1 DDR NVDIMM Local
Config-2 PCIe MMIO Local
Config-3 DDR NVDIMM Remote Ethernet
Config-4 PCIe MMIO Remote Ethernet
Config-5 DDR NVDIMM Remote Infiniband
Config-6 PCIe MMIO Remote Infiniband
Config-1, Config-2

(Local)
Config- 3, 4, 5, 6 

(Remote)
System Configuration HP DL380, 96GB DDR DRAM, x86_64 Linux 3.14 kernel
MySQL Version Percona 5.5
Flash Device (PCIe) Fusion-io Gen 2 ioMemory 1.2TB
Persistent Memory PCI-e: ACM (512KB)

DDR4: Viking NVDIMM (8GB)
Network Interconnect N/A Infiniband: ConnectX-3 56 Gbit IB Ethernet:
Intel 82599ES 10-Gigabit
13
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 14
Evaluation - Setup
Host A

(Source)MySQL
Programming 

Libraires
NVMFS PMM
ioMemory VSL
Replication Src
PM
SDPM
Local
Config-2
Config-1
Host B

(Sink)
Programming 

Libraires
NVMFSPMM
ioMemory VSL
Replication Sink

(daemon)
PM
SDPM
Config-4
Config-3
10Gbit Ethernet
56Gbit Infiniband
Remote
14 Config-5
Config-6
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 15
Local PCIe MMIO Vs DDR4 (config-1 Vs Config-2)
Bandwidth(MB/sec)
0
1000
2000
3000
4000
Size (bytes)
64 128 256 512 1024 2048 4096
DDR-BW MMIO-BW
Latency(nsec)
0
2000
4000
6000
8000
Size (bytes)
64 128 256 512 1024 2048 4096
DDR-Latency
MMIO-Latency
15
Smaller data sizes -> barrier operation 

Larger data sizes -> transport media
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 16
Barrier Overheads: Local (config-1) Vs Remote (config-3 & config-5)
Latency(us)
0
12500
25000
37500
50000
Synchronization Frequency (#Ops)
1 10 100 1000
Ethernet FLUSH InfiniBand RDMA Local ACMPM
16
20x
4x
# of operations between synchronizations increases, the
performance becomes closer
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL
0
15,000
30,000
45,000
60,000
REMOTE LOCAL VANILLA NO_LOG
Bin & Tr Log Tr log ONLY
MySQL: Insert Heavy Workload
17
Config-3 Config-1 on Flash Infinitely fast logging
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL
Operations/sec(in
x1000)
0
7500
15000
22500
30000
MySQL: LinkBench 10x Workload
18
No Logs Vanilla Local

(config-1)
Remote

(config-5)
31%
17%
Facebook’s social graph workload

10x: 100 million nodes

Inserts, delete, update, and lookup

30% writes (insert/update/delete)

70% reads (lookup)

Infiniband performance for small updates is sufficient
3%
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 19
• Introduction
• Design
• Evaluation
• Conclusion
Outline
19
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL
Conclusions
• PM is going to change the storage-memory landscape
• Many different forms / capacities / attach points / performance
• SDPM: a software-defined approach to using persistent memory
• Abstracts heterogeneity in memory hardware
• Applications can transparently run on local & remote persistent memory
• Selectively abstracts PM characteristics to provide optimal performance
• Transparently tier data between PM & Flash to exploit both existing & new
applications written to run on PM.
• Our evaluation shows near optimal performance for local & remote attach PM
20
CONFIDENTIAL
PARALLEL MACHINES CONFIDENTIAL 21
Thank You
Iif you are interested in trying out SDPM: Dhananjoy.Das@sandisk.com

More Related Content

What's hot

Using OPC-UA to Extract IIoT Time Series Data from PLC and SCADA Systems
Using OPC-UA to Extract IIoT Time Series Data from PLC and SCADA SystemsUsing OPC-UA to Extract IIoT Time Series Data from PLC and SCADA Systems
Using OPC-UA to Extract IIoT Time Series Data from PLC and SCADA Systems
InfluxData
 
Life as a SRE at Instana
Life as a SRE at InstanaLife as a SRE at Instana
Life as a SRE at Instana
Marcel Birkner
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
Jithin Parakka
 
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Amazon Web Services
 
Xen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time SystemXen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time System
Stefano Stabellini
 
Tips For Building Private Cloud Architecture With Virtualization
Tips For Building Private Cloud Architecture With Virtualization Tips For Building Private Cloud Architecture With Virtualization
Tips For Building Private Cloud Architecture With Virtualization Aventis Systems, Inc.
 
VMware App Volumes Troubleshooting
VMware App Volumes TroubleshootingVMware App Volumes Troubleshooting
VMware App Volumes Troubleshooting
Denis Gundarev
 
VSICM8_M02.pptx
VSICM8_M02.pptxVSICM8_M02.pptx
VSICM8_M02.pptx
MazharUddin34
 
VMware Cloud on AWS - 100819.pdf
VMware Cloud on AWS - 100819.pdfVMware Cloud on AWS - 100819.pdf
VMware Cloud on AWS - 100819.pdf
Amazon Web Services
 
Solucionando problemas de acesso sem fio do windows xp - 802.11
Solucionando problemas de acesso sem fio do windows xp - 802.11Solucionando problemas de acesso sem fio do windows xp - 802.11
Solucionando problemas de acesso sem fio do windows xp - 802.11
Chris x-MS
 
What is VDI And How Does It Work
What is VDI And How Does It WorkWhat is VDI And How Does It Work
What is VDI And How Does It Work
ACECloudHosting1
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualization
xKinAnx
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflix
greggulrich
 
IBM MQ - What's new in 9.2
IBM MQ - What's new in 9.2IBM MQ - What's new in 9.2
IBM MQ - What's new in 9.2
David Ware
 
Basic principles of backup policies by Andrea Mauro, Backup Academy
Basic principles of backup policies by Andrea Mauro, Backup AcademyBasic principles of backup policies by Andrea Mauro, Backup Academy
Basic principles of backup policies by Andrea Mauro, Backup Academy
Veeam Software
 
Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)
Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)
Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)
Wales Chen
 
Cloud security Presentation
Cloud security PresentationCloud security Presentation
Cloud security Presentation
Ajay p
 
The Rise of Secrets Management
The Rise of Secrets ManagementThe Rise of Secrets Management
The Rise of Secrets Management
Akeyless
 
Cloud deployment models
Cloud deployment modelsCloud deployment models
Cloud deployment models
Ashok Kumar
 
An Introduction to VMware NSX
An Introduction to VMware NSXAn Introduction to VMware NSX
An Introduction to VMware NSX
Scott Lowe
 

What's hot (20)

Using OPC-UA to Extract IIoT Time Series Data from PLC and SCADA Systems
Using OPC-UA to Extract IIoT Time Series Data from PLC and SCADA SystemsUsing OPC-UA to Extract IIoT Time Series Data from PLC and SCADA Systems
Using OPC-UA to Extract IIoT Time Series Data from PLC and SCADA Systems
 
Life as a SRE at Instana
Life as a SRE at InstanaLife as a SRE at Instana
Life as a SRE at Instana
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
Dissecting Media Asset Management Architecture and Media Archive TCO (MAE301)...
 
Xen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time SystemXen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time System
 
Tips For Building Private Cloud Architecture With Virtualization
Tips For Building Private Cloud Architecture With Virtualization Tips For Building Private Cloud Architecture With Virtualization
Tips For Building Private Cloud Architecture With Virtualization
 
VMware App Volumes Troubleshooting
VMware App Volumes TroubleshootingVMware App Volumes Troubleshooting
VMware App Volumes Troubleshooting
 
VSICM8_M02.pptx
VSICM8_M02.pptxVSICM8_M02.pptx
VSICM8_M02.pptx
 
VMware Cloud on AWS - 100819.pdf
VMware Cloud on AWS - 100819.pdfVMware Cloud on AWS - 100819.pdf
VMware Cloud on AWS - 100819.pdf
 
Solucionando problemas de acesso sem fio do windows xp - 802.11
Solucionando problemas de acesso sem fio do windows xp - 802.11Solucionando problemas de acesso sem fio do windows xp - 802.11
Solucionando problemas de acesso sem fio do windows xp - 802.11
 
What is VDI And How Does It Work
What is VDI And How Does It WorkWhat is VDI And How Does It Work
What is VDI And How Does It Work
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualization
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflix
 
IBM MQ - What's new in 9.2
IBM MQ - What's new in 9.2IBM MQ - What's new in 9.2
IBM MQ - What's new in 9.2
 
Basic principles of backup policies by Andrea Mauro, Backup Academy
Basic principles of backup policies by Andrea Mauro, Backup AcademyBasic principles of backup policies by Andrea Mauro, Backup Academy
Basic principles of backup policies by Andrea Mauro, Backup Academy
 
Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)
Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)
Veeam 整合地端與 AWS 雲端的資料保護 (2021 版本)
 
Cloud security Presentation
Cloud security PresentationCloud security Presentation
Cloud security Presentation
 
The Rise of Secrets Management
The Rise of Secrets ManagementThe Rise of Secrets Management
The Rise of Secrets Management
 
Cloud deployment models
Cloud deployment modelsCloud deployment models
Cloud deployment models
 
An Introduction to VMware NSX
An Introduction to VMware NSXAn Introduction to VMware NSX
An Introduction to VMware NSX
 

Similar to Towards Software Defined Persistent Memory

C++ Programming and the Persistent Memory Developers Kit
C++ Programming and the Persistent Memory Developers KitC++ Programming and the Persistent Memory Developers Kit
C++ Programming and the Persistent Memory Developers Kit
Intel® Software
 
@IBM Power roadmap 8
@IBM Power roadmap 8 @IBM Power roadmap 8
@IBM Power roadmap 8
Diego Alberto Tamayo
 
Introduction to NVMe Over Fabrics-V3R
Introduction to NVMe Over Fabrics-V3RIntroduction to NVMe Over Fabrics-V3R
Introduction to NVMe Over Fabrics-V3RSimon Huang
 
SanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraSanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and Cassandra
DataStax Academy
 
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex systemIbm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex systemIBM Switzerland
 
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
StampedeCon
 
Presentation sparc m6 m5-32 server technical overview
Presentation   sparc m6 m5-32 server technical overviewPresentation   sparc m6 m5-32 server technical overview
Presentation sparc m6 m5-32 server technical overview
solarisyougood
 
From Rack scale computers to Warehouse scale computers
From Rack scale computers to Warehouse scale computersFrom Rack scale computers to Warehouse scale computers
From Rack scale computers to Warehouse scale computers
Ryousei Takano
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
MayaData Inc
 
Cisco connect montreal 2018 compute v final
Cisco connect montreal 2018   compute v finalCisco connect montreal 2018   compute v final
Cisco connect montreal 2018 compute v final
Cisco Canada
 
Heterogeneous Computing : The Future of Systems
Heterogeneous Computing : The Future of SystemsHeterogeneous Computing : The Future of Systems
Heterogeneous Computing : The Future of Systems
Anand Haridass
 
Red Hat Storage Day Boston - Supermicro Super Storage
Red Hat Storage Day Boston - Supermicro Super StorageRed Hat Storage Day Boston - Supermicro Super Storage
Red Hat Storage Day Boston - Supermicro Super Storage
Red_Hat_Storage
 
Introduction to HPC & Supercomputing in AI
Introduction to HPC & Supercomputing in AIIntroduction to HPC & Supercomputing in AI
Introduction to HPC & Supercomputing in AI
Tyrone Systems
 
IBM HPC Transformation with AI
IBM HPC Transformation with AI IBM HPC Transformation with AI
IBM HPC Transformation with AI
Ganesan Narayanasamy
 
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIOHigh Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
Rebekah Rodriguez
 
Red hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical HighlightsRed hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Filipe Miranda
 
Multiprocessor Architecture for Image Processing
Multiprocessor Architecture for Image ProcessingMultiprocessor Architecture for Image Processing
Multiprocessor Architecture for Image Processing
mayank.grd
 
IME - Unlocking the Potential of NVMe
IME - Unlocking the Potential of NVMeIME - Unlocking the Potential of NVMe
IME - Unlocking the Potential of NVMe
inside-BigData.com
 
AMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor ArchitectureAMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor Architecture
AMD
 
S104878 nvme-revolution-jburg-v1809b
S104878 nvme-revolution-jburg-v1809bS104878 nvme-revolution-jburg-v1809b
S104878 nvme-revolution-jburg-v1809b
Tony Pearson
 

Similar to Towards Software Defined Persistent Memory (20)

C++ Programming and the Persistent Memory Developers Kit
C++ Programming and the Persistent Memory Developers KitC++ Programming and the Persistent Memory Developers Kit
C++ Programming and the Persistent Memory Developers Kit
 
@IBM Power roadmap 8
@IBM Power roadmap 8 @IBM Power roadmap 8
@IBM Power roadmap 8
 
Introduction to NVMe Over Fabrics-V3R
Introduction to NVMe Over Fabrics-V3RIntroduction to NVMe Over Fabrics-V3R
Introduction to NVMe Over Fabrics-V3R
 
SanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraSanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and Cassandra
 
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex systemIbm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
Ibm symp14 referent_marcus alexander mac dougall_ibm x6 und flex system
 
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
 
Presentation sparc m6 m5-32 server technical overview
Presentation   sparc m6 m5-32 server technical overviewPresentation   sparc m6 m5-32 server technical overview
Presentation sparc m6 m5-32 server technical overview
 
From Rack scale computers to Warehouse scale computers
From Rack scale computers to Warehouse scale computersFrom Rack scale computers to Warehouse scale computers
From Rack scale computers to Warehouse scale computers
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
Cisco connect montreal 2018 compute v final
Cisco connect montreal 2018   compute v finalCisco connect montreal 2018   compute v final
Cisco connect montreal 2018 compute v final
 
Heterogeneous Computing : The Future of Systems
Heterogeneous Computing : The Future of SystemsHeterogeneous Computing : The Future of Systems
Heterogeneous Computing : The Future of Systems
 
Red Hat Storage Day Boston - Supermicro Super Storage
Red Hat Storage Day Boston - Supermicro Super StorageRed Hat Storage Day Boston - Supermicro Super Storage
Red Hat Storage Day Boston - Supermicro Super Storage
 
Introduction to HPC & Supercomputing in AI
Introduction to HPC & Supercomputing in AIIntroduction to HPC & Supercomputing in AI
Introduction to HPC & Supercomputing in AI
 
IBM HPC Transformation with AI
IBM HPC Transformation with AI IBM HPC Transformation with AI
IBM HPC Transformation with AI
 
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIOHigh Performance Object Storage in 30 Minutes with Supermicro and MinIO
High Performance Object Storage in 30 Minutes with Supermicro and MinIO
 
Red hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical HighlightsRed hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical Highlights
 
Multiprocessor Architecture for Image Processing
Multiprocessor Architecture for Image ProcessingMultiprocessor Architecture for Image Processing
Multiprocessor Architecture for Image Processing
 
IME - Unlocking the Potential of NVMe
IME - Unlocking the Potential of NVMeIME - Unlocking the Potential of NVMe
IME - Unlocking the Potential of NVMe
 
AMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor ArchitectureAMD EPYC™ Microprocessor Architecture
AMD EPYC™ Microprocessor Architecture
 
S104878 nvme-revolution-jburg-v1809b
S104878 nvme-revolution-jburg-v1809bS104878 nvme-revolution-jburg-v1809b
S104878 nvme-revolution-jburg-v1809b
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Towards Software Defined Persistent Memory

  • 1. Towards Software-defined Persistent Memory: Rethinking Software Support for Heterogeneous Memory Architectures Swaminathan Sundararaman* NishaTalagala* Dhananjoy Das Amar Mudrankit* Dulcardo Arteaga* *Work done at Fusion-io/SanDisk
  • 2. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 2 Memory-Storage Convergence (Trend 1) L1, L2, L3 CPU Caches DRAM Hard Drives MicrosecondsNanoseconds CPU WAIT CYCLES Tiered Memory Solutions Main Memory System Storage Systems Milliseconds ACCESS DELAY 2 cycles 1,000,000s100s 1,000s 10,000s chasm 2 Flash
 Memory Persistent Memories PM blurs the line between storage and memory
  • 3. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 3 Challenges with Current Persistent Memory Solutions Access Granularity Byte (Memory) Block (I/O) Hybrid Memory Technology PCM ReRAM/ Memristor SRAM (backed by Cap.) NVDIMM Capacity 1 - 100s GB 1 - 100s GB 32K – 2GB 4 – 32GB Local Attach Point PCIe NVMe SAS DDR Access Mechanism File System Object Store KV Store … Memory Location Local Remote Replicated Network Connect Infiniband Ethernet PCIe … 3 Many possible combinations!
  • 4. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 4 • Rewrite applications for different deployments ▪ Not practical given the number of scenarios • What about existing applications / deployments? • User data is constantly growing and needs not fit in persistent memory What Should Application Developers Do? 4
  • 5. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 5 Moving Towards a Software-defined World… (Trend 2) Software-Defined Networking (SDN) Enables administrators to manage network services by abstracting higher level functionality Abstraction of logical storage services and capabilities from the underlying physical storage systems Software-Defined Storage (SDS) Software-Defined Flash (SDF) Abstract or expose flash specific details to enable software to realize the raw bandwidth and storage capacity of Flash Software-Defined Data Center (SDDC) All elements of the infrastructure such as networking, storage, CPU and security are virtualized and delivered as a service 5 Abstraction of logical storage services and capabilities from the underlying physical persistent memory hardware and interconnect Software-Defined Persistent Memory (SDPM)
  • 6. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 6 Our SDPM Solution • The first instance of a software defined approach to PM that can bring the benefits of PM to a gamut of practical deployments. • Abstract the heterogeneity in PM hardware from applications • Provide file system API & programming libraries to access PM • Use currently available PM hardware to show the feasibility of an SDPM ▪ PCIe & DDR4 attached PM (both local & remote attach) ▪ Using Infiniband & 10G Ethernet for remote access • The prototype architecture provides good performance and near optimal acceleration for a range of local and remote PM configurations 6
  • 7. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 7 • Introduction • Design • Evaluation • Conclusion Outline 7
  • 8. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 8 • Support a variety of local and remote attach points with differing performance but identical functionality and semantic guarantees. • Enable tiering of data between PM and flash, with caching in DRAM, to enable different cost/performance configurations • Support hybrid (i.e., both memory and I/O) access, traditional storage management, and persistence guarantees to combine the best of memory and storage worlds. • Enable a single application programming model to work across a variety of hardware SDPM Design Goals 8
  • 9. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 9 Software Defined Persistent-Memory Architecture Applications Programming Libraries File System Persistent Memory Manager Block Device Driver SDPM PCIe/ DDR SAS/ SATA/ NVMe PM Infiniband/ Ethernet/ PCIe/… Memory/ Block (I/O) • Persistent Memory Manager ▪ Abstracts hardware and interconnect details from the file system / applications ▪ Exports APIs to guarantee persistence • File System ▪ Unified persistent namespace to PM & Flash ▪ Hybrid access to PM ▪ Transparent & non-transparent acceleration • Programming Libraries ▪ Unified access APIs to applications ▪ OS bypass for remote access
  • 10. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 10 • A flash-optimized POSIX compliant Linux file system ▪ Extended NVMFS to support PM in addition to Flash • Provides a unified and persistent namespace to both PM and flash ▪ Hybrid (memory & I/O) access to PM and applications can switch back and forth ▪ Transparent application acceleration (by tiering data between PM & flash) ▪ Supports “direct” mmap mode to directly map and use PM without caching in DRAM ▪ Supports a single programming model via a combination of application specific libraries over direct mmap and transparent access via POSIX APIs Non-Volatile Memory File System (NVMFS) 10
  • 11. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 11 Persistent Memory Manager: Hardware Abstractions • Memory Mapping Types ▪ PM can be mapped in multiple ways depending on the hardware. We need to ensure that each memory type is default mapped to the optimal model possible for its physical attach (by default map it to write combining) ▪ Enable FS operations that allow the app. to control the per file memory mapping. • Guaranteeing Persistence ▪ We need mechanism(s) to guarantee all acknowledged in-flight data (such as in CPU caches, registers, etc.) have reached the PM device independent of its attach point ▪ PMM provides a barrier() operation (to NVMFS and user space libraries) that guarantees that all data is moved to the persistence domain as needed for the attach point 11
  • 12. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 12 • Introduction • Design • Evaluation • Conclusion Outline 12
  • 13. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 13 Evaluation - Configuration Configurations Attach Method Local or Remote Config-1 DDR NVDIMM Local Config-2 PCIe MMIO Local Config-3 DDR NVDIMM Remote Ethernet Config-4 PCIe MMIO Remote Ethernet Config-5 DDR NVDIMM Remote Infiniband Config-6 PCIe MMIO Remote Infiniband Config-1, Config-2 (Local) Config- 3, 4, 5, 6 (Remote) System Configuration HP DL380, 96GB DDR DRAM, x86_64 Linux 3.14 kernel MySQL Version Percona 5.5 Flash Device (PCIe) Fusion-io Gen 2 ioMemory 1.2TB Persistent Memory PCI-e: ACM (512KB) DDR4: Viking NVDIMM (8GB) Network Interconnect N/A Infiniband: ConnectX-3 56 Gbit IB Ethernet: Intel 82599ES 10-Gigabit 13
  • 14. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 14 Evaluation - Setup Host A (Source)MySQL Programming Libraires NVMFS PMM ioMemory VSL Replication Src PM SDPM Local Config-2 Config-1 Host B (Sink) Programming Libraires NVMFSPMM ioMemory VSL Replication Sink (daemon) PM SDPM Config-4 Config-3 10Gbit Ethernet 56Gbit Infiniband Remote 14 Config-5 Config-6
  • 15. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 15 Local PCIe MMIO Vs DDR4 (config-1 Vs Config-2) Bandwidth(MB/sec) 0 1000 2000 3000 4000 Size (bytes) 64 128 256 512 1024 2048 4096 DDR-BW MMIO-BW Latency(nsec) 0 2000 4000 6000 8000 Size (bytes) 64 128 256 512 1024 2048 4096 DDR-Latency MMIO-Latency 15 Smaller data sizes -> barrier operation Larger data sizes -> transport media
  • 16. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 16 Barrier Overheads: Local (config-1) Vs Remote (config-3 & config-5) Latency(us) 0 12500 25000 37500 50000 Synchronization Frequency (#Ops) 1 10 100 1000 Ethernet FLUSH InfiniBand RDMA Local ACMPM 16 20x 4x # of operations between synchronizations increases, the performance becomes closer
  • 17. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 0 15,000 30,000 45,000 60,000 REMOTE LOCAL VANILLA NO_LOG Bin & Tr Log Tr log ONLY MySQL: Insert Heavy Workload 17 Config-3 Config-1 on Flash Infinitely fast logging
  • 18. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL Operations/sec(in x1000) 0 7500 15000 22500 30000 MySQL: LinkBench 10x Workload 18 No Logs Vanilla Local (config-1) Remote (config-5) 31% 17% Facebook’s social graph workload 10x: 100 million nodes Inserts, delete, update, and lookup 30% writes (insert/update/delete) 70% reads (lookup) Infiniband performance for small updates is sufficient 3%
  • 19. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 19 • Introduction • Design • Evaluation • Conclusion Outline 19
  • 20. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL Conclusions • PM is going to change the storage-memory landscape • Many different forms / capacities / attach points / performance • SDPM: a software-defined approach to using persistent memory • Abstracts heterogeneity in memory hardware • Applications can transparently run on local & remote persistent memory • Selectively abstracts PM characteristics to provide optimal performance • Transparently tier data between PM & Flash to exploit both existing & new applications written to run on PM. • Our evaluation shows near optimal performance for local & remote attach PM 20
  • 21. CONFIDENTIAL PARALLEL MACHINES CONFIDENTIAL 21 Thank You Iif you are interested in trying out SDPM: Dhananjoy.Das@sandisk.com