extending ssd lifetimes with disk based write caches
play

Extending SSD Lifetimes with Disk-Based Write Caches Gokul - PowerPoint PPT Presentation

Extending SSD Lifetimes with Disk-Based Write Caches Gokul Soundararajan University of Toronto Vijayan Prabhakaran Mahesh Balakrishnan Ted Wobber Microsoft Research 1 Thursday, February 25, 2010 Solid-State Devices (SSDs) 2 Thursday,


  1. Griffin: Handling Writes Blockmap Block Log LOG: 1 LOG: 2 100 1 Griffin Memory HDD S S D 15 Thursday, February 25, 2010

  2. Griffin: Handling Writes Blockmap Block Log LOG: 1 LOG: 2 LOG: 3 100 1 200 2 Griffin Memory HDD S S D 15 Thursday, February 25, 2010

  3. Griffin: Handling Reads Blockmap Block Log LOG: 3 100 1 200 2 Griffin Memory HDD S S D 16 Thursday, February 25, 2010

  4. Griffin: Handling Reads Blockmap Block Log LOG: 3 R: 100 100 1 200 2 Griffin Memory HDD S S D 16 Thursday, February 25, 2010

  5. Griffin: Handling Reads Check Blockmap Blockmap Block Log LOG: 3 R: 100 100 1 200 2 Griffin Memory HDD S S D 16 Thursday, February 25, 2010

  6. Griffin: Handling Reads Blockmap Block Log LOG: 3 R: 300 100 1 200 2 Griffin Memory HDD S S D 16 Thursday, February 25, 2010

  7. Griffin: Handling Reads Blockmap Block Log LOG: 3 100 1 200 2 Griffin Memory HDD S S D 16 Thursday, February 25, 2010

  8. Griffin: Data Migration Blockmap Block Log 100 1 200 2 Griffin Memory HDD S S D 17 Thursday, February 25, 2010

  9. Griffin: Data Migration Migrate data to SSD Blockmap Block Log 100 1 200 2 Griffin Memory HDD S S D 17 Thursday, February 25, 2010

  10. Griffin: Data Migration Blockmap Block Log Griffin HDD S S D 17 Thursday, February 25, 2010

  11. Tradeoff: Write Savings vs. Read Penalty 18 Thursday, February 25, 2010

  12. Tradeoff: Write Savings vs. Read Penalty Long Time How long to cache? All Writes What to cache? 18 Thursday, February 25, 2010

  13. Tradeoff: Write Savings vs. Read Penalty Long Time s How long to cache? g n i v a S e t i r W All Writes What to cache? 18 Thursday, February 25, 2010

  14. Tradeoff: Write Savings vs. Read Penalty Long Time s How long to cache? g n i v a S e t i r W y t l a n e P d a e R All Writes What to cache? 18 Thursday, February 25, 2010

  15. Tradeoff: Write Savings vs. Read Penalty Long Time s How long to cache? g n i v a S e t i r W y t l a n e P d a e R All Writes What to cache? What to cache? 18 Thursday, February 25, 2010

  16. What to cache?: Overwrite Distribution Percentage of Overwrites 100 75 50 25 0 0.01 0.1 1 10 100 Percentage of Written Blocks 19 Thursday, February 25, 2010

  17. What to cache?: Overwrite Distribution Percentage of Overwrites 100 75 1% of the 50 blocks receive 70% of overwrites 25 0 0.01 0.1 1 10 100 Percentage of Written Blocks 19 Thursday, February 25, 2010

  18. Selective Write-Caching LOG: 1 Griffin HDD S S D 20 Thursday, February 25, 2010

  19. Selective Write-Caching Blockmap Block Overwritten? Log LOG: 1 W: 100 100 ✔ Griffin HDD S S D 20 Thursday, February 25, 2010

  20. Selective Write-Caching Is heavily overwritten? Blockmap Block Overwritten? Log LOG: 1 W: 100 100 ✔ Griffin HDD S S D 20 Thursday, February 25, 2010

  21. Selective Write-Caching Blockmap Block Overwritten? Log LOG: 1 LOG: 2 100 1 ✔ Griffin HDD S S D 20 Thursday, February 25, 2010

  22. Selective Write-Caching Blockmap Block Overwritten? Log LOG: 1 LOG: 2 100 1 ✔ Griffin HDD S S D 20 Thursday, February 25, 2010

  23. Tradeoff: Write Savings vs. Read Penalty Long Time s How long to cache? g n i v a S e t i r W y t l a n e P d a e R All Writes What to cache? 21 Thursday, February 25, 2010

  24. Tradeoff: Write Savings vs. Read Penalty Long Time How long to cache? s How long to cache? g n i v a S e t i r W y t l a n e P d a e R All Writes What to cache? 21 Thursday, February 25, 2010

  25. How long to cache?: Time Intervals WAW RAW 100 Cumulative Time Interval (%) 75 Written 50 Overwrites data is read happen late quickly 25 0 0 10 30 60 120 300 600 900 3600 Inf Histogram Buckets (seconds) 22 Thursday, February 25, 2010

  26. How long to cache?: Time Intervals WAW RAW 100 Cumulative Time Interval (%) 75 Written 50 Overwrites data is read happen late quickly 25 0 0 10 30 60 120 300 600 900 3600 Inf Histogram Buckets (seconds) 22 Thursday, February 25, 2010

  27. How long to cache?: Time Intervals WAW RAW 100 Cumulative Time Interval (%) 75 Written 50 Overwrites data is read happen late quickly 25 0 0 10 30 60 120 300 600 900 3600 Inf Histogram Buckets (seconds) 22 Thursday, February 25, 2010

  28. How long to cache?: Migration Triggers 23 Thursday, February 25, 2010

  29. How long to cache?: Migration Triggers ‣ Timeout trigger - Idea: Fires after a certain time elapses - Could have high read penalty 23 Thursday, February 25, 2010

  30. How long to cache?: Migration Triggers ‣ Timeout trigger - Idea: Fires after a certain time elapses - Could have high read penalty ‣ Read-threshold trigger - Idea: Fires if HDD reads exceeds threshold since last migration - Bounds HDD read fraction - Could have no migrations for a long time 23 Thursday, February 25, 2010

  31. How long to cache?: Migration Triggers ‣ Timeout trigger - Idea: Fires after a certain time elapses - Could have high read penalty ‣ Read-threshold trigger - Idea: Fires if HDD reads exceeds threshold since last migration - Bounds HDD read fraction - Could have no migrations for a long time ‣ Hybrid trigger - Every 15 mins or read penalty > 5% 23 Thursday, February 25, 2010

  32. Outline ‣ Motivating Workload Characteristics ‣ Disk-based Write Caching ‣ Experimental Evaluation - Caching Policies: What to cache? - Migration Policies: How long to cache? - Performance: Lifetime and Latency ‣ Conclusions 24 Thursday, February 25, 2010

  33. Thursday, February 25, 2010 What to Cache?: Write Savings SSD write savings (percentage of total writes) 100 10 20 30 40 50 60 70 80 90 0 D−1A D−1B D−1C D−1D Selective Caching Full Caching D−2A D−2B D−2C D−2D Traces D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 25

  34. What to Cache?: Write Savings Migrated at the end of 100 trace 90 Full Caching (percentage of total writes) Selective Caching 80 SSD write savings 70 60 50 40 30 20 10 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 25 Thursday, February 25, 2010

  35. What to Cache?: Write Savings Migrated at the end of 100 trace 90 Full Caching (percentage of total writes) Selective Caching 80 SSD write savings 70 60 50 40 30 25% 20 10 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 25 Thursday, February 25, 2010

  36. What to Cache?: Write Savings Migrated at the end of 100 trace 90 Full Caching (percentage of total writes) Selective Caching 80 SSD write savings 70 60 51% 50 40 30 25% 20 10 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 25 Thursday, February 25, 2010

  37. Thursday, February 25, 2010 What to Cache?: Read Penalty HDD read penalty (percentage of total reads) 100 20 40 60 80 0 D−1A D−1B D−1C D−1D Selective Caching Full Caching D−2A D−2B D−2C D−2D Traces D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 26

  38. What to Cache?: Read Penalty Migrated at the end of 100 trace Full Caching (percentage of total reads) Selective Caching 80 HDD read penalty 60 40 20 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 26 Thursday, February 25, 2010

  39. What to Cache?: Read Penalty Migrated at the end of 100 trace Full Caching (percentage of total reads) Selective Caching 80 HDD read penalty 60 40 19% 20 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 26 Thursday, February 25, 2010

  40. How Long to Cache?: Write Savings 100 Migration timeout 3600 s (percentage of total writes) Migration timeout 1800 s 80 Migration timeout 900 s SSD write savings 60 40 20 0 D − 1A D − 1B D − 1C D − 1D D − 2A D − 2B D − 2C D − 2D D − 3A D − 3B D − 3C D − 3D S − EXCH S − PRXY1 S − SRC10 S − SRC22 S − STG1 S − WDEV2 Traces 27 Thursday, February 25, 2010

  41. How Long to Cache?: Write Savings 100 Migration timeout 3600 s 15min gives (percentage of total writes) Migration timeout 1800 s large savings 80 Migration timeout 900 s SSD write savings 60 40 20 0 D − 1A D − 1B D − 1C D − 1D D − 2A D − 2B D − 2C D − 2D D − 3A D − 3B D − 3C D − 3D S − EXCH S − PRXY1 S − SRC10 S − SRC22 S − STG1 S − WDEV2 Traces 27 Thursday, February 25, 2010

  42. How Long to Cache?: Write Savings 100 Migration timeout 3600 s 15min gives (percentage of total writes) Migration timeout 1800 s large savings 80 Migration timeout 900 s SSD write savings 1hr less additional 60 benefit 40 20 0 D − 1A D − 1B D − 1C D − 1D D − 2A D − 2B D − 2C D − 2D D − 3A D − 3B D − 3C D − 3D S − EXCH S − PRXY1 S − SRC10 S − SRC22 S − STG1 S − WDEV2 Traces 27 Thursday, February 25, 2010

  43. How Long to Cache?: Read Penalty 100 Migration timeout 3600 s (percentage of total reads) Migration timeout 1800 s 80 Migration timeout 900 s HDD read penalty 60 40 20 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 28 Thursday, February 25, 2010

  44. How Long to Cache?: Read Penalty 100 Migration timeout 3600 s (percentage of total reads) Migration timeout 1800 s 80 Migration timeout 900 s HDD read penalty 60 40 20 7% 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 28 Thursday, February 25, 2010

  45. Performance Summary: Erasure Savings 100 Savings with a simple FTL Savings with an ideal FTL 80 erasure savings (%) SSD block 60 40 20 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 29 Thursday, February 25, 2010

  46. Performance Summary: Erasure Savings Direct block-level mapping 100 Savings with a simple FTL Savings with an ideal FTL 80 erasure savings (%) SSD block 60 40 20 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 29 Thursday, February 25, 2010

  47. Performance Summary: Erasure Savings Direct block-level mapping 100 Savings with a simple FTL Savings with an ideal FTL Log 80 structured erasure savings (%) page-level SSD block mapping 60 40 20 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 29 Thursday, February 25, 2010

  48. Performance Summary: Erasure Savings 100 Savings with a simple FTL Savings with an ideal FTL 80 erasure savings (%) SSD block 60 > 2x 40 20 0 D−1A D−1B D−1C D−1D D−2A D−2B D−2C D−2D D−3A D−3B D−3C D−3D S−EXCH S−PRXY1 S−SRC10 S−SRC22 S−STG1 S−WDEV2 Traces 29 Thursday, February 25, 2010

  49. Performance Summary: I/O Latency 1 HDD 7.2K HDD 10K Relative I/O latency 0.8 MLC SLC 0.6 0.4 0.2 0 Total Read Write Total Read Write Workload T1 Workload T2 30 Thursday, February 25, 2010

Recommend


More recommend