18
Using Flash on The Server Side Or How this Flash Makes Storage Like This Flash

Using flash on the server side

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Using flash on the server side

Using Flash on The Server Side

Or How this Flash

Makes Storage Like This Flash

Page 2: Using flash on the server side

Flash/SSD Form Factors• 2.5” SSD

– SATA for laptops, good for servers– SAS Dual ports for dual controller arrays

• PCIe– Lower latency, higher bandwidth

• SATA Express– 2.5” PCIe frequently with NVMe

• Memory Channel Flash (SanDisk UltraDIMM)– Write latency as low as 3µsec– Requires BIOS support

Page 3: Using flash on the server side

Anatomy of an SSD• Flash Controller

– Provides external interface• SATA• SAS• PCIe

– Wear leveling– Error correction

• DRAM– Write buffer– Metadata

• Ultra or other capacitor– Power failure DRAM dump– Enterprise SSDs only

Page 4: Using flash on the server side

Flash in the Server

• Minimizes latency & maximizes bandwidth– No SAN latency/congestion– Dedicated controller

• PCIe flash example– 1.6GB/s bandwidth– >50µs read, >20µs write latency

• But servers are unreliable– Data on server SSD is captive

Page 5: Using flash on the server side

Server Side Deployment Models

• As direct storage– Very high performance but limited resiliency– Resiliency responsibility of applications

• HPC like checkpointing• Web 2.0 app data distribution• SQL Server Always On

• As pooled/replicated storage– Virident software– Replicates, pools via RDMA

Page 6: Using flash on the server side

Server Flash Caching Advantages• Take advantage of lower latency

– Especially w/PCIe flash card/SSD

• Data written to back end array– So not captive in failure scenario

• Works with any array– Or DAS for that matter

• Allows focused use of flash– Put your dollars just where needed– Match SSD performance to application

• Politics: Server team not storage team solution

Page 7: Using flash on the server side

Server Side Caching Suppliers• Independent

Software Vendors– Proximal Data– PernixData

• Array vendors– EMC – NetApp

• Server vendors– HP– Dell

• Qlogic

• SSD vendors– Intel

• Nevex

– Samsung• Nvelo

– SanDisk • Flashsoft

– Western Digital • sTec EnhanceIO• Velobit Hypercache

– OCZ– Virident

Page 8: Using flash on the server side

Use Cases

• Database servers– Good fit with shared nothing clusters– Look for OS, SSD support

• Server virtualization– Higher random I/O rates – Look for:

• Dynamic cache assignment• Live migration support

• VDI– Write intensive but captive data less of an issue

Page 9: Using flash on the server side

Caching Boosts Performance!

Baseline PCIe SSD Cache Low end SSD Cache0

500

1000

1500

2000

2500

3000

3500Published TPC-C results

Page 10: Using flash on the server side

Write Through and Write Back

Baseline Write Through

Write Back0

10000

20000

30000

40000

50000

60000

TPC-C IOPS

• 100 GB cache• Dataset 330GB grows to 450GB over 3 hour test

Page 11: Using flash on the server side

Architectures

• Caching software in OS– File or block filter driver

• Caching software in Hypervisor– File or block filter

• Vendor may need custom hooks

• Virtual Storage Appliance• Hardware cache device

– RAID Controller for DAS– HBA/CNA

Page 12: Using flash on the server side

Software Caching Locations

Page 13: Using flash on the server side

Basic Cache Types

• Read• Write Through

– Cache populated on write– Data written to back end before ack

• Write Back– Data acknowledged on write to cache– Written to back end storage asynchronously

Page 14: Using flash on the server side

Write Back?

• Write back caches speed up writes too• Data must be protected

– Flash is non-volatile – Servers are unreliable– Server crash leads to imprisoned data

• Move SSD to new server w/cache software• Flush cache before resume

• Array snapshot issues

Page 15: Using flash on the server side

Distributed Cache• Duplicate cached writes across n servers• Eliminates imprisoned data• Allows cache for servers w/o SSD• Products:

– PernixData– Virident– Others soon

• Qlogic FabicCache caching HBA acts as target & initiator

Page 16: Using flash on the server side

Live Migration Issues

• Does cache allow migration– Through standard workflow

• To allow automation like DRS?

• Is cache cold after migration?• Cache coherency issues• Guest cache

– Cache LUN locks VM to server• Can automate but breaks workflow

• Hypervisor cache – Must prepare, warm cache at destination

Page 17: Using flash on the server side

Copy Cache During Migration• Migration includes cache

contents• More data• Extends migration time• Requires new workflow or

hypervisor support• Now available from

ProximalData

Page 18: Using flash on the server side

Questions and Contact

• Contact info:– [email protected] – @DeepStoragenet on Twitter