Nitro A CapacityOptimized SSD Cache for Primary Storage

  • Slides: 18
Download presentation
Nitro: A Capacity-Optimized SSD Cache for Primary Storage Cheng Li*, Philip Shilane, Fred Douglis,

Nitro: A Capacity-Optimized SSD Cache for Primary Storage Cheng Li*, Philip Shilane, Fred Douglis, Hyong Shim, Stephen Smaldone, and Grant Wallace Florida International University 2014 USENIX Annual Technical Conference

Outline • • • Introduction Motivation Architecture Implementation Conclusion

Outline • • • Introduction Motivation Architecture Implementation Conclusion

Introduction • IT administrators have struggled with the complexity, cost, and overheads of a

Introduction • IT administrators have struggled with the complexity, cost, and overheads of a primary storage architecture as performance and capacity requirements continue to grow • The goals of high performance and cost-efficient storage are in conflict

Introduction • Solid state drives (SSDs) can support high IOPS with low latency, but

Introduction • Solid state drives (SSDs) can support high IOPS with low latency, but their cost will be higher than hard disk drives (HDDs) • In contrast, HDDs have high capacity at relatively low cost, but IOPS and latency are limited by the mechanical movements of the drive

Introduction • Our solution, called Nitro, applies advanced data reduction techniques to SSD caches,

Introduction • Our solution, called Nitro, applies advanced data reduction techniques to SSD caches, increasing the effective cache size and reducing SSD costs for a given system

Motivation • Maximize performance and capacity while minimizing cost • hybrid storage – HDD:

Motivation • Maximize performance and capacity while minimizing cost • hybrid storage – HDD: low performance, low $/GB (. 03 -. 1 for HDD) – SSD: high performance, high $/GB (. 5 -1. 2 for SSD) • SSD caching as performance accelerator – Leverage compression • Large capacity saving opportunities (10 -60%)

Motivation – Leverage duplicate content • This result confirms that a cache has the

Motivation – Leverage duplicate content • This result confirms that a cache has the potential deduplication to improve

Motivation • Increase effective cache size – Leverage deduplication and compression • Support multiple

Motivation • Increase effective cache size – Leverage deduplication and compression • Support multiple platforms – Capacity-Optimized Storage • Leverage deduplication and compression – Traditional Primary Storage • No deduplication and compression

Architecture Extent: – File data caching unit Write-Evict Unit (WEU): – Basic unit of

Architecture Extent: – File data caching unit Write-Evict Unit (WEU): – Basic unit of replacement for SSD – Contains compressed extents

Architecture

Architecture

Architecture • Step 1: Hash a new extent to create a fingerprint • Step

Architecture • Step 1: Hash a new extent to create a fingerprint • Step 2: Check the fingerprint against the fingerprint index. If the fingerprint is in the index then go to step 5. Otherwise continue with step 3

 • Step 3: Compress and append the extent to a WEU that is

• Step 3: Compress and append the extent to a WEU that is in-memory, and update the WEU header • Step 4: Update the fingerprint index

 • Step 5: Update the file index • Step 6: When an in-memory

• Step 5: Update the file index • Step 6: When an in-memory WEU becomes full, increment the generation number and write it to the SSD

Implementation • Storage traces – Florida International University (FIU) • Homes, Web. VM, Mail

Implementation • Storage traces – Florida International University (FIU) • Homes, Web. VM, Mail • CPU: 2. 33 GHz Xeon CPU • DRAM: 36 GB of DRAM • Hard drives: 7200 RPM 2 TB drives • SSD: Samsung 256 GB

Implementation

Implementation

Implementation Deduplication and compression increase read-hit ratio

Implementation Deduplication and compression increase read-hit ratio

Implementation

Implementation

Conclusion • Leverages deduplication, compression, and SSD performance • Increases effective cache size •

Conclusion • Leverages deduplication, compression, and SSD performance • Increases effective cache size • Balances performance, cost, and resources – Performance: up to 120% improvement