and Uniform Lifetime for Virtualized SSDs Jian Huang Anirudh Badam - - PowerPoint PPT Presentation

and uniform lifetime for virtualized ssds
SMART_READER_LITE
LIVE PREVIEW

and Uniform Lifetime for Virtualized SSDs Jian Huang Anirudh Badam - - PowerPoint PPT Presentation

FlashBlox: Achieving Both Performance Isolation and Uniform Lifetime for Virtualized SSDs Jian Huang Anirudh Badam Laura Caulfield Bikash Sharma Moinuddin K. Qureshi Suman Nath Sudipta Sengupta Flash Has Changed Over the


slide-1
SLIDE 1

FlashBlox: Achieving Both Performance Isolation and Uniform Lifetime for Virtualized SSDs

Jian Huang † Anirudh Badam Laura Caulfield Suman Nath Sudipta Sengupta Bikash Sharma Moinuddin K. Qureshi †

slide-2
SLIDE 2

Flash Has Changed Over the Last Decade

2

Performance Improvement

100x lower latency 5,000x higher throughput

slide-3
SLIDE 3

Flash Has Changed Over the Last Decade

2

Increased Parallelism

Dozens of

parallel chips

Performance Improvement

100x lower latency 5,000x higher throughput

slide-4
SLIDE 4

Flash Has Changed Over the Last Decade

2

Increased Parallelism

Dozens of

parallel chips

Became Commodity

Less than $0.3/GB

Performance Improvement

100x lower latency 5,000x higher throughput

slide-5
SLIDE 5

Flash Has Changed Over the Last Decade

2

Increased Parallelism

Dozens of

parallel chips

Became Commodity

Less than $0.3/GB

Significant improvements on Flash

Performance Improvement

100x lower latency 5,000x higher throughput

slide-6
SLIDE 6

Shared Flash-Based Solid State Disk (SSD) in the Cloud

3

…….

slide-7
SLIDE 7

Shared Flash-Based Solid State Disk (SSD) in the Cloud

3

…….

SSDs are virtualized and shared in data centers

slide-8
SLIDE 8

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

Channel

Chip Chip

……

… …

Flash Translation Layer

Performance Interference in Shared SSD

4

…….

Flash-based SSD: A Black Box

Write Read

slide-9
SLIDE 9

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

Channel

Chip Chip

……

… …

Flash Translation Layer

Performance Interference in Shared SSD

4

…….

Flash-based SSD: A Black Box

Write Read

Read/write interferences cause long (3x) tail latency!

slide-10
SLIDE 10

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

Channel

Chip Chip

……

… …

Flash Translation Layer

Performance Interference in Shared SSD

4

…….

Write Read

slide-11
SLIDE 11

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

Channel

Chip Chip

……

… …

Flash Translation Layer

Performance Interference in Shared SSD

4

…….

Write Read

slide-12
SLIDE 12

FlashBlox: Hardware Isolation in Cloud Storage

5

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

…….

Channel

Chip Chip

……

… …

Flash Translation Layer

slide-13
SLIDE 13

FlashBlox: Hardware Isolation in Cloud Storage

5

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

…….

Channel

Chip Chip

……

… …

Flash Translation Layer

Leveraging parallel chips for hardware isolation

slide-14
SLIDE 14

Internal Parallelism Enables Hardware Isolation

6

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

slide-15
SLIDE 15

Internal Parallelism Enables Hardware Isolation

6

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

Channel-Level Parallelism

slide-16
SLIDE 16

Internal Parallelism Enables Hardware Isolation

6

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

Channel-Level Parallelism

Chip-Level Parallelism

slide-17
SLIDE 17

Internal Parallelism Enables Hardware Isolation

6

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

Channel-Level Parallelism

Chip-Level Parallelism

Plane-Level Parallelism

Plane-level parallelism is constrained as each chip contains only one address buffer

slide-18
SLIDE 18

Internal Parallelism Enables Hardware Isolation

6

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

Channel-Level Parallelism

Chip-Level Parallelism

Plane-Level Parallelism

Different parallelism level provides different isolation guarantee

slide-19
SLIDE 19

New Abstractions for Hardware Isolation

7

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

slide-20
SLIDE 20

New Abstractions for Hardware Isolation

7

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

Virtual SSD (Chip Level) Virtual SSD (Channel Level) Virtual SSD (Plane Level)

High Medium Low

slide-21
SLIDE 21

New Abstractions for Hardware Isolation

7

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

Virtual SSD (Chip Level) Virtual SSD (Channel Level) Virtual SSD (Plane Level)

High Medium Low Software-based

slide-22
SLIDE 22

Hardware Isolation Meets the Pay-As-You-Go Model in Cloud

8

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

vSSD (Chip) vSSD (Channel) vSSD (Software)

slide-23
SLIDE 23

Hardware Isolation Meets the Pay-As-You-Go Model in Cloud

8

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

vSSD (Chip) vSSD (Channel) vSSD (Software)

Azure DocumentDB Azure SQL Database Amazon DynamoDB

slide-24
SLIDE 24

Hardware Isolation Meets the Pay-As-You-Go Model in Cloud

8

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

vSSD (Chip) vSSD (Channel) vSSD (Software)

Azure DocumentDB Azure SQL Database Amazon DynamoDB Throughput Single Partition Size Price

slide-25
SLIDE 25

Hardware Isolation Meets the Pay-As-You-Go Model in Cloud

8

Channel

Chip

plane plane

Chip

plane plane

Channel

Chip

plane plane

Chip

plane plane

……

……

……

… … …

Channel

Chip

plane plane

Chip

plane plane

……

… …

vSSD (Chip) vSSD (Channel) vSSD (Software)

Hundreds of vSSDs can be supported in a single server

slide-26
SLIDE 26

Impact of Hardware Isolation on SSD Lifetime

9

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

…….

Channel

Chip Chip

……

… …

Flash Translation Layer

slide-27
SLIDE 27

Impact of Hardware Isolation on SSD Lifetime

9

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

…….

Channel

Chip Chip

……

… …

Flash Translation Layer

0.5 1 1.5 2 2.5 3 3.5 4 4.5 Average #Blocks Erased/sec

The average rate at which flash blocks are erased

slide-28
SLIDE 28

Impact of Hardware Isolation on SSD Lifetime

9

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

…….

Channel

Chip Chip

……

… …

Flash Translation Layer

0.5 1 1.5 2 2.5 3 3.5 4 4.5 Average #Blocks Erased/sec

The average rate at which flash blocks are erased

slide-29
SLIDE 29

Impact of Hardware Isolation on SSD Lifetime

9

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

…….

Channel

Chip Chip

……

… …

Flash Translation Layer

0.5 1 1.5 2 2.5 3 3.5 4 4.5 Average #Blocks Erased/sec

The average rate at which flash blocks are erased

Flash blocks wear out at different rate with different workload

slide-30
SLIDE 30

Impact of Hardware Isolation on SSD Lifetime

9

Channel

Chip Chip

Channel

Chip Chip

……

……

……

… … …

…….

Channel

Chip Chip

……

… …

Flash Translation Layer Write Intensive

slide-31
SLIDE 31

FlashBlox Challenges

10

Chip

Chip

Chip

App App App SSD Lifetime Performance Isolation

slide-32
SLIDE 32

FlashBlox Challenges

10

Chip

Chip

Chip

App App App SSD Lifetime Performance Isolation

Chip

Chip

Chip

App App App SSD Lifetime Performance Isolation

slide-33
SLIDE 33

FlashBlox Challenges

10

Chip

Chip

Chip

App App App SSD Lifetime Performance Isolation SSD Lifetime

slide-34
SLIDE 34

FlashBlox: Swapping Channels for Wear Balance

11

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4

Adjusting the wear imbalance at a more coarse time granularity can achieve near-ideal SSD lifetime

slide-35
SLIDE 35

FlashBlox: Swapping Channels for Wear Balance

11

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4

The channel that has incurred the maximum wearout The channel that has the minimum rate of wearout

slide-36
SLIDE 36

FlashBlox: Swapping Channels for Wear Balance

11

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4

Channel migration takes 15 minutes, once per 19 days Overall performance drops only for 0.04% of all the time

slide-37
SLIDE 37

How Frequently Should We Swap?

12

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4

Imbalance = MaxWear / AvgWear

slide-38
SLIDE 38

How Frequently Should We Swap?

12

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M

Imbalance = MaxWear / AvgWear 4 App

slide-39
SLIDE 39

How Frequently Should We Swap?

12

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M M

Imbalance = MaxWear / AvgWear 4 2 App

slide-40
SLIDE 40

How Frequently Should We Swap?

12

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M M M

Imbalance = MaxWear / AvgWear 4 2 4/3 App

slide-41
SLIDE 41

How Frequently Should We Swap?

12

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M M M M

Imbalance = MaxWear / AvgWear 4 2 4/3 1 App

slide-42
SLIDE 42

How Frequently Should We Swap?

12

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M M M M

Imbalance = MaxWear / AvgWear 4 2 4/3 1

M

8/5

M

4/3

M

8/7

M

1 App

slide-43
SLIDE 43

How Frequently Should We Swap?

12

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M M M M

Imbalance = MaxWear / AvgWear 4 2 4/3 1

M

8/5

M

4/3

M

8/7

M

1 App

How many times should we swap within SSD lifetime?

slide-44
SLIDE 44

Quantifying the Swapping Frequency

13

Assume there are N channels, wear imbalance target: 1+x after K rounds of cycling: Wear Imbalance = (MK + M)/(MK + M/N) = (K + 1)/(K + 1/N) ≤ (1 + x)

Maximum Wearout Average Wearout

slide-45
SLIDE 45

Quantifying the Swapping Frequency

13

Assume there are N channels, wear imbalance target: 1+x after K rounds of cycling: Wear Imbalance = (MK + M)/(MK + M/N) = (K + 1)/(K + 1/N) ≤ (1 + x) K ≥ (N – 1 – x) / (Nx)

slide-46
SLIDE 46

Quantifying the Swapping Frequency

13

Assume there are N channels, wear imbalance target: 1+x after K rounds of cycling: Wear Imbalance = (MK + M)/(MK + M/N) = (K + 1)/(K + 1/N) ≤ (1 + x) K ≥ (N – 1 – x) / (Nx)

If N = 16, x = 0.1, then K = 9, which means after swap NK = 148 times, we can guarantee the wear imbalance is bounded in 1.1

slide-47
SLIDE 47

Quantifying the Swapping Frequency

13

Assume there are N channels, wear imbalance target: 1+x after K rounds of cycling: Wear Imbalance = (MK + M)/(MK + M/N) = (K + 1)/(K + 1/N) ≤ (1 + x) K ≥ (N – 1 – x) / (Nx)

If N = 16, x = 0.1, then K = 9, which means after swap NK = 148 times, we can guarantee the wear imbalance is bounded in 1.1

For an SSD with 5 years lifetime, swap once per 12 days can guarantee the channels are well balanced for worst case

slide-48
SLIDE 48

Adaptive Wear Leveling in Practice

14

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M M/3 M/2

App App App App

slide-49
SLIDE 49

Adaptive Wear Leveling in Practice

14

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4 M M/3 M/2

App App

Using erase rate as the trigger condition for swapping

App App

slide-50
SLIDE 50

Intra Channel Wear Leveling

15

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4

slide-51
SLIDE 51

Intra Channel Wear Leveling

15

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4

Chips will be swapped along with the channel migration

Chip

slide-52
SLIDE 52

Intra Channel Wear Leveling

15

Channel 1 Used Erase Cycles Channel 2 Channel 3 Channel 4

Chips will be swapped along with the channel migration

Chip

Intra-chip wear leveling mechanisms

+

slide-53
SLIDE 53

FlashBlox Architecture

16

App Channel-Level Wear Leveling Flash Resource Manager Chip-Level Wear Leveling

slide-54
SLIDE 54

FlashBlox Architecture

16

App Channel-Level Wear Leveling Flash Resource Manager App Virtual SSD App Virtual SSD … Chip-Level Wear Leveling

slide-55
SLIDE 55

Isolation, Bandwidth & Capacity Requirement (Virtual SSD to Parallel Chips Mappings)

FlashBlox Architecture

16

App Channel-Level Wear Leveling Flash Resource Manager App Virtual SSD App Virtual SSD … Chip-Level Wear Leveling

slide-56
SLIDE 56

Isolation, Bandwidth & Capacity Requirement (Virtual SSD to Parallel Chips Mappings)

FlashBlox Architecture

16

App Channel-Level Wear Leveling Flash Resource Manager App Virtual SSD App Virtual SSD … Chip-Level Wear Leveling

Pay-As-You-Go Model in Cloud

slide-57
SLIDE 57

Inter Channel Swapping Isolation, Bandwidth & Capacity Requirement (Virtual SSD to Parallel Chips Mappings)

FlashBlox Architecture

16

App Channel-Level Wear Leveling Flash Resource Manager App Virtual SSD App Virtual SSD … Chip-Level Wear Leveling

Channel Channel

slide-58
SLIDE 58

Intra Channel Swapping Intra Channel Swapping Other FTL Algorithms … … … Inter Channel Swapping Isolation, Bandwidth & Capacity Requirement (Virtual SSD to Parallel Chips Mappings)

FlashBlox Architecture

16

App Channel-Level Wear Leveling Flash Resource Manager App Virtual SSD App Virtual SSD … Chip-Level Wear Leveling

Channel Channel

slide-59
SLIDE 59

FlashBlox Experimental Setup

17

14 data center workloads

16 channels 4 chips 4 planes 16 KB page size

Yahoo Cloud Service Benchmark Bing Search / Index / PageRank Transactional Database Azure Storage

slide-60
SLIDE 60

Tail Latency Reduction with FlashBlox

18

100 200 300 400 500 600 700 A+A A+B A+C A+D A+E A+F 99th Percentile Latency (microsecons) Yahoo Cloud Service Benchmark (YCSB) App1-Software Isolation App1-FlashBlox App2-Software Isolation App2-FlashBlox

App1 App2

A: Session store recording recent actions B: Photo tagging C: User profile cache D: User status update E: Threaded conversations F: User database

slide-61
SLIDE 61

Tail Latency Reduction with FlashBlox

18

100 200 300 400 500 600 700 A+A A+B A+C A+D A+E A+F 99th Percentile Latency (microsecons) Yahoo Cloud Service Benchmark (YCSB) App1-Software Isolation App1-FlashBlox App2-Software Isolation App2-FlashBlox

Tail latency reduction: 2.6x, average latency reduction: 1.4x

App1 App2

slide-62
SLIDE 62

Impact of Channel Migration on Application Performance

19

0.1 0.2 0.3 0.4 0.5 0.6 Latency (milliseconds) Time (Seconds)

Bing Search’s Performance During Channel Migration Without Migration With Migration

slide-63
SLIDE 63

Impact of Channel Migration on Application Performance

19

0.1 0.2 0.3 0.4 0.5 0.6 Latency (milliseconds) Time (Seconds)

Bing Search’s Performance During Channel Migration Without Migration With Migration 34%

slide-64
SLIDE 64

Impact of Channel Migration on Application Performance

19

Channel migration takes 15 minutes, once per 19 days Overall performance drops only for 0.04% of all the time

0.1 0.2 0.3 0.4 0.5 0.6 Latency (milliseconds) Time (Seconds)

Bing Search’s Performance During Channel Migration Without Migration With Migration 34%

slide-65
SLIDE 65

FlashBlox Summary

20

2.6x reduction on tail latency Near-ideal SSD lifetime

Swap once per 19 days

slide-66
SLIDE 66

21

Thanks!

Jian Huang† jian.huang@gatech.edu

Anirudh Badam Laura Caulfield Suman Nath Sudipta Sengupta Bikash Sharma Moinuddin K. Qureshi †

Q&A