SlideShare a Scribd company logo
1 of 45
Download to read offline
Scalable High Performance
Flash Systems
Jeff Bonwick
Co-founder and CTO, DSSD / EMC
All computation is the same
• result = math(data);



• To get results faster, both need to improve
- faster math
- faster data



• How’s that going?
2
CPUs are 20,000x faster than 1980…
3
… but disk performance hasn’t kept up
4
Source: https://tylermuth.files.wordpress.com/2011/11/capacity-vs-throughput-lo.png
• Capacity has grown ~100,000x
• Bandwidth has grown ~100x
• IOPS has grown ~10x
We need to get I/O back on track
5
1980
(HDD)
Today
(DSSD)
Improvement
CPU 1 20,000 20,000x
Capacity 5 MB 100 TB 20,000,000x
Bandwidth 5 MB/s 100 GB/s 20,000x
IOPS 50 10M 200,000x
But how?
What can a single flash chip do?
• Media access time <100 us
• Implies >10,000 IOPS
• If doing 32K reads, implies >320 MB/s
• So a single SSD containing 512 NAND die
(say 64 placements of 8 die stack packages)
could deliver 5M IOPS and 160 GB/s
• Why doesn’t it?
7
What limits flash performance?
• In general:
- power and cooling
- multiple NAND die per flash channel
- each ONFI / Toggle flash channel 200-800 MB/s
• In an SSD form factor:
- 12 Gb/s SAS / SATA interface
- software overhead
• In a server-attached PCIe card form factor:
- limited scale
- inability to share
8
Two main approaches to flash thus far
9
Hybrid or All Flash Arrays Server Attached Flash
• Flash hostage to individual servers
• Stranded storage and data shuffling among
servers
• No enterprise storage features
• Limited capacity
• Enterprise storage features
BUT
• Traditional network latencies & I/O stack
bottlenecks
SATA/SAS or PCIe
SATA/SAS or PCIe
SATA/SAS or PCIe
Fabric
Is there some way to get the best of both?
Without the limitations of either?
Rack-Scale Flash
• Move the flash out of servers (like AFA)
• Support RAID, dual-porting, etc (like AFA)
• Allow all clients to see all data (like AFA)
• Abandon legacy SCSI stack (like PCIe card)
• Provide much stronger data protection (new)
• Exploit massive NAND concurrency (new)
• Move smarts out of individual FMs (new)
10
The Basic Design Element
11
PCIe
Switch
Client
CPU
Flash
Module
1. Logical request
2. Physical request
3. DMA
… highly replicated to make D5
12
D5’s full-mesh PCIe fabric
13
Anatomy of the D5
14
With a few more flash modules…
15
The Final Product
16
Software has to be radically different
• D5 has 32 CPU cores running I/O
• Those 32 cores drive 10M IOPS
• That’s 300k IOPS per core, or
• 3 microseconds per IOP
- a few thousand instructions,
- a dozen cache misses,
- … time’s up!
• How can we do an IOP in 3 us?
17
Eliminate every layer possible
• NVMe SQ/CQ model is a key enabler
18
SOFTWARE
Application
Libraries
KERNEL
System Call
POSIX File System
Volume Mgr.
Device Driver
HARDWARE
PCIe HBA
SAS/SATA
Device Controller
Disk/NAND
PCIe Client Card
DSSD I/O Module
DSSD Flash Module
Application
Libraries
User DMA Port
libflood
300µS
to
5,000µS
<100µS
Legacy
19
DSSD software stack, November 2010
Components of I/O latency
20
3D NAND and NG-NVM
SSD
DSSD + 2x/1x
DSSD + 3D
DSSD + NG-NVM
0µ 20µ 40µ 60µ 80µ 100µ 120µ 140µ 160µ 180µ 200µ
tR Clock DMA Firmware Software
• Our first product eliminates client-side software overhead,
while preserving shared storage paradigm: 200μs → 100μs
• The next big step is media access time: 100μs → 1-10μs
Flash failure modes
• Disk drives fail catastrophically
- and the whole drive fails
• Flash degrades slowly over time
- bit error rate eventually exceeds ECC capacity
- individual cells fail randomly
• Vastly more discrete devices
- 18,000 NAND die vs. array of 25 SSDs
- enables new data protection model
21
Multi-Dimensional RAID
• RAID-6 across channels within each FM
- Survives channel failure, random page failure
- Most page-level errors fixed here, inside the FM,
so that RAID reconstruction does not involve CM
• RAID-6 across FMs
- Survives whole-FM failure and field upgrade
- Repairs errors that channel-level RAID could not
• Layered RAID-of-RAID is pretty good, but we
can do much better
22
1D RAID Reconstruction
23
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Normal RAID-6 recovers from 1-2 bad blocks
1D RAID Reconstruction
24
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Read of <2, 5> fails.
1D RAID Reconstruction
25
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Read rest of row or column. We’ll try row D2.
1D RAID Reconstruction
26
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Fix <2, 5> using double parity. Done.
1D RAID Reconstruction
27
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Normal RAID-6 cannot handle triple failure
1D RAID Reconstruction
28
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Can’t recover <2, 5> using row parity.
1D RAID Reconstruction
29
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Can’t recover <2, 5> using column parity.
2D RAID Reconstruction
30
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• 2D RAID can recover <2, 5>. First, get row D0.
2D RAID Reconstruction
31
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Fix row D0 using row parity.
2D RAID Reconstruction
32
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Fix column D5. We now have <2, 5>. Done.
2D RAID Reconstruction
33
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Incredibly powerful. This is recoverable:
2D RAID Reconstruction
34
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Read row D0.
2D RAID Reconstruction
35
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Fix row D0. No other row can be fixed.
2D RAID Reconstruction
36
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Read column D1.
2D RAID Reconstruction
37
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Fix column D1.
2D RAID Reconstruction
38
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Read and fix column D2.
2D RAID Reconstruction
39
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Read and fix column D3.
2D RAID Reconstruction
40
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Read and fix columns D5, P6, Q7.
2D RAID Reconstruction
41
0, 0
D0
D0
1, 0D1
2, 0D2
3, 0P3
4, 0Q4
0, 1
D1
1, 1
2, 1
3, 1
4, 1
0, 2
D2
1, 2
2, 2
3, 2
4, 2
0, 3
D3
1, 3
2, 3
3, 3
4, 3
0, 4
D4
1, 4
2, 4
3, 4
4, 4
0, 5
D5
1, 5
2, 5
3, 5
4, 5
0, 6
P6
1, 6
2, 6
3, 6
4, 6
0, 7
Q7
1, 7
2, 7
3, 7
4, 7
• Fix rows D1, D2, D3, Q4.
Multi-Dimensional RAID Properties
• For D-dimensional RAID with M-way parity in

each dimension, the smallest unsolvable

failure is a perfect grid of (M+1)D points
- Much larger asymmetric failures are solvable
• By contrast, linear RAID with the same space
overhead (M•D) cannot solve anything > M•D
• Multi-dimensional RAID takes advantage of the
inherent sparseness of higher-dimensional space
• Algorithm must be explicitly multi-dimensional:
naive RAID-of-RAID layering can only solve M•D
42
2D RAID Mathematical Properties
43
Parity equations:

P = ∑x Dx Q = ∑x Dx•g
x
R = ∑x Dx•g
2x

More generally,

Pd = ∑x Dx•g
dx

In an xy grid,

Row y Pd = ∑x Dxy•g
dx

Col x Pe = ∑y Dxy•g
ey

Parity of parity:

Row Pd of Col Pe = ∑x (∑y Dxy•g
ey
)•g
dx

Col Pe of Row Pd = ∑y (∑x Dxy•g
dx
)•g
ey

Same answer either way!

Pde = ∑x,y Dxy•g
dx+ey

Therefore, Pde can be used to solve both rows and columns

2D RAID Parity Grid
44
D00 D10 D20 ∑x Dx0 ∑x Dx0•gx
D01 D11 D21 ∑x Dx1 ∑x Dx1•gx
D02 D12 D22 ∑x Dx2 ∑x Dx2•gx
D03 D13 D23 ∑x Dx3 ∑x Dx3•gx
∑y D0y ∑y D1y ∑y D2y ∑x,y Dxy ∑x,y Dxy•gx
∑y D0y•gy ∑y D1y•gy ∑y D2y•gy ∑x,y Dxy•gy ∑x,y Dxy•gx+y
2D Parity Space: 1 - (16/18)•(30/32) = 17%
45
32 Channels
18FMs

More Related Content

What's hot

Indexing in Exadata
Indexing in ExadataIndexing in Exadata
Indexing in ExadataEnkitec
 
[3]dell storage spaces c 1
[3]dell storage spaces c 1[3]dell storage spaces c 1
[3]dell storage spaces c 1Megan Warren
 
Dataguard fsfo-implementation
Dataguard fsfo-implementationDataguard fsfo-implementation
Dataguard fsfo-implementationمسلم islam
 
Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1
Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1
Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1Raheel Syed
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleGuatemala User Group
 
Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012Emre Baransel
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Moleoscon2007
 
Redo logfile addition in oracle rac 12c
Redo logfile addition in oracle rac 12cRedo logfile addition in oracle rac 12c
Redo logfile addition in oracle rac 12cDebasish Nayak
 
Dataguard broker and observerst
Dataguard broker and observerstDataguard broker and observerst
Dataguard broker and observerstsmajeed1
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writerKyle Hailey
 
Oracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aasOracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aasKyle Hailey
 
Preventing hard disk firmware manipulation attack and disaster recovery by Da...
Preventing hard disk firmware manipulation attack and disaster recovery by Da...Preventing hard disk firmware manipulation attack and disaster recovery by Da...
Preventing hard disk firmware manipulation attack and disaster recovery by Da...CODE BLUE
 

What's hot (14)

Indexing in Exadata
Indexing in ExadataIndexing in Exadata
Indexing in Exadata
 
[3]dell storage spaces c 1
[3]dell storage spaces c 1[3]dell storage spaces c 1
[3]dell storage spaces c 1
 
Dataguard fsfo-implementation
Dataguard fsfo-implementationDataguard fsfo-implementation
Dataguard fsfo-implementation
 
Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1
Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1
Upgrade 10204-to-10205 on-2-node_rac_linux_x86_64_detail-steps_v0.1
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
 
Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Mole
 
data_all_oracle
data_all_oracledata_all_oracle
data_all_oracle
 
Redo logfile addition in oracle rac 12c
Redo logfile addition in oracle rac 12cRedo logfile addition in oracle rac 12c
Redo logfile addition in oracle rac 12c
 
Dataguard broker and observerst
Dataguard broker and observerstDataguard broker and observerst
Dataguard broker and observerst
 
Oracle AFD
Oracle AFDOracle AFD
Oracle AFD
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writer
 
Oracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aasOracle 10g Performance: chapter 02 aas
Oracle 10g Performance: chapter 02 aas
 
Preventing hard disk firmware manipulation attack and disaster recovery by Da...
Preventing hard disk firmware manipulation attack and disaster recovery by Da...Preventing hard disk firmware manipulation attack and disaster recovery by Da...
Preventing hard disk firmware manipulation attack and disaster recovery by Da...
 

Similar to DSSD Scalable High Performance Flash Systems

Webinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e softwareWebinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e softwareNetgear Italia
 
PowerEdge Rack and Tower Server Masters AMD Processors.pptx
PowerEdge Rack and Tower Server Masters AMD Processors.pptxPowerEdge Rack and Tower Server Masters AMD Processors.pptx
PowerEdge Rack and Tower Server Masters AMD Processors.pptxNeoKenj
 
High Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisHigh Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisMike Pittaro
 
Mike Pittaro - High Performance Hardware for Data Analysis
Mike Pittaro - High Performance Hardware for Data Analysis Mike Pittaro - High Performance Hardware for Data Analysis
Mike Pittaro - High Performance Hardware for Data Analysis PyData
 
Building Storage on the Cheap
Building Storage on the CheapBuilding Storage on the Cheap
Building Storage on the CheapYao Jun Yap
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudCeph Community
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudPatrick McGarry
 
High Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisHigh Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisMike Pittaro
 
High Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisHigh Performance Hardware for Data Analysis
High Performance Hardware for Data Analysisodsc
 
OOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AASOOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AASKyle Hailey
 
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...DataStax Academy
 
Optimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTESOptimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTESSubhajit Sahu
 
Some analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBSome analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBXiao Yan Li
 
Cy7 introduction
Cy7 introductionCy7 introduction
Cy7 introductionKunhui Wu
 
AMD Opteron™ 6200 Series Processor Guide, Silicon Mechanics
AMD Opteron™ 6200 Series Processor Guide, Silicon MechanicsAMD Opteron™ 6200 Series Processor Guide, Silicon Mechanics
AMD Opteron™ 6200 Series Processor Guide, Silicon Mechanicswaltermoss123
 
Deploying ssd in the data center 2014
Deploying ssd in the data center 2014Deploying ssd in the data center 2014
Deploying ssd in the data center 2014Howard Marks
 

Similar to DSSD Scalable High Performance Flash Systems (20)

Webinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e softwareWebinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e software
 
PowerEdge Rack and Tower Server Masters AMD Processors.pptx
PowerEdge Rack and Tower Server Masters AMD Processors.pptxPowerEdge Rack and Tower Server Masters AMD Processors.pptx
PowerEdge Rack and Tower Server Masters AMD Processors.pptx
 
Shapira oda perf_webinar_v2
Shapira oda perf_webinar_v2Shapira oda perf_webinar_v2
Shapira oda perf_webinar_v2
 
High Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisHigh Performance Hardware for Data Analysis
High Performance Hardware for Data Analysis
 
Mike Pittaro - High Performance Hardware for Data Analysis
Mike Pittaro - High Performance Hardware for Data Analysis Mike Pittaro - High Performance Hardware for Data Analysis
Mike Pittaro - High Performance Hardware for Data Analysis
 
Building Storage on the Cheap
Building Storage on the CheapBuilding Storage on the Cheap
Building Storage on the Cheap
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
 
High Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisHigh Performance Hardware for Data Analysis
High Performance Hardware for Data Analysis
 
High Performance Hardware for Data Analysis
High Performance Hardware for Data AnalysisHigh Performance Hardware for Data Analysis
High Performance Hardware for Data Analysis
 
OOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AASOOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AAS
 
Stabilizing Ceph
Stabilizing CephStabilizing Ceph
Stabilizing Ceph
 
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
Cassandra Day Chicago 2015: DataStax Enterprise & Apache Cassandra Hardware B...
 
Optimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTESOptimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTES
 
ceph-barcelona-v-1.2
ceph-barcelona-v-1.2ceph-barcelona-v-1.2
ceph-barcelona-v-1.2
 
Ceph barcelona-v-1.2
Ceph barcelona-v-1.2Ceph barcelona-v-1.2
Ceph barcelona-v-1.2
 
Some analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBSome analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDB
 
Cy7 introduction
Cy7 introductionCy7 introduction
Cy7 introduction
 
AMD Opteron™ 6200 Series Processor Guide, Silicon Mechanics
AMD Opteron™ 6200 Series Processor Guide, Silicon MechanicsAMD Opteron™ 6200 Series Processor Guide, Silicon Mechanics
AMD Opteron™ 6200 Series Processor Guide, Silicon Mechanics
 
Deploying ssd in the data center 2014
Deploying ssd in the data center 2014Deploying ssd in the data center 2014
Deploying ssd in the data center 2014
 

More from inside-BigData.com

Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...inside-BigData.com
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networksinside-BigData.com
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...inside-BigData.com
 
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...inside-BigData.com
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...inside-BigData.com
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networksinside-BigData.com
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoringinside-BigData.com
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecastsinside-BigData.com
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Updateinside-BigData.com
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19inside-BigData.com
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuninginside-BigData.com
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODinside-BigData.com
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Accelerationinside-BigData.com
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficientlyinside-BigData.com
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Erainside-BigData.com
 
CUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computingCUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computinginside-BigData.com
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Clusterinside-BigData.com
 

More from inside-BigData.com (20)

Major Market Shifts in IT
Major Market Shifts in ITMajor Market Shifts in IT
Major Market Shifts in IT
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networks
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
 
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecasts
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Update
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Acceleration
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Era
 
CUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computingCUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computing
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Cluster
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 

Recently uploaded

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 

Recently uploaded (20)

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 

DSSD Scalable High Performance Flash Systems

  • 1. Scalable High Performance Flash Systems Jeff Bonwick Co-founder and CTO, DSSD / EMC
  • 2. All computation is the same • result = math(data);
 
 • To get results faster, both need to improve - faster math - faster data
 
 • How’s that going? 2
  • 3. CPUs are 20,000x faster than 1980… 3
  • 4. … but disk performance hasn’t kept up 4 Source: https://tylermuth.files.wordpress.com/2011/11/capacity-vs-throughput-lo.png • Capacity has grown ~100,000x • Bandwidth has grown ~100x • IOPS has grown ~10x
  • 5. We need to get I/O back on track 5 1980 (HDD) Today (DSSD) Improvement CPU 1 20,000 20,000x Capacity 5 MB 100 TB 20,000,000x Bandwidth 5 MB/s 100 GB/s 20,000x IOPS 50 10M 200,000x
  • 7. What can a single flash chip do? • Media access time <100 us • Implies >10,000 IOPS • If doing 32K reads, implies >320 MB/s • So a single SSD containing 512 NAND die (say 64 placements of 8 die stack packages) could deliver 5M IOPS and 160 GB/s • Why doesn’t it? 7
  • 8. What limits flash performance? • In general: - power and cooling - multiple NAND die per flash channel - each ONFI / Toggle flash channel 200-800 MB/s • In an SSD form factor: - 12 Gb/s SAS / SATA interface - software overhead • In a server-attached PCIe card form factor: - limited scale - inability to share 8
  • 9. Two main approaches to flash thus far 9 Hybrid or All Flash Arrays Server Attached Flash • Flash hostage to individual servers • Stranded storage and data shuffling among servers • No enterprise storage features • Limited capacity • Enterprise storage features BUT • Traditional network latencies & I/O stack bottlenecks SATA/SAS or PCIe SATA/SAS or PCIe SATA/SAS or PCIe Fabric Is there some way to get the best of both? Without the limitations of either?
  • 10. Rack-Scale Flash • Move the flash out of servers (like AFA) • Support RAID, dual-porting, etc (like AFA) • Allow all clients to see all data (like AFA) • Abandon legacy SCSI stack (like PCIe card) • Provide much stronger data protection (new) • Exploit massive NAND concurrency (new) • Move smarts out of individual FMs (new) 10
  • 11. The Basic Design Element 11 PCIe Switch Client CPU Flash Module 1. Logical request 2. Physical request 3. DMA
  • 12. … highly replicated to make D5 12
  • 14. Anatomy of the D5 14
  • 15. With a few more flash modules… 15
  • 17. Software has to be radically different • D5 has 32 CPU cores running I/O • Those 32 cores drive 10M IOPS • That’s 300k IOPS per core, or • 3 microseconds per IOP - a few thousand instructions, - a dozen cache misses, - … time’s up! • How can we do an IOP in 3 us? 17
  • 18. Eliminate every layer possible • NVMe SQ/CQ model is a key enabler 18 SOFTWARE Application Libraries KERNEL System Call POSIX File System Volume Mgr. Device Driver HARDWARE PCIe HBA SAS/SATA Device Controller Disk/NAND PCIe Client Card DSSD I/O Module DSSD Flash Module Application Libraries User DMA Port libflood 300µS to 5,000µS <100µS Legacy
  • 19. 19 DSSD software stack, November 2010
  • 20. Components of I/O latency 20 3D NAND and NG-NVM SSD DSSD + 2x/1x DSSD + 3D DSSD + NG-NVM 0µ 20µ 40µ 60µ 80µ 100µ 120µ 140µ 160µ 180µ 200µ tR Clock DMA Firmware Software • Our first product eliminates client-side software overhead, while preserving shared storage paradigm: 200μs → 100μs • The next big step is media access time: 100μs → 1-10μs
  • 21. Flash failure modes • Disk drives fail catastrophically - and the whole drive fails • Flash degrades slowly over time - bit error rate eventually exceeds ECC capacity - individual cells fail randomly • Vastly more discrete devices - 18,000 NAND die vs. array of 25 SSDs - enables new data protection model 21
  • 22. Multi-Dimensional RAID • RAID-6 across channels within each FM - Survives channel failure, random page failure - Most page-level errors fixed here, inside the FM, so that RAID reconstruction does not involve CM • RAID-6 across FMs - Survives whole-FM failure and field upgrade - Repairs errors that channel-level RAID could not • Layered RAID-of-RAID is pretty good, but we can do much better 22
  • 23. 1D RAID Reconstruction 23 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Normal RAID-6 recovers from 1-2 bad blocks
  • 24. 1D RAID Reconstruction 24 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Read of <2, 5> fails.
  • 25. 1D RAID Reconstruction 25 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Read rest of row or column. We’ll try row D2.
  • 26. 1D RAID Reconstruction 26 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Fix <2, 5> using double parity. Done.
  • 27. 1D RAID Reconstruction 27 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Normal RAID-6 cannot handle triple failure
  • 28. 1D RAID Reconstruction 28 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Can’t recover <2, 5> using row parity.
  • 29. 1D RAID Reconstruction 29 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Can’t recover <2, 5> using column parity.
  • 30. 2D RAID Reconstruction 30 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • 2D RAID can recover <2, 5>. First, get row D0.
  • 31. 2D RAID Reconstruction 31 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Fix row D0 using row parity.
  • 32. 2D RAID Reconstruction 32 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Fix column D5. We now have <2, 5>. Done.
  • 33. 2D RAID Reconstruction 33 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Incredibly powerful. This is recoverable:
  • 34. 2D RAID Reconstruction 34 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Read row D0.
  • 35. 2D RAID Reconstruction 35 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Fix row D0. No other row can be fixed.
  • 36. 2D RAID Reconstruction 36 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Read column D1.
  • 37. 2D RAID Reconstruction 37 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Fix column D1.
  • 38. 2D RAID Reconstruction 38 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Read and fix column D2.
  • 39. 2D RAID Reconstruction 39 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Read and fix column D3.
  • 40. 2D RAID Reconstruction 40 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Read and fix columns D5, P6, Q7.
  • 41. 2D RAID Reconstruction 41 0, 0 D0 D0 1, 0D1 2, 0D2 3, 0P3 4, 0Q4 0, 1 D1 1, 1 2, 1 3, 1 4, 1 0, 2 D2 1, 2 2, 2 3, 2 4, 2 0, 3 D3 1, 3 2, 3 3, 3 4, 3 0, 4 D4 1, 4 2, 4 3, 4 4, 4 0, 5 D5 1, 5 2, 5 3, 5 4, 5 0, 6 P6 1, 6 2, 6 3, 6 4, 6 0, 7 Q7 1, 7 2, 7 3, 7 4, 7 • Fix rows D1, D2, D3, Q4.
  • 42. Multi-Dimensional RAID Properties • For D-dimensional RAID with M-way parity in
 each dimension, the smallest unsolvable
 failure is a perfect grid of (M+1)D points - Much larger asymmetric failures are solvable • By contrast, linear RAID with the same space overhead (M•D) cannot solve anything > M•D • Multi-dimensional RAID takes advantage of the inherent sparseness of higher-dimensional space • Algorithm must be explicitly multi-dimensional: naive RAID-of-RAID layering can only solve M•D 42
  • 43. 2D RAID Mathematical Properties 43 Parity equations:
 P = ∑x Dx Q = ∑x Dx•g x R = ∑x Dx•g 2x
 More generally,
 Pd = ∑x Dx•g dx
 In an xy grid,
 Row y Pd = ∑x Dxy•g dx
 Col x Pe = ∑y Dxy•g ey
 Parity of parity:
 Row Pd of Col Pe = ∑x (∑y Dxy•g ey )•g dx
 Col Pe of Row Pd = ∑y (∑x Dxy•g dx )•g ey
 Same answer either way!
 Pde = ∑x,y Dxy•g dx+ey
 Therefore, Pde can be used to solve both rows and columns

  • 44. 2D RAID Parity Grid 44 D00 D10 D20 ∑x Dx0 ∑x Dx0•gx D01 D11 D21 ∑x Dx1 ∑x Dx1•gx D02 D12 D22 ∑x Dx2 ∑x Dx2•gx D03 D13 D23 ∑x Dx3 ∑x Dx3•gx ∑y D0y ∑y D1y ∑y D2y ∑x,y Dxy ∑x,y Dxy•gx ∑y D0y•gy ∑y D1y•gy ∑y D2y•gy ∑x,y Dxy•gy ∑x,y Dxy•gx+y
  • 45. 2D Parity Space: 1 - (16/18)•(30/32) = 17% 45 32 Channels 18FMs