SlideShare a Scribd company logo
Zvika Guz and Vijay Balakrishnan
Memory Solutions Lab, Samsung Semiconductor Inc
Redis on NVMe SSD
2
Redis-on-Flash
 Closed-source (RLEC Flesh), 100% compatible with the open-source Redis
 Uses Flash as RAM extension to increase effective node capacity
 Tiering memory into “fast” and “slow”:
 RAM saves keys and hot values
 Flash saves cold values
 Dynamic configuration of RAM/Flash usage
 Uses RockDB as the storage engine to optimize
access to block storage
 Multi-threaded and asynchronous Redis
used to access Flash
3
Why Redis-on-Flash?
 Optimize price-to-performance for a given workload
 DRAM is more performant than flash, but $/GB is higher
 Limited DRAM capacity per server
 Tiering dramatically reduces $/GB, while preserving good performance ($/ops)
 Enables orders-of-magnitude more capacity per server
 RoF is particularly suitable for large datasets with skewed access
distribution
4
Workload
 Models real-world Redis Labs customers
 Benchmark: memtier_benchmark (open source)
 GET/SET requests, varying:
1. Object size
2. Write-to-read ratio
3. Redis RAM hit ratio
 Performance target:
 Maximize operation-per-second on a single server, while maintaining sub-
millisecond latency
 Compared 3 system configuration
1. All-RAM: In-memory RLEC
2. Redis-on-NVMe: 4xSamsung PM1725 NVMe SSDs
3. Redis-on-SATA: 16xSamsung 850 Pro SATA SSDs
https://github.com/RedisLabs/memtier_benchmark
5
 Consistent sub-millisecond latencies favor NVMe
 NVMe SSD are designed for consistent high performance @ ultra-low
latency
 Modest incremental cost over SATA, with much better performance
 Samsung PM1725 is the fastest NVMe in the market
Redis-on-NVMe
Samsung PM1725 Specification*
Form Factor 2.5”
Host Interface PCIe Gen3 x4
Capacities 800GB, 1.6TB, 3.2TB
Sequential Read 3300 MB/s
Sequential Write 1900 MB/s
Random Read 840KIOPS
Random Write 130KIOPS
Read Latency 95 usec
Write Latency 60 usec
>6X over SATA
>8.5X over SATA
*PM1725 HHHL version (PCIe Gen3 x8) provides ~double the performance and capacity, but we did not use it here
7
System Configuration
 Single client, single server
 Industry-standard components, all available today
Server Dell PowerEdge R730xd, dual-socket
Processor 2 x Xeon E5-2690 v3 @ 2.6GHz
12 cores, 24 logical processor per CPU
24 cores, 48 logical processor total
Memory 256GB ECC DDR4
Network 10GbE
Storage 4 x Samsung
PM1725 NVMe
16 x Samsung
850PRO SATA SSD
Memtier_benchmark 1.2.6
RLEC version 4.3.0
Operating System Ubuntu 14.04
Linux Kernel 3.19.8
8
Use case #1: Small Objects
 100B objects, write-to-read ratio: 1:1
Perf= 750 KOPS
Latency = 0.75 msec
Disk BW=1.7 GB/s
Perf= 1.8 MOPS
Latency=0.9 msec
Disk BW=602 MB/s
50% RAM-to-Flash ratio 85% RAM-to-Flash ratio
 100% of requests served with <1msec latency
9
Disk Bandwidth Spike
 Spikes in disk bandwidth align with RocksDB compaction phase
 Can reach 2-3x the average BW
 Drives must be able to sustain these spikes, otherwise tail latency suffers
Object Size=100B, write-to-read ratio=1:1, RAM-to-Flash hit ratio=85%
Disk BW=602 MB/s
10
Use case #2: Large Objects
 1KB objects, write-to-read ratio: 1:4
 100% of requests served with <1msec latency
Perf= 270 KOPS
Latency = 0.75 msec
Disk BW=4.3 GB/s
Perf= 816 KOPS
Disk BW=3.9 GB/s
50% RAM-to-Flash ratio 85% RAM-to-Flash ratio
latency= 0.78 msec
11
Redis-on-Flash Performance
 80/20 read-to-write ratio
 With sufficient locality, RoF performance gets close to All-RAM
 NVMe speedup over SATA is 2x-2.5x (using ¼ of the drives)
7%
14% 18%
23%
26%
33%
12%
23%
36%
47%
60%
83%
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%
0
250,000
500,000
750,000
1,000,000
1,250,000
1,500,000
1,750,000
2,000,000
2,250,000
2,500,000
20% 30% 40% 50% 60% 70% 80% 90% 100%
OperationsPerSecond
RAM-to-Flash Hit Ratio
100B Objects
Series1 Series2
3%
8%
13%
19%
26%
35%
8%
15%
25%
35%
47%
74%
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00
0
200,000
400,000
600,000
800,000
1,000,000
1,200,000
1,400,000
20% 30% 40% 50% 60% 70% 80% 90% 100%
OperationsPerSecond
RAM-to-Flash Hit Ratio
1KB Objects
Series1 Series2
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%
0
250,000
500,000
750,000
1,000,000
1,250,000
1,500,000
1,750,000
2,000,000
2,250,000
2,500,000
20% 30% 40% 50% 60% 70% 80% 90% 100%
OperationsPerSecond
RAM-to-Flash Hit Ratio
100B Objects
Series1 Series2
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00
0
200,000
400,000
600,000
800,000
1,000,000
1,200,000
1,400,000
20% 30% 40% 50% 60% 70% 80% 90% 100%
OperationsPerSecond
RAM-to-Flash Hit Ratio
1KB Objects
Series1 Series2
12
The Problem with SATA
 Need 4X the drives to get to ~half the performance of NVMe
 Performance is much more noisy:
 99 latency percentile > 1msec
 Very difficult to get rid of these latency spikes, exists in almost all our SATA runs
Perf= 132 KOPS
Latency = 0.65 msec
Object Size=1000B, write-to-read ratio=1:4, RAM-to-Flash hit ratio =50%
13
DRAM or Flash?
 Optimize performance/$ for each use-case
 Affected by the dataset size, access pattern, and access locality
Redis in Memory
Redis-on-NVMe
Redis-on-SATA
$/GB DRAM:NVMe:SATA = 15:2.5:1
14
Summary
 Redis-on-Flash enables:
 Order-of-magnitude more capacity per node
 High performance at significant lower cost
 Samsung PM1725 NVME:
 Enables breakthrough performance @ sub-millisecond latency
 Consistent performance reduces tail latency
 Industry standard components, available today
Thank You!
zvika.guz@samsung.com
15
Backup

More Related Content

PDF
Hadoop Summit 2015: Performance Optimization at Scale, Lessons Learned at Twi...
PPTX
Why oracle data guard new features in oracle 18c, 19c
PDF
Hyperspace for Delta Lake
PDF
EDB Postgres DBA Best Practices
 
PDF
IBM PowerVM Best Practices
PPTX
Welcome to the Flink Community!
PPTX
이것이 레디스다.
PDF
Real Time Test Data with Grafana
Hadoop Summit 2015: Performance Optimization at Scale, Lessons Learned at Twi...
Why oracle data guard new features in oracle 18c, 19c
Hyperspace for Delta Lake
EDB Postgres DBA Best Practices
 
IBM PowerVM Best Practices
Welcome to the Flink Community!
이것이 레디스다.
Real Time Test Data with Grafana

What's hot (20)

PDF
"Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2...
PDF
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
PDF
Lyft data Platform - 2019 slides
PDF
Learn Oracle WebLogic Server 12c Administration
PDF
Introduction to Apache Airflow
PDF
The secret web performance metric no one is talking about
PPT
Oracle Architecture
PPTX
Joomla and cms
PDF
Managing user's data with Spring Session
PDF
[1A7]Ansible의이해와활용
PPT
Learn flask in 90mins
PDF
Building RESTful applications using Spring MVC
PPTX
MongoDB Internals
PDF
Building Better Data Pipelines using Apache Airflow
PDF
Sql server 2019 new features
PDF
An introduction to Semantic Web and Linked Data
PPTX
Grafana Loki (Monitoring Tool) Presentation
PDF
mysql 8.0 architecture and enhancement
DOCX
ODI 11g - Multiple Flat Files to Oracle DB Table by taking File Name dynamica...
PPTX
Druid deep dive
"Changing Role of the DBA" Skills to Have, to Obtain & to Nurture - Updated 2...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Lyft data Platform - 2019 slides
Learn Oracle WebLogic Server 12c Administration
Introduction to Apache Airflow
The secret web performance metric no one is talking about
Oracle Architecture
Joomla and cms
Managing user's data with Spring Session
[1A7]Ansible의이해와활용
Learn flask in 90mins
Building RESTful applications using Spring MVC
MongoDB Internals
Building Better Data Pipelines using Apache Airflow
Sql server 2019 new features
An introduction to Semantic Web and Linked Data
Grafana Loki (Monitoring Tool) Presentation
mysql 8.0 architecture and enhancement
ODI 11g - Multiple Flat Files to Oracle DB Table by taking File Name dynamica...
Druid deep dive
Ad

Viewers also liked (20)

PDF
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
PPTX
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, Inuit
PPTX
Twitter Fatcache
PDF
CaSSanDra: An SSD Boosted Key-Value Store
PPTX
Quick Faq - Erasure Coding
PDF
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
PDF
LevelDB 간단한 소개
PPTX
Webinar: How NVMe Will Change Flash Storage
PDF
Build a Geospatial App with Redis 3.2- Andrew Bass, Sean Yesmunt, Sergio Prad...
PPTX
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)
PDF
Getting Started with Redis
PDF
Use Redis in Odd and Unusual Ways
PPTX
Redis Developers Day 2015 - Secondary Indexes and State of Lua
PDF
UV logic using redis bitmap
PDF
RespClient - Minimal Redis Client for PowerShell
PDF
HIgh Performance Redis- Tague Griffith, GoPro
PPTX
Using Redis as Distributed Cache for ASP.NET apps - Peter Kellner, 73rd Stre...
PDF
Troubleshooting Redis- DaeMyung Kang, Kakao
PPTX
RedisConf 2016 talk - The Redis API: Simple, Composable, Powerful
PDF
Scalable Streaming Data Pipelines with Redis
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
Real Time Recommendations Using WebSockets and Redis - Ninad Divadkar, Inuit
Twitter Fatcache
CaSSanDra: An SSD Boosted Key-Value Store
Quick Faq - Erasure Coding
노태상 - 리눅스 커널 개요 및 이슈 아이엠 (2010Y01M30D)
LevelDB 간단한 소개
Webinar: How NVMe Will Change Flash Storage
Build a Geospatial App with Redis 3.2- Andrew Bass, Sean Yesmunt, Sergio Prad...
Get more than a cache back! The Microsoft Azure Redis Cache (NDC Oslo)
Getting Started with Redis
Use Redis in Odd and Unusual Ways
Redis Developers Day 2015 - Secondary Indexes and State of Lua
UV logic using redis bitmap
RespClient - Minimal Redis Client for PowerShell
HIgh Performance Redis- Tague Griffith, GoPro
Using Redis as Distributed Cache for ASP.NET apps - Peter Kellner, 73rd Stre...
Troubleshooting Redis- DaeMyung Kang, Kakao
RedisConf 2016 talk - The Redis API: Simple, Composable, Powerful
Scalable Streaming Data Pipelines with Redis
Ad

Similar to Redis on NVMe SSD - Zvika Guz, Samsung (20)

PPTX
Day 2 General Session Presentations RedisConf
PDF
PostgreSQL na EXT4, XFS, BTRFS a ZFS / FOSDEM PgDay 2016
PPTX
Disaggregating Ceph using NVMeoF
PPTX
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
PDF
Disaggregating Ceph using NVMeoF
PPTX
Ceph Day San Jose - Red Hat Storage Acceleration Utlizing Flash Technology
PDF
Accelerating HBase with NVMe and Bucket Cache
PPTX
2015 deploying flash in the data center
PDF
NVMe over Fabric
PPTX
Deploying ssd in the data center 2014
PPTX
2015 deploying flash in the data center
PPTX
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
PPTX
Accelerating hbase with nvme and bucket cache
PDF
RedisConf17 - Redis Enterprise on IBM Power Systems
PPTX
Webinar: What’s Your Path to NVMe?
PPTX
RedisConf17 - Building Large High Performance Redis Databases with Redis Ente...
PPTX
RedisConf18 - Re-architecting Redis-on-Flash with Intel 3DX Point™ Memory
PDF
PostgreSQL on EXT4, XFS, BTRFS and ZFS
PDF
Kinetic basho public
PPTX
9_Storage_Devices.pptx
Day 2 General Session Presentations RedisConf
PostgreSQL na EXT4, XFS, BTRFS a ZFS / FOSDEM PgDay 2016
Disaggregating Ceph using NVMeoF
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Disaggregating Ceph using NVMeoF
Ceph Day San Jose - Red Hat Storage Acceleration Utlizing Flash Technology
Accelerating HBase with NVMe and Bucket Cache
2015 deploying flash in the data center
NVMe over Fabric
Deploying ssd in the data center 2014
2015 deploying flash in the data center
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Accelerating hbase with nvme and bucket cache
RedisConf17 - Redis Enterprise on IBM Power Systems
Webinar: What’s Your Path to NVMe?
RedisConf17 - Building Large High Performance Redis Databases with Redis Ente...
RedisConf18 - Re-architecting Redis-on-Flash with Intel 3DX Point™ Memory
PostgreSQL on EXT4, XFS, BTRFS and ZFS
Kinetic basho public
9_Storage_Devices.pptx

More from Redis Labs (20)

PPTX
Redis Day Bangalore 2020 - Session state caching with redis
PPTX
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
PPTX
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
PPTX
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
PPTX
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
PPTX
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
PPTX
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
PPTX
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
PPTX
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
PPTX
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
PPTX
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
PPTX
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
PPTX
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
PPTX
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
PPTX
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
PPTX
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
PPTX
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
PPTX
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
PDF
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
PPTX
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...
Redis Day Bangalore 2020 - Session state caching with redis
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
Rust and Redis - Solving Problems for Kubernetes by Ravi Jagannathan of VMwar...
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Leveraging Redis for System Monitoring by Adam McCormick of SBG - Redis Day S...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
Highly Available Persistent Session Management Service by Mohamed Elmergawi o...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntr...

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
A Presentation on Artificial Intelligence
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Unlocking AI with Model Context Protocol (MCP)
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Understanding_Digital_Forensics_Presentation.pptx
Chapter 3 Spatial Domain Image Processing.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A Presentation on Artificial Intelligence

Redis on NVMe SSD - Zvika Guz, Samsung

  • 1. Zvika Guz and Vijay Balakrishnan Memory Solutions Lab, Samsung Semiconductor Inc Redis on NVMe SSD
  • 2. 2 Redis-on-Flash  Closed-source (RLEC Flesh), 100% compatible with the open-source Redis  Uses Flash as RAM extension to increase effective node capacity  Tiering memory into “fast” and “slow”:  RAM saves keys and hot values  Flash saves cold values  Dynamic configuration of RAM/Flash usage  Uses RockDB as the storage engine to optimize access to block storage  Multi-threaded and asynchronous Redis used to access Flash
  • 3. 3 Why Redis-on-Flash?  Optimize price-to-performance for a given workload  DRAM is more performant than flash, but $/GB is higher  Limited DRAM capacity per server  Tiering dramatically reduces $/GB, while preserving good performance ($/ops)  Enables orders-of-magnitude more capacity per server  RoF is particularly suitable for large datasets with skewed access distribution
  • 4. 4 Workload  Models real-world Redis Labs customers  Benchmark: memtier_benchmark (open source)  GET/SET requests, varying: 1. Object size 2. Write-to-read ratio 3. Redis RAM hit ratio  Performance target:  Maximize operation-per-second on a single server, while maintaining sub- millisecond latency  Compared 3 system configuration 1. All-RAM: In-memory RLEC 2. Redis-on-NVMe: 4xSamsung PM1725 NVMe SSDs 3. Redis-on-SATA: 16xSamsung 850 Pro SATA SSDs https://github.com/RedisLabs/memtier_benchmark
  • 5. 5  Consistent sub-millisecond latencies favor NVMe  NVMe SSD are designed for consistent high performance @ ultra-low latency  Modest incremental cost over SATA, with much better performance  Samsung PM1725 is the fastest NVMe in the market Redis-on-NVMe Samsung PM1725 Specification* Form Factor 2.5” Host Interface PCIe Gen3 x4 Capacities 800GB, 1.6TB, 3.2TB Sequential Read 3300 MB/s Sequential Write 1900 MB/s Random Read 840KIOPS Random Write 130KIOPS Read Latency 95 usec Write Latency 60 usec >6X over SATA >8.5X over SATA *PM1725 HHHL version (PCIe Gen3 x8) provides ~double the performance and capacity, but we did not use it here
  • 6. 7 System Configuration  Single client, single server  Industry-standard components, all available today Server Dell PowerEdge R730xd, dual-socket Processor 2 x Xeon E5-2690 v3 @ 2.6GHz 12 cores, 24 logical processor per CPU 24 cores, 48 logical processor total Memory 256GB ECC DDR4 Network 10GbE Storage 4 x Samsung PM1725 NVMe 16 x Samsung 850PRO SATA SSD Memtier_benchmark 1.2.6 RLEC version 4.3.0 Operating System Ubuntu 14.04 Linux Kernel 3.19.8
  • 7. 8 Use case #1: Small Objects  100B objects, write-to-read ratio: 1:1 Perf= 750 KOPS Latency = 0.75 msec Disk BW=1.7 GB/s Perf= 1.8 MOPS Latency=0.9 msec Disk BW=602 MB/s 50% RAM-to-Flash ratio 85% RAM-to-Flash ratio  100% of requests served with <1msec latency
  • 8. 9 Disk Bandwidth Spike  Spikes in disk bandwidth align with RocksDB compaction phase  Can reach 2-3x the average BW  Drives must be able to sustain these spikes, otherwise tail latency suffers Object Size=100B, write-to-read ratio=1:1, RAM-to-Flash hit ratio=85% Disk BW=602 MB/s
  • 9. 10 Use case #2: Large Objects  1KB objects, write-to-read ratio: 1:4  100% of requests served with <1msec latency Perf= 270 KOPS Latency = 0.75 msec Disk BW=4.3 GB/s Perf= 816 KOPS Disk BW=3.9 GB/s 50% RAM-to-Flash ratio 85% RAM-to-Flash ratio latency= 0.78 msec
  • 10. 11 Redis-on-Flash Performance  80/20 read-to-write ratio  With sufficient locality, RoF performance gets close to All-RAM  NVMe speedup over SATA is 2x-2.5x (using ¼ of the drives) 7% 14% 18% 23% 26% 33% 12% 23% 36% 47% 60% 83% 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% 0 250,000 500,000 750,000 1,000,000 1,250,000 1,500,000 1,750,000 2,000,000 2,250,000 2,500,000 20% 30% 40% 50% 60% 70% 80% 90% 100% OperationsPerSecond RAM-to-Flash Hit Ratio 100B Objects Series1 Series2 3% 8% 13% 19% 26% 35% 8% 15% 25% 35% 47% 74% 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00 0 200,000 400,000 600,000 800,000 1,000,000 1,200,000 1,400,000 20% 30% 40% 50% 60% 70% 80% 90% 100% OperationsPerSecond RAM-to-Flash Hit Ratio 1KB Objects Series1 Series2 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00% 0 250,000 500,000 750,000 1,000,000 1,250,000 1,500,000 1,750,000 2,000,000 2,250,000 2,500,000 20% 30% 40% 50% 60% 70% 80% 90% 100% OperationsPerSecond RAM-to-Flash Hit Ratio 100B Objects Series1 Series2 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 90.00% 100.00 0 200,000 400,000 600,000 800,000 1,000,000 1,200,000 1,400,000 20% 30% 40% 50% 60% 70% 80% 90% 100% OperationsPerSecond RAM-to-Flash Hit Ratio 1KB Objects Series1 Series2
  • 11. 12 The Problem with SATA  Need 4X the drives to get to ~half the performance of NVMe  Performance is much more noisy:  99 latency percentile > 1msec  Very difficult to get rid of these latency spikes, exists in almost all our SATA runs Perf= 132 KOPS Latency = 0.65 msec Object Size=1000B, write-to-read ratio=1:4, RAM-to-Flash hit ratio =50%
  • 12. 13 DRAM or Flash?  Optimize performance/$ for each use-case  Affected by the dataset size, access pattern, and access locality Redis in Memory Redis-on-NVMe Redis-on-SATA $/GB DRAM:NVMe:SATA = 15:2.5:1
  • 13. 14 Summary  Redis-on-Flash enables:  Order-of-magnitude more capacity per node  High performance at significant lower cost  Samsung PM1725 NVME:  Enables breakthrough performance @ sub-millisecond latency  Consistent performance reduces tail latency  Industry standard components, available today Thank You! zvika.guz@samsung.com