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

extending ssd lifetimes with disk based write caches
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Solid-State Devices (SSDs)

2

Thursday, February 25, 2010

slide-3
SLIDE 3

Solid-State Devices (SSDs)

  • Replacing Hard Disk Drives (HDDs)
  • Fast I/O reads
  • Consume low power, no moving parts, and more reliable

2

Thursday, February 25, 2010

slide-4
SLIDE 4

Solid-State Devices (SSDs)

  • Replacing Hard Disk Drives (HDDs)
  • Fast I/O reads
  • Consume low power, no moving parts, and more reliable
  • Limited write cycles
  • Need to erase block before re-write
  • High end SLC provide 100,000 erase cycles
  • Mainstream MLC provides 5,000-10,000 erase cycles

2

Thursday, February 25, 2010

slide-5
SLIDE 5

Solid-State Devices (SSDs)

  • Replacing Hard Disk Drives (HDDs)
  • Fast I/O reads
  • Consume low power, no moving parts, and more reliable
  • Limited write cycles
  • Need to erase block before re-write
  • High end SLC provide 100,000 erase cycles
  • Mainstream MLC provides 5,000-10,000 erase cycles
  • Starting to be used in laptops/desktops
  • Contain write intensive workloads

2

Thursday, February 25, 2010

slide-6
SLIDE 6

SSD Write-lifetime

3

Thursday, February 25, 2010

slide-7
SLIDE 7

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M

75 150 225 300

Write Lifetime (TB)

Maximum amount of data that can be written to the SSD

Thursday, February 25, 2010

slide-8
SLIDE 8

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M

75 150 225 300

Write Lifetime (TB)

60GBx5000 = 300TB

Thursday, February 25, 2010

slide-9
SLIDE 9

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M

75 150 225 300

Write Lifetime (TB)

42TB (60GB drive)

Thursday, February 25, 2010

slide-10
SLIDE 10

SSD Write-lifetime

3

Ideal Micron C200 Intel X-25M

75 150 225 300

Write Lifetime (TB)

37TB (80GB drive) 20 GB/day*5 yrs

Thursday, February 25, 2010

slide-11
SLIDE 11

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

Writes Reads Reads

Thursday, February 25, 2010

slide-12
SLIDE 12

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

MIGRATE

Writes Reads Reads

Thursday, February 25, 2010

slide-13
SLIDE 13

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

MIGRATE

Writes Reads Reads Options

Thursday, February 25, 2010

slide-14
SLIDE 14

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

MIGRATE

Writes Reads Reads Options RAM

Thursday, February 25, 2010

slide-15
SLIDE 15

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

MIGRATE

Writes Reads Reads Options RAM NVRAM

Thursday, February 25, 2010

slide-16
SLIDE 16

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

MIGRATE

Writes Reads Reads Options RAM NVRAM SSD

Thursday, February 25, 2010

slide-17
SLIDE 17

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

MIGRATE

Writes Reads Reads Options RAM NVRAM SSD Hard Disk

Thursday, February 25, 2010

slide-18
SLIDE 18

Griffin Hybrid Device

4

Write Cache S S D

Hybrid Device Controller

Griffin

MIGRATE

Writes Reads Reads Why Hard Disk? Durable Capacity Cheap Sequential I/O

Thursday, February 25, 2010

slide-19
SLIDE 19

Contributions

5

Thursday, February 25, 2010

slide-20
SLIDE 20

Contributions

  • Characterized I/O patterns
  • Found desktop/server traces contains many overwrites
  • Caching overwrites reduces writes to SSD by 52% ideally

5

Thursday, February 25, 2010

slide-21
SLIDE 21

Contributions

  • Characterized I/O patterns
  • Found desktop/server traces contains many overwrites
  • Caching overwrites reduces writes to SSD by 52% ideally
  • Designed Griffin hybrid disk
  • Uses a disk-based write cache
  • Cache data on hard disk, periodically move it back to SSD
  • Shows a 2x lifetime improvement ( < 5% HDD reads)

5

Thursday, February 25, 2010

slide-22
SLIDE 22

Outline

  • Motivating Workload Characteristics
  • Key features
  • Disk-based Write Caching
  • Experimental Evaluation
  • Conclusions

6

Thursday, February 25, 2010

slide-23
SLIDE 23

I/O Workload Characterization

  • Examined various I/O traces
  • Desktops (Internal Microsoft traces)
  • Servers (Narayanan et. al from MSR Cambridge)
  • Use only the write-intensive traces
  • Linux (Bhadkamkar et. al. from FIU)
  • Contains desktop, SVN, and web server
  • Trace descriptions
  • Block I/Os collected below the filesystem buffer cache
  • Multi-hour traces of 5 hours to 176 hours
  • Between 209K to 543M I/O events per trace

7

Thursday, February 25, 2010

slide-24
SLIDE 24

Key Metrics

8

Thursday, February 25, 2010

slide-25
SLIDE 25

Key Metrics

  • Overwrites
  • Consecutive writes to a block without an intervening read

8

Thursday, February 25, 2010

slide-26
SLIDE 26

Key Metrics

  • Overwrites
  • Consecutive writes to a block without an intervening read

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

Thursday, February 25, 2010

slide-27
SLIDE 27

Key Metrics

  • Overwrites
  • Consecutive writes to a block without an intervening read

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

Thursday, February 25, 2010

slide-28
SLIDE 28

Key Metrics

  • Overwrites
  • Consecutive writes to a block without an intervening read

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

Thursday, February 25, 2010

slide-29
SLIDE 29

Key Metrics

  • Overwrites
  • Consecutive writes to a block without an intervening read
  • Write-after-Write (WAW) Times
  • Time between two consecutive writes to the same block

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

WAW

Thursday, February 25, 2010

slide-30
SLIDE 30

Key Metrics

  • Overwrites
  • Consecutive writes to a block without an intervening read
  • Write-after-Write (WAW) Times
  • Time between two consecutive writes to the same block
  • Read-after-Write (RAW) Times
  • Time between a write and a subsequent read to the same block

8

W: 100 W: 100 W: 100 W: 100 R: 100 W: 200 R: 200 W: 200 R: 200

RAW WAW

Thursday, February 25, 2010

slide-31
SLIDE 31

Why Overwrites? Lifetime of a Block

9

Thursday, February 25, 2010

slide-32
SLIDE 32

Why Overwrites? Lifetime of a Block

9

R: 100

Time

Thursday, February 25, 2010

slide-33
SLIDE 33

Why Overwrites? Lifetime of a Block

9

W: 100 W: 100 W: 100 W: 100 R: 100

Writeback to disk Time

Thursday, February 25, 2010

slide-34
SLIDE 34

Why Overwrites? Lifetime of a Block

9

W: 100 W: 100 W: 100 W: 100 R: 100 R: 100

Evicted from FS buffer cache Time

Thursday, February 25, 2010

slide-35
SLIDE 35

Why Overwrites? Lifetime of a Block

9

W: 100 W: 100 W: 100 W: 100 R: 100 R: 100

Evicted from FS buffer cache

W: 100

Coalesced write to SSD 75% write savings Time

Thursday, February 25, 2010

slide-36
SLIDE 36

Top Overwritten Files in Desktops

10

Rank Filename 1 C:\Outlook.ost 2 C:\...\Search\...\Windows.edb 3 C:\$Bitmap 4 C:\Windows\Prefetch\Layout.ini 5 C:\Users\<name>\NTUSER.DAT 6 C:\$Mft

Thursday, February 25, 2010

slide-37
SLIDE 37

Ideal Write Savings: Remove Overwrites

11

Thursday, February 25, 2010

slide-38
SLIDE 38

Ideal Write Savings: Remove Overwrites

11

25 50 75 100

Write Savings (%)

Desktops Servers Linux

Thursday, February 25, 2010

slide-39
SLIDE 39

Ideal Write Savings: Remove Overwrites

11

25 50 75 100

Write Savings (%)

Desktops Servers Linux

14% 94%

Thursday, February 25, 2010

slide-40
SLIDE 40

Ideal Write Savings: Remove Overwrites

11

25 50 75 100

Write Savings (%)

52% Average Write Savings

Desktops Servers Linux

14% 94%

Thursday, February 25, 2010

slide-41
SLIDE 41

WAW/RAW Time Intervals

12

WAW RAW

Cumulative Time Interval (%) Histogram Buckets (seconds)

Thursday, February 25, 2010

slide-42
SLIDE 42

10 30 60 120 300 600 900 3600 Inf

25 50 75 100

WAW/RAW Time Intervals

12

WAW RAW

Cumulative Time Interval (%) Histogram Buckets (seconds)

Thursday, February 25, 2010

slide-43
SLIDE 43

10 30 60 120 300 600 900 3600 Inf

25 50 75 100

WAW/RAW Time Intervals

12

Overwrites happen quickly

WAW RAW

Cumulative Time Interval (%) Histogram Buckets (seconds)

Thursday, February 25, 2010

slide-44
SLIDE 44

10 30 60 120 300 600 900 3600 Inf

25 50 75 100

WAW/RAW Time Intervals

12

Written data is read late

WAW RAW

Cumulative Time Interval (%) Histogram Buckets (seconds)

Thursday, February 25, 2010

slide-45
SLIDE 45

Summary of Observations

13

Thursday, February 25, 2010

slide-46
SLIDE 46

Summary of Observations

  • Large fraction of overwrites
  • Potential of 36% to 64% reduction for desktops
  • As much as 94% in server workloads (web server)
  • Linux: 62% in desktop and 81% in servers (web server)

13

Thursday, February 25, 2010

slide-47
SLIDE 47

Summary of Observations

  • Large fraction of overwrites
  • Potential of 36% to 64% reduction for desktops
  • As much as 94% in server workloads (web server)
  • Linux: 62% in desktop and 81% in servers (web server)
  • Overwrites happen quickly, reads after a long interval
  • Over 50% of overwrites within 30 seconds
  • Only 21% of written data read within 15 minutes

13

Thursday, February 25, 2010

slide-48
SLIDE 48

Outline

  • Motivating Workload Characteristics
  • Disk-based Write Caching
  • Basic algorithm
  • Performance tradeoffs
  • Experimental Results
  • Conclusions

14

Thursday, February 25, 2010

slide-49
SLIDE 49

Griffin: Handling Writes

15

HDD S S D

Griffin

LOG: 1

Thursday, February 25, 2010

slide-50
SLIDE 50

Griffin: Handling Writes

15

HDD S S D

Griffin

W: 100 LOG: 1

Thursday, February 25, 2010

slide-51
SLIDE 51

Griffin: Handling Writes

15

HDD S S D

Griffin

W: 100 LOG: 1

Send to Hard Disk

Thursday, February 25, 2010

slide-52
SLIDE 52

Griffin: Handling Writes

15

HDD S S D

Griffin

LOG: 1 LOG: 2 Block Log

100 1 Blockmap Memory

Thursday, February 25, 2010

slide-53
SLIDE 53

Griffin: Handling Writes

15

HDD S S D

Griffin

LOG: 1 LOG: 2 LOG: 3 Block Log

100 1 200 2 Blockmap Memory

Thursday, February 25, 2010

slide-54
SLIDE 54

Griffin: Handling Reads

16

HDD S S D

Griffin

LOG: 3 Block Log

100 1 200 2 Blockmap Memory

Thursday, February 25, 2010

slide-55
SLIDE 55

Griffin: Handling Reads

16

HDD S S D

Griffin

R: 100 LOG: 3 Block Log

100 1 200 2 Blockmap Memory

Thursday, February 25, 2010

slide-56
SLIDE 56

Griffin: Handling Reads

16

HDD S S D

Griffin

R: 100 LOG: 3 Block Log

100 1 200 2 Blockmap

Check Blockmap

Memory

Thursday, February 25, 2010

slide-57
SLIDE 57

Griffin: Handling Reads

16

HDD S S D

Griffin

LOG: 3 R: 300 Block Log

100 1 200 2 Blockmap Memory

Thursday, February 25, 2010

slide-58
SLIDE 58

Griffin: Handling Reads

16

HDD S S D

Griffin

LOG: 3 Block Log

100 1 200 2 Blockmap Memory

Thursday, February 25, 2010

slide-59
SLIDE 59

Griffin: Data Migration

17

HDD S S D

Griffin

Block Log

100 1 200 2 Blockmap Memory

Thursday, February 25, 2010

slide-60
SLIDE 60

Griffin: Data Migration

17

HDD S S D

Griffin

Block Log

100 1 200 2 Blockmap

Migrate data to SSD

Memory

Thursday, February 25, 2010

slide-61
SLIDE 61

Griffin: Data Migration

17

HDD S S D

Griffin

Block Log

Blockmap

Thursday, February 25, 2010

slide-62
SLIDE 62

Tradeoff: Write Savings vs. Read Penalty

18

Thursday, February 25, 2010

slide-63
SLIDE 63

Tradeoff: Write Savings vs. Read Penalty

18

What to cache? How long to cache?

All Writes Long Time

Thursday, February 25, 2010

slide-64
SLIDE 64

Tradeoff: Write Savings vs. Read Penalty

18

W r i t e S a v i n g s

What to cache? How long to cache?

All Writes Long Time

Thursday, February 25, 2010

slide-65
SLIDE 65

Tradeoff: Write Savings vs. Read Penalty

18

R e a d P e n a l t y W r i t e S a v i n g s

What to cache? How long to cache?

All Writes Long Time

Thursday, February 25, 2010

slide-66
SLIDE 66

Tradeoff: Write Savings vs. Read Penalty

18

R e a d P e n a l t y W r i t e S a v i n g s

What to cache? How long to cache?

All Writes Long Time

What to cache?

Thursday, February 25, 2010

slide-67
SLIDE 67

What to cache?: Overwrite Distribution

19

25 50 75 100 0.01 0.1 1 10 100 Percentage of Overwrites Percentage of Written Blocks

Thursday, February 25, 2010

slide-68
SLIDE 68

What to cache?: Overwrite Distribution

19

1% of the blocks receive 70% of

  • verwrites

25 50 75 100 0.01 0.1 1 10 100 Percentage of Overwrites Percentage of Written Blocks

Thursday, February 25, 2010

slide-69
SLIDE 69

Selective Write-Caching

20

HDD S S D

Griffin

LOG: 1

Thursday, February 25, 2010

slide-70
SLIDE 70

Selective Write-Caching

20

HDD S S D

Griffin

W: 100 LOG: 1

Blockmap

Block Overwritten? Log

100 ✔

Thursday, February 25, 2010

slide-71
SLIDE 71

Selective Write-Caching

20

HDD S S D

Griffin

W: 100 LOG: 1

Blockmap

Block Overwritten? Log

100 ✔

Is heavily

  • verwritten?

Thursday, February 25, 2010

slide-72
SLIDE 72

Selective Write-Caching

20

HDD S S D

Griffin

LOG: 1 LOG: 2

Blockmap

Block Overwritten? Log

100 ✔ 1

Thursday, February 25, 2010

slide-73
SLIDE 73

Selective Write-Caching

20

HDD S S D

Griffin

LOG: 1 LOG: 2

Blockmap

Block Overwritten? Log

100 ✔ 1

Thursday, February 25, 2010

slide-74
SLIDE 74

Tradeoff: Write Savings vs. Read Penalty

21

R e a d P e n a l t y W r i t e S a v i n g s

What to cache? How long to cache?

All Writes Long Time

Thursday, February 25, 2010

slide-75
SLIDE 75

Tradeoff: Write Savings vs. Read Penalty

21

R e a d P e n a l t y W r i t e S a v i n g s

What to cache? How long to cache?

All Writes Long Time

How long to cache?

Thursday, February 25, 2010

slide-76
SLIDE 76

25 50 75 100

10 30 60 120 300 600 900 3600 Inf

How long to cache?: Time Intervals

22

Overwrites happen quickly Written data is read late

WAW RAW

Cumulative Time Interval (%) Histogram Buckets (seconds)

Thursday, February 25, 2010

slide-77
SLIDE 77

25 50 75 100

10 30 60 120 300 600 900 3600 Inf

How long to cache?: Time Intervals

22

Overwrites happen quickly Written data is read late

WAW RAW

Cumulative Time Interval (%) Histogram Buckets (seconds)

Thursday, February 25, 2010

slide-78
SLIDE 78

25 50 75 100

10 30 60 120 300 600 900 3600 Inf

How long to cache?: Time Intervals

22

Overwrites happen quickly Written data is read late

WAW RAW

Cumulative Time Interval (%) Histogram Buckets (seconds)

Thursday, February 25, 2010

slide-79
SLIDE 79

How long to cache?: Migration Triggers

23

Thursday, February 25, 2010

slide-80
SLIDE 80

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

slide-81
SLIDE 81

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

slide-82
SLIDE 82

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

slide-83
SLIDE 83

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

slide-84
SLIDE 84

10 20 30 40 50 60 70 80 90 100 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 SSD write savings (percentage of total writes) Traces

Full Caching Selective Caching

What to Cache?: Write Savings

25

Thursday, February 25, 2010

slide-85
SLIDE 85

10 20 30 40 50 60 70 80 90 100 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 SSD write savings (percentage of total writes) Traces

Full Caching Selective Caching

What to Cache?: Write Savings

25

Migrated at the end of trace

Thursday, February 25, 2010

slide-86
SLIDE 86

10 20 30 40 50 60 70 80 90 100 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 SSD write savings (percentage of total writes) Traces

Full Caching Selective Caching

What to Cache?: Write Savings

25

Migrated at the end of trace 25%

Thursday, February 25, 2010

slide-87
SLIDE 87

10 20 30 40 50 60 70 80 90 100 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 SSD write savings (percentage of total writes) Traces

Full Caching Selective Caching

What to Cache?: Write Savings

25

Migrated at the end of trace 51% 25%

Thursday, February 25, 2010

slide-88
SLIDE 88

20 40 60 80 100 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 HDD read penalty (percentage of total reads) Traces

Full Caching Selective Caching

What to Cache?: Read Penalty

26

Thursday, February 25, 2010

slide-89
SLIDE 89

20 40 60 80 100 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 HDD read penalty (percentage of total reads) Traces

Full Caching Selective Caching

What to Cache?: Read Penalty

26

Migrated at the end of trace

Thursday, February 25, 2010

slide-90
SLIDE 90

20 40 60 80 100 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 HDD read penalty (percentage of total reads) Traces

Full Caching Selective Caching

What to Cache?: Read Penalty

26

Migrated at the end of trace 19%

Thursday, February 25, 2010

slide-91
SLIDE 91

How Long to Cache?: Write Savings

27

20 40 60 80 100 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 SSD write savings (percentage of total writes) Traces

Migration timeout 3600 s Migration timeout 1800 s Migration timeout 900 s

Thursday, February 25, 2010

slide-92
SLIDE 92

How Long to Cache?: Write Savings

27

15min gives large savings

20 40 60 80 100 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 SSD write savings (percentage of total writes) Traces

Migration timeout 3600 s Migration timeout 1800 s Migration timeout 900 s

Thursday, February 25, 2010

slide-93
SLIDE 93

How Long to Cache?: Write Savings

27

15min gives large savings 1hr less additional benefit

20 40 60 80 100 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 SSD write savings (percentage of total writes) Traces

Migration timeout 3600 s Migration timeout 1800 s Migration timeout 900 s

Thursday, February 25, 2010

slide-94
SLIDE 94

How Long to Cache?: Read Penalty

28

20 40 60 80 100 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 HDD read penalty (percentage of total reads) Traces

Migration timeout 3600 s Migration timeout 1800 s Migration timeout 900 s

Thursday, February 25, 2010

slide-95
SLIDE 95

How Long to Cache?: Read Penalty

28

7%

20 40 60 80 100 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 HDD read penalty (percentage of total reads) Traces

Migration timeout 3600 s Migration timeout 1800 s Migration timeout 900 s

Thursday, February 25, 2010

slide-96
SLIDE 96

20 40 60 80 100 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 SSD block erasure savings (%) Traces

Savings with a simple FTL Savings with an ideal FTL

Performance Summary: Erasure Savings

29

Thursday, February 25, 2010

slide-97
SLIDE 97

20 40 60 80 100 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 SSD block erasure savings (%) Traces

Savings with a simple FTL Savings with an ideal FTL

Performance Summary: Erasure Savings

29

Direct block-level mapping

Thursday, February 25, 2010

slide-98
SLIDE 98

20 40 60 80 100 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 SSD block erasure savings (%) Traces

Savings with a simple FTL Savings with an ideal FTL

Performance Summary: Erasure Savings

29

Direct block-level mapping Log structured page-level mapping

Thursday, February 25, 2010

slide-99
SLIDE 99

20 40 60 80 100 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 SSD block erasure savings (%) Traces

Savings with a simple FTL Savings with an ideal FTL

Performance Summary: Erasure Savings

29

> 2x

Thursday, February 25, 2010

slide-100
SLIDE 100

Performance Summary: I/O Latency

30

0.2 0.4 0.6 0.8 1 Total Read Write Total Read Write Relative I/O latency Workload T1 Workload T2 HDD 7.2K HDD 10K MLC SLC

Thursday, February 25, 2010

slide-101
SLIDE 101

Performance Summary: I/O Latency

30

0.2 0.4 0.6 0.8 1 Total Read Write Total Read Write Relative I/O latency Workload T1 Workload T2 HDD 7.2K HDD 10K MLC SLC

Most I/O intensive segments (2hr) - desktop

Thursday, February 25, 2010

slide-102
SLIDE 102

Performance Summary: I/O Latency

30

0.2 0.4 0.6 0.8 1 Total Read Write Total Read Write Relative I/O latency Workload T1 Workload T2 HDD 7.2K HDD 10K MLC SLC

0.44

Thursday, February 25, 2010

slide-103
SLIDE 103

Performance Summary: I/O Latency

30

0.2 0.4 0.6 0.8 1 Total Read Write Total Read Write Relative I/O latency Workload T1 Workload T2 HDD 7.2K HDD 10K MLC SLC

0.44 0.15

Thursday, February 25, 2010

slide-104
SLIDE 104

More in the Paper

31

Thursday, February 25, 2010

slide-105
SLIDE 105

More in the Paper

  • Evaluation of other policies
  • Different migration triggers

31

Thursday, February 25, 2010

slide-106
SLIDE 106

More in the Paper

  • Evaluation of other policies
  • Different migration triggers
  • Failure handling
  • Have state on two devices
  • Recovery more intricate
  • Leverage existing journalling and recovery techniques
  • More details in the paper

31

Thursday, February 25, 2010

slide-107
SLIDE 107

Conclusions

  • SSDs starting to appear in desktops/laptops
  • Contain more write-intensive workloads
  • Lifetimes limited due to limit of block erasures
  • Built Griffin hybrid disk
  • Uses hard drive as a write-cache
  • Reduces writes while maintaining performance
  • Reduces writes by 52% (< 5% HDD reads)
  • Improves lifetime by factor of 2
  • Reduces average I/O latency by 56%

32

Thursday, February 25, 2010

slide-108
SLIDE 108

Griffin picture from: http://www.e-wollmann.com/griffin.jpg

Thank you

33

Thursday, February 25, 2010

slide-109
SLIDE 109

Related Work

  • SSD Lifetimes
  • Shown to degrade over time
  • Grupp et. al [ISM’09]
  • Desyoners [HotStorage’09], Boboila et. al [FAST’10]
  • Hybrid drives
  • Used SSD as cache for hard drive
  • Kotsidas et. al [VLDB’08], Combo drive [WISH’09]
  • Windows ReadyBoost
  • caches data normally paged out the HDD
  • Intel Turbo Memory and Sun ZFS+Flash

34

Thursday, February 25, 2010

slide-110
SLIDE 110

Improved Sequentiality

35

Griffin Default

60 80 100 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 Sequential writes (percentage of total writes) Traces 20 40

Thursday, February 25, 2010