the unwritten contract of solid state drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · ssd...

164
The Unwritten Contract of Solid State Drives Jun He, Sudarsun Kannan, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau Department of Computer Sciences, University of Wisconsin - Madison

Upload: others

Post on 16-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

The Unwritten Contract of Solid State Drives

Jun He, Sudarsun Kannan,Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau

Department of Computer Sciences, University of Wisconsin - Madison

Page 2: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

0

5

10

15

2012 2013 2014 2015E 2016E 2017E 2018E 2019EYear

Rev

enue

(Billi

on D

olla

rs)

Enterprise HDD Enterprise SSD

Enterprise SSD revenue is expected to exceed enterprise HDD in 2017

HDD

SSD

Source: Gartner, Stifel Estimates https://www.theregister.co.uk/2016/01/07/gartner_enterprise_ssd_hdd_revenue_crossover_in_2017/

2017

Page 3: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Storage stack is shifting from the HDD era to the SSD era

App

FS

Page 4: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Storage stack is shifting from the HDD era to the SSD era

App

FS

Page 5: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Storage stack is shifting from the HDD era to the SSD era

App

FS

App

FS

Page 6: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Storage stack is shifting from the HDD era to the SSD era

App

FS

App

FS

?

?

Page 7: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Storage stack is shifting from the HDD era to the SSD era

App

FS

App

FS

?

?

?

Page 8: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Storage stack is shifting from the HDD era to the SSD era

App

FS

App

FS

?

?

?

Page 9: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Appfor

SSD

FSfor

SSD

Storage stack is shifting from the HDD era to the SSD era

App

FS

App

FS

?

?

?

Page 10: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Appfor

SSD

FSfor

SSD

Storage stack is shifting from the HDD era to the SSD era

App

FS

App

FS

?

?

?

??

Page 11: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Appfor

SSD

FSfor

SSD

Storage stack is shifting from the HDD era to the SSD era

App

FS

App

FS

?

?

? ?

??

Page 12: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

The consequences of misusing SSDs

http://crestingwave.com/sites/default/files/collateral/velobit_whitepaper_ssdperformancetips.pdf S. Boboila and P. Desnoyers. Write Endurance in Flash Drives: Measurements and Analysis. In Proceedings of the 8th USENIX Symposium on File and Storage

Technologies (FAST ’10), San Jose, California, February 2010

Page 13: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

The consequences of misusing SSDs

http://crestingwave.com/sites/default/files/collateral/velobit_whitepaper_ssdperformancetips.pdf S. Boboila and P. Desnoyers. Write Endurance in Flash Drives: Measurements and Analysis. In Proceedings of the 8th USENIX Symposium on File and Storage

Technologies (FAST ’10), San Jose, California, February 2010

Performance degradation

Page 14: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

The consequences of misusing SSDs

http://crestingwave.com/sites/default/files/collateral/velobit_whitepaper_ssdperformancetips.pdf S. Boboila and P. Desnoyers. Write Endurance in Flash Drives: Measurements and Analysis. In Proceedings of the 8th USENIX Symposium on File and Storage

Technologies (FAST ’10), San Jose, California, February 2010

Performance degradation Performance fluctuation

Page 15: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

The consequences of misusing SSDs

http://crestingwave.com/sites/default/files/collateral/velobit_whitepaper_ssdperformancetips.pdf S. Boboila and P. Desnoyers. Write Endurance in Flash Drives: Measurements and Analysis. In Proceedings of the 8th USENIX Symposium on File and Storage

Technologies (FAST ’10), San Jose, California, February 2010

Early end of device life

Performance degradation Performance fluctuation

Page 16: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

Page 17: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

Block Device Interface: read(range), write(range), discard(range)

Page 18: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

Block Device Interface: read(range), write(range), discard(range)

• Sequential accesses are best• Nearby accesses are more

efficient than farther ones

MEMS-based storage devices and standard disk interfaces: A square peg in a round hole?

Steven W. Schlosser, Gregory R. Ganger FAST’04

Unwritten Contract of HDDs

Page 19: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

Block Device Interface: read(range), write(range), discard(range)

• Sequential accesses are best• Nearby accesses are more

efficient than farther ones

MEMS-based storage devices and standard disk interfaces: A square peg in a round hole?

Steven W. Schlosser, Gregory R. Ganger FAST’04

Unwritten Contract of HDDs Unwritten Contract of SSDs

?

Page 20: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

Page 21: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

• Existing studies

Page 22: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

• Existing studies• Experience of implementing a detailed SSD

simulator

Page 23: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

• Existing studies• Experience of implementing a detailed SSD

simulator• Analysis of experiments

Page 24: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What is the right way to achieve high performance on SSDs?

• Existing studies• Experience of implementing a detailed SSD

simulator• Analysis of experiments

The Unwritten Contract of SSDs

Page 25: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Do the current apps/FSes comply with the unwritten contract of SSDs?

Page 26: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Do the current apps/FSes comply with the unwritten contract of SSDs?

LevelDB RocksDBSQLite(RollBack)

SQLite(WAL) Varmail5 apps

for SSD

Page 27: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Do the current apps/FSes comply with the unwritten contract of SSDs?

LevelDB RocksDBSQLite(RollBack)

SQLite(WAL) Varmail5 apps

for SSD

ext4 F2FS XFSfor

SSD

3 file systems

Page 28: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Do the current apps/FSes comply with the unwritten contract of SSDs?

LevelDB RocksDBSQLite(RollBack)

SQLite(WAL) Varmail5 apps

for SSD

ext4 F2FS XFSfor

SSD

3 file systems

Rule 1 Rule 2 Rule 3 Rule 4 Rule 5Contract

Page 29: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Do the current apps/FSes comply with the unwritten contract of SSDs?

LevelDB RocksDBSQLite(RollBack)

SQLite(WAL) Varmail5 apps

for SSD

ext4 F2FS XFSfor

SSD

3 file systems

Rule 1 Rule 2 Rule 3 Rule 4 Rule 5Contract

Page 30: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Do the current apps/FSes comply with the unwritten contract of SSDs?

LevelDB RocksDBSQLite(RollBack)

SQLite(WAL) Varmail5 apps

for SSD

ext4 F2FS XFSfor

SSD

3 file systems

Rule 1 Rule 2 Rule 3 Rule 4 Rule 5Contract

To study the contract, we built a sophisticated SSD simulator and workload analyzer

Page 31: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

In the paper

Page 32: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We made 24 detailed observations

In the paper

Page 33: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We made 24 detailed observations

We learned several high-level lessons

In the paper

Page 34: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Outline

OverviewSSD Unwritten Contract Violations of the Unwritten Contract Conclusions

Page 35: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Outline

Overview SSD Unwritten ContractViolations of the Unwritten Contract Conclusions

Page 36: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

Page 37: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

Page 38: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

Page 39: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Page 40: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Page 41: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Page 42: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Page 43: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Page 44: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Page 45: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Controller

Page 46: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Controller

FTL

Page 47: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Controller

FTL- address mapping - garbage collection - wear-leveling

Page 48: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Controller RAM

FTL- address mapping - garbage collection - wear-leveling

Page 49: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

SSD Background

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

P

P

P

Block

P

P

P…

P

P

P… …

Channel

Controller RAM

FTL Mapping Table Data Cache

- address mapping - garbage collection - wear-leveling

Page 50: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rules of the Unwritten Contract

#1 Request Scale #2 Locality #3 Aligned Sequentiality #4 Grouping by Death Time #5 Uniform Data Lifetime

Page 51: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request ScaleSSD clients should issue large data requests or multiple

outstanding data requests.

Page 52: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request ScaleSSD clients should issue large data requests or multiple

outstanding data requests.

Channel Channel Channel Channel

SSD

Page 53: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request ScaleSSD clients should issue large data requests or multiple

outstanding data requests.

Channel Channel Channel Channel

SSD

Request

Page 54: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request ScaleSSD clients should issue large data requests or multiple

outstanding data requests.

Channel Channel Channel Channel

SSD

Page 55: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request ScaleSSD clients should issue large data requests or multiple

outstanding data requests.

Channel Channel Channel Channel

SSD

High internal parallelism

Page 56: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request Scale Violation

Page 57: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request Scale Violation

Channel Channel Channel Channel

SSD

Page 58: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request Scale Violation

Channel Channel Channel Channel

SSD

Page 59: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request Scale Violation

Channel Channel Channel Channel

SSD

Wasted

Page 60: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request Scale Violation

Channel Channel Channel Channel

SSD

Wasted

If you violate the rule: - Low internal parallelism

Page 61: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule #1: Request Scale Violation

Channel Channel Channel Channel

SSD

Wasted

If you violate the rule: - Low internal parallelism

Performance impact: 18x read bandwidth10x write bandwidth

F. Chen, R. Lee, and X. Zhang. Essential Roles of Exploit- ing Internal Parallelism of Flash Memory Based Solid State Drives in High-speed Data Processing. In Proceedings of the 17th International Symposium on High Performance Com-

puter Architecture (HPCA-11), pages 266–277, San Antonio, Texas, February 2011.

Page 62: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Translation Cache

Rule 2: LocalitySSD clients should access with locality

RAM

FLASH

Logical to PhysicalMapping Table

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

Page 63: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Translation Cache

Rule 2: LocalitySSD clients should access with locality

RAM

FLASH

Logical to PhysicalMapping Table

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P PP P

Page 64: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Translation Cache

Rule 2: LocalitySSD clients should access with locality

RAM

FLASH

Logical to PhysicalMapping Table

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

Page 65: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Translation Cache

Rule 2: LocalitySSD clients should access with locality

RAM

FLASH

Logical to PhysicalMapping Table

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P PHit

Page 66: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Translation Cache

Rule 2: LocalitySSD clients should access with locality

RAM

FLASH

Logical to PhysicalMapping Table

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P PHit

High Cache Hit Ratio

Page 67: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Logical to PhysicalMapping Table

Rule 2: Locality ViolationSSD clients should access with locality

RAM

FLASH

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

Page 68: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Logical to PhysicalMapping Table

Rule 2: Locality ViolationSSD clients should access with locality

RAM

FLASH

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P P P P P P PP P P P P P P PP P

Page 69: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Logical to PhysicalMapping Table

Rule 2: Locality ViolationSSD clients should access with locality

RAM

FLASH

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P P P P P P PP P P P P P P PP P

If you violate the rule: - Translation cache misses- More translation entry reads/writes

Page 70: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Logical to PhysicalMapping Table

Rule 2: Locality ViolationSSD clients should access with locality

RAM

FLASH

SSD

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P

P P P P P P P PP P P P P P P PP P

If you violate the rule: - Translation cache misses- More translation entry reads/writes

Performance impact: 2.2x average response time

Y. Zhou, F. Wu, P. Huang, X. He, C. Xie, and J. Zhou. An Efficient Page-level FTL to Optimize Address Translation in Flash Memory. In Proceedings of the EuroSys

Conference (EuroSys ’15), Bordeaux, France, April 2015.

Page 71: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 3: Aligned Sequentiality

Details in the paper

Page 72: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death TimeData with similar death times should be

placed in the same block.

Page 73: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death TimeData with similar death times should be

placed in the same block.

1pm

1pm

1pm

1pm

2pm

2pm

2pm

2pm

Page 74: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death TimeData with similar death times should be

placed in the same block.

1pm

1pm

1pm

1pm

2pm

2pm

2pm

2pmTime 1pm 2pm

Page 75: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death TimeData with similar death times should be

placed in the same block.

1pm

1pm

1pm

1pm

2pm

2pm

2pm

2pmTime 1pm 2pm

Page 76: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death TimeData with similar death times should be

placed in the same block.

1pm

1pm

1pm

1pm

2pm

2pm

2pm

2pmTime 1pm 2pm

1pm

1pm

1pm

1pm

Page 77: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death TimeData with similar death times should be

placed in the same block.

1pm

1pm

1pm

1pm

2pm

2pm

2pm

2pmTime 1pm 2pm

1pm

1pm

1pm

1pm

Page 78: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death TimeData with similar death times should be

placed in the same block.

1pm

1pm

1pm

1pm

2pm

2pm

2pm

2pmTime 1pm 2pm

1pm

1pm

1pm

1pm

😀

Page 79: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death Time Violation

1pm

1pm

2pm

2pm

1pm

1pm

2pm

2pmTime 1pm 2pm

Page 80: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death Time Violation

1pm

1pm

2pm

2pm

1pm

1pm

2pm

2pmTime 1pm 2pm

Page 81: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 4: Grouping By Death Time Violation

1pm

1pm

2pm

2pm

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

1pm

1pm

2pm

2pm

Page 82: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

1pm

1pm

2pm

2pm

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

Rule 4: Grouping By Death Time Violation

2pm

2pm

Page 83: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

1pm

1pm

2pm

2pm

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

Rule 4: Grouping By Death Time Violation

2pm

2pm

Page 84: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

Rule 4: Grouping By Death Time Violation

2pm

2pm

Page 85: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

Rule 4: Grouping By Death Time Violation

Data movement!!!

2pm

2pm

Page 86: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

Rule 4: Grouping By Death Time Violation

Data movement!!!

2pm

2pm

😞

Page 87: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

Rule 4: Grouping By Death Time Violation

Data movement!!!

2pm

2pm

😞

If you violate the rule: - Performance penalty- Write amplification

Page 88: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

1pm

1pm

2pm

2pmTime 1pm 2pm

1pm

1pm

2pm

2pm

Rule 4: Grouping By Death Time Violation

Data movement!!!

2pm

2pm

😞

If you violate the rule: - Performance penalty- Write amplification

Performance impact: 4.8x write bandwidth

1.6x throughput1.8x block erasure count

C. Lee, D. Sim, J.-Y. Hwang, and S. Cho. F2FS: A New File System for Flash Storage. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST ’15), Santa Clara, California, February 2015.

J.-U. Kang, J. Hyun, H. Maeng, and S. Cho. The Multi- streamed Solid-State Drive. In 6th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage ’14), Philadelphia, PA, June 2014.

. Y. Cheng, F. Douglis, P. Shilane, G. Wallace, P. Desnoyers, and K. Li. Erasing Belady’s Limitations: In Search of Flash Cache Offline Optimality. In 2016 USENIX Annual Technical Conference (USENIX ATC 16), pages 379–392, Denver, CO, 2016. USENIX Association.

Page 89: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 5: Uniform Data LifetimeClients of SSDs should create data with similar lifetimes

Page 90: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 5: Uniform Data LifetimeClients of SSDs should create data with similar lifetimes

Lifetime

1 Day

Page 91: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 5: Uniform Data LifetimeClients of SSDs should create data with similar lifetimes

Usage Count: 0 0 0 0

SSD

Lifetime

1 Day

Page 92: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 5: Uniform Data LifetimeClients of SSDs should create data with similar lifetimes

Usage Count: 3 3 3 3

SSD

Lifetime

1 Day

Page 93: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Rule 5: Uniform Data LifetimeClients of SSDs should create data with similar lifetimes

Usage Count: 3 3 3 3

No wear-leveling needed

SSD

Lifetime

1 Day

Page 94: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lifetime

1 Day

1000 Years

Rule 5: Uniform Data Lifetime Violation

SSD

0 0 0 0Usage Count:

Page 95: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lifetime

1 Day

1000 Years

Rule 5: Uniform Data Lifetime Violation

SSD

1 1365*1000 365*1000Usage Count:

Page 96: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lifetime

1 Day

1000 Years

Rule 5: Uniform Data Lifetime Violation

SSD

1 1365*1000 365*1000Usage Count:

Some blocks wear out sooner

Frequent wear-leveling needed!!!

Page 97: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lifetime

1 Day

1000 Years

Rule 5: Uniform Data Lifetime Violation

SSD

1 1365*1000 365*1000Usage Count:

Some blocks wear out sooner

Frequent wear-leveling needed!!!

If you violate the rule: - Performance penalty- Write amplification

Page 98: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lifetime

1 Day

1000 Years

Rule 5: Uniform Data Lifetime Violation

SSD

1 1365*1000 365*1000Usage Count:

Some blocks wear out sooner

Frequent wear-leveling needed!!!

If you violate the rule: - Performance penalty- Write amplification

Performance impact: 1.6x write latency

S. Boboila and P. Desnoyers. Write Endurance in Flash Drives: Measurements and Analysis. In Proceedings of the 8th USENIX Symposium on File and Storage

Technologies (FAST ’10), San Jose, California, February 2010.

Page 99: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Outline

Overview SSD Unwritten Contract Violations of the Unwritten ContractConclusions

Page 100: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Do applications/file systems comply with the unwritten contract?

Page 101: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We conduct vertical analysis to find violations of SSD contract

Page 102: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We conduct vertical analysis to find violations of SSD contract

App

FS+

SSD

Page 103: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We conduct vertical analysis to find violations of SSD contract

Block Trace

App

FS+

SSD

Page 104: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We conduct vertical analysis to find violations of SSD contract

Block Trace

SSD Simulator: WiscSim

App

FS+

SSD

Page 105: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We conduct vertical analysis to find violations of SSD contract

Block Trace

SSD Simulator: WiscSim

App

FS+

SSD Rule violation?

Analyzer: WiscSee

Page 106: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We conduct vertical analysis to find violations of SSD contract

Block Trace

Root Cause

SSD Simulator: WiscSim

App

FS+

SSD Rule violation?

Analyzer: WiscSee

Page 107: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

2 of Our 24 Observations

1. Linux page cache limits request scale2. F2FS incurs more GC overhead than traditional file systems

Page 108: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

2 of Our 24 Observations

1. Linux page cache limits request scale2. F2FS incurs more GC overhead than traditional file systems

Page 109: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

10

20

30

0

10

20

30

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Num

of C

oncu

rren

t Req

uest

s

ext4 f2fs xfs

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

400

800

1200

0

400

800

1200

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Req

uest

Siz

e (K

B)

ext4 f2fs xfs

We evaluate request scale by request size and number of concurrent requests

Page 110: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

10

20

30

0

10

20

30

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Num

of C

oncu

rren

t Req

uest

s

ext4 f2fs xfs

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

400

800

1200

0

400

800

1200

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Req

uest

Siz

e (K

B)

ext4 f2fs xfs

We evaluate request scale by request size and number of concurrent requests

Page 111: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

10

20

30

0

10

20

30

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Num

of C

oncu

rren

t Req

uest

s

ext4 f2fs xfs

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

400

800

1200

0

400

800

1200

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Req

uest

Siz

e (K

B)

ext4 f2fs xfs

LevelDB & RocksDB: InsertionsBackground Compactions

We evaluate request scale by request size and number of concurrent requests

Page 112: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

10

20

30

0

10

20

30

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Num

of C

oncu

rren

t Req

uest

s

ext4 f2fs xfs

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

400

800

1200

0

400

800

1200

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Req

uest

Siz

e (K

B)

ext4 f2fs xfs

LevelDB & RocksDB: InsertionsBackground Compactions

Median: ~100KB

We evaluate request scale by request size and number of concurrent requests

Page 113: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

10

20

30

0

10

20

30

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Num

of C

oncu

rren

t Req

uest

s

ext4 f2fs xfs

leveldb rocksdb sqlite−rb sqlite−wal varmail

0

400

800

1200

0

400

800

1200

readw

rite

seq

rand mix

seq

rand mix

seq

rand mix

seq

rand mix

smal

lla

rge

mix

Req

uest

Siz

e (K

B)

ext4 f2fs xfs

LevelDB & RocksDB: InsertionsBackground Compactions

Median: ~100KB Median: ~2

We evaluate request scale by request size and number of concurrent requests

Page 114: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

LevelDB and RocksDB can access files in large sizes.

Why was the request scale low?

Page 115: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Buffered read(): Page cache implementation splits and serializes user requests

App

Page Cache

Block Layer

SSD

Page 116: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Buffered read(): Page cache implementation splits and serializes user requests

App

Page Cache

Block Layer

SSD

read() 2MB

Page 117: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Buffered read(): Page cache implementation splits and serializes user requests

App

Page Cache

Block Layer

SSD

read() 2MB

128KB 128KB 128KB …

Page 118: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Buffered read(): Page cache implementation splits and serializes user requests

App

Page Cache

Block Layer

SSD

read() 2MB

128KB 128KB 128KB … One request at a time

Page 119: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Buffered read(): Page cache implementation splits and serializes user requests

App

Page Cache

Block Layer

SSD

read() 2MB

128KB 128KB 128KB …

Surprise! Even reading 2MB in your app will not utilize SSD well.

One request at a time

Page 120: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Cause of Violation Large reads are throttled by small

prefetching (readahead).

Page 121: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

2 of Our 24 Observations

1. Linux page cache limits request scale2. F2FS incurs more GC overhead than traditional file systems

Page 122: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

2 of Our 24 Observations

1. Linux page cache limits request scale2. F2FS incurs more GC overhead than traditional file systems

Page 123: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We study GC (rule #3: grouping by death time) by zombie curves

Page 124: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What’s a zombie curve??

We study GC (rule #3: grouping by death time) by zombie curves

Page 125: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We study GC (rule #3: grouping by death time) by zombie curves

What’s a zombie curve?

Page 126: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We study GC (rule #3: grouping by death time) by zombie curves

What’s a zombie curve?Run workloads with infinite space over-provisioning

Page 127: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We study GC (rule #3: grouping by death time) by zombie curves

What’s a zombie curve?Run workloads with infinite space over-provisioning

Page 128: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We study GC (rule #3: grouping by death time) by zombie curves

What’s a zombie curve?Run workloads with infinite space over-provisioning

Valid

Page 129: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

We study GC (rule #3: grouping by death time) by zombie curves

What’s a zombie curve?Run workloads with infinite space over-provisioning

ValidInvalid

Page 130: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Valid ratio 1.0 0.25 0.75 0 0.75

We study GC (rule #3: grouping by death time) by zombie curves

Page 131: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Valid ratio 1.0 0.250.75 00.75

We study GC (rule #3: grouping by death time) by zombie curves

Page 132: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Valid ratio 1.0 0.250.75 00.75

We study GC (rule #3: grouping by death time) by zombie curves

Page 133: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Valid ratio 1.0 0.250.75 00.75

We study GC (rule #3: grouping by death time) by zombie curves

Page 134: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Valid ratio 1.0 0.250.75 00.75

We study GC (rule #3: grouping by death time) by zombie curves

Page 135: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Valid ratio 1.0 0.250.75 00.75

We study GC (rule #3: grouping by death time) by zombie curves

Page 136: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Valid ratio 1.0 0.250.75 00.75

We study GC (rule #3: grouping by death time) by zombie curves

Page 137: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What’s a good zombie curve?

Over-provisionedOver-provisioned

Page 138: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What’s a good zombie curve?

Over-provisionedOver-provisioned

Ready to be usedReady to be used

Page 139: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What’s a bad zombie curve?

Over-provisioned

Page 140: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

What’s a bad zombie curve?

Over-provisioned

Move data before use

Page 141: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

BTW, zombie curve helps you choose over-provisioning ratio

Over-provisioned

Page 142: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

BTW, zombie curve helps you choose over-provisioning ratio

Over-provisioned

Page 143: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

F2FS incurs a worse zombie curve (higher GC overhead) than ext4 for SQLite

Over-Provisioned

Flash Space0 10.5 1.5 2

0

0.25

0.5

0.75

1.0

Valid

Rat

io

Animations cannot be displayed in PDF. Please see the animations at

http://pages.cs.wisc.edu/~jhe/zombie.html

Page 144: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

F2FS incurs a worse zombie curve (higher GC overhead) than ext4 for SQLite

Over-Provisioned

Flash Space0 10.5 1.5 2

0

0.25

0.5

0.75

1.0

Valid

Rat

io

Animations cannot be displayed in PDF. Please see the animations at

http://pages.cs.wisc.edu/~jhe/zombie.html

Page 145: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

F2FS incurs a worse zombie curve (higher GC overhead) than ext4 for SQLite

Over-Provisioned

Flash Space0 10.5 1.5 2

0

0.25

0.5

0.75

1.0

Valid

Rat

io

ext4 Animations cannot be displayed in PDF. Please see the animations at

http://pages.cs.wisc.edu/~jhe/zombie.html

Page 146: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

F2FS incurs a worse zombie curve (higher GC overhead) than ext4 for SQLite

F2FS Over-Provisioned

Flash Space0 10.5 1.5 2

0

0.25

0.5

0.75

1.0

Valid

Rat

io

ext4 Animations cannot be displayed in PDF. Please see the animations at

http://pages.cs.wisc.edu/~jhe/zombie.html

Page 147: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

F2FS incurs a worse zombie curve (higher GC overhead) than ext4 for SQLite

F2FS Over-Provisioned

Flash Space0 10.5 1.5 2

0

0.25

0.5

0.75

1.0

Valid

Rat

io

ext4

Stable-state curves characterize workloads.

Animations cannot be displayed in PDF. Please see the animations at

http://pages.cs.wisc.edu/~jhe/zombie.html

Page 148: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

F2FS incurs a worse zombie curve (higher GC overhead) than ext4 for SQLite

F2FS Over-Provisioned

Flash Space0 10.5 1.5 2

0

0.25

0.5

0.75

1.0

Valid

Rat

io

ext4

Stable-state curves characterize workloads.

Animations cannot be displayed in PDF. Please see the animations at

http://pages.cs.wisc.edu/~jhe/zombie.html

Page 149: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Why did F2FS incur a worse zombie curve (GC overhead)?

Page 150: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Why did F2FS incur a worse zombie curve (GC overhead)?

• SQLite fragmented F2FS

Page 151: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Why did F2FS incur a worse zombie curve (GC overhead)?

• SQLite fragmented F2FS• F2FS did not discard data that was deleted by SQLite

Page 152: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Why did F2FS incur a worse zombie curve (GC overhead)?

• SQLite fragmented F2FS• F2FS did not discard data that was deleted by SQLite• F2FS was not able to stay log-structured for SQLite’s I/O pattern

Page 153: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

More Observations

Page 154: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

More Observations

Legacy file system allocation policies break locality

Page 155: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

More Observations

Legacy file system allocation policies break locality

Application log structuring does not reduce GC

Page 156: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

More Observations

Legacy file system allocation policies break locality

Application log structuring does not reduce GC

24 observations in the paper

Page 157: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lessons Learned

Page 158: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lessons LearnedThe SSD contract is multi-dimensional

• Optimizing for one dimension is not enough • We need more sophisticated tools to analyze

workloads

Page 159: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lessons LearnedThe SSD contract is multi-dimensional

• Optimizing for one dimension is not enough • We need more sophisticated tools to analyze

workloads

Although not perfect, traditional file systems perform surprisingly well upon SSDs

Page 160: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Lessons LearnedThe SSD contract is multi-dimensional

• Optimizing for one dimension is not enough • We need more sophisticated tools to analyze

workloads

Although not perfect, traditional file systems perform surprisingly well upon SSDs

Myths spread if the unwritten contract is not clarified

• “Random writes increase GC overhead”

Page 161: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

Conclusions

Page 162: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

ConclusionsUnderstanding the unwritten contract is crucial for designing high performance application and file systems

Page 163: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

ConclusionsUnderstanding the unwritten contract is crucial for designing high performance application and file systems

System designing demands more vertical analysis

Page 164: The Unwritten Contract of Solid State Drivespages.cs.wisc.edu/~jhe/nvmw18-slides.pdf · SSD simulator and workload analyzer. In the paper. We made 24 detailed observations In the

ConclusionsUnderstanding the unwritten contract is crucial for designing high performance application and file systems

System designing demands more vertical analysis

WiscSee (analyzer) and WiscSim (SSD simulator) are available at: http://research.cs.wisc.edu/adsl/Software/wiscsee