1. SSDs, IMDGs and All the Rest
A short intro into how SSDs are
powering the data revolution
Uri Cohen
Head of Product @ GigaSpaces
@uri1803
#jaxlondon 2014
5. In Memory
Computing
to the
Rescue?
Not enough anymore…
• Average GigaSpaces XAP
cluster size grew 5-10 fold
since 2008
• We’re in the realm of
terabytes, not gigabytes
8. Some Numbers
Level Access time Typical size
Registers instantaneous under 1KB
Level 1 Cache 1-3 ns 64KB per core
Level 2 Cache 3-10 ns 256KB per core
Level 3 Cache 10-20 ns 2-20 MB per chip
Main Memory 30-60 ns 4-32 GB per system
Hard Disk 3,000,000-10,000,000 ns over 1TB
9. Some Numbers
Level Random Access Time Typical Size
Registers instantaneous under 1KB
Level 1 Cache 1-3 ns 64KB per core
Level 2 Cache 3-10 ns 256KB per core
Level 3 Cache 10-20 ns 2-20 MB per chip
Main Memory 30-60 ns 4-32 GB per system
SSD < 1,000,000 ns 128GB – 2TB
Hard Disk 3,000,000-10,000,000 ns over 1TB
10. Performance Is All the Rage
http://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/
23. Garbage
Collection
(Grrrrrr….)
Compacts
fragmented disk
blocks but has a
performance cost
• Modern SSDs try to do
this in the
background...
• When no empty blocks
are available, GC must
be done before ANY
write can go through
28. The Naive -
MySQL (or
PostgreSQL,
Oracle,
Mongo, …)
Let’s just use it!
(and write data
in place FTW)
29. The Naive -
MySQL (or
PostgreSQL,
Oracle,
Mongo, …)
• They all perform
buffering of
writes before
flushing to disk
• ... but flushes
are still
RANDOM writes
37. C*
Observations
(for SSDs)
• All disk writes are
sequential and append
only
• Compaction is applied
when merging SSTables
• SSTables are immutable
once written
No write
amplification
38. But Still…
• Read path is
complex
• Compaction can
cause performance
variations
43. 43
RAM Only : ~1M read Txns/sec
RAM + SSD: 242K read Txns/sec
Raw Performance Numbers
44. Looking at It from a Cost Perspective
44
While Reducing Servers by 50%
Provides 2x – 3.6x Better TPS/$
- 1KB object size and uniform distribution
- 2 sockets 2.8GHz CPU with total 24 cores, CentOS 5.8, 2 FusionIO SLC PCIe cards RAID
- YCSB measurements performed by SanDisk
Assumptions: 1TB Flash = $2K; 1TB RAM = $20K