119
Filesystem Aging: It’s More Usage than Fullness Alex Conway, Eric Knorr, Yizheng Jiao, Michael A. Bender, William Jannen, Rob Johnson, Donald Porter, and Martin Farach-Colton

Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Filesystem Aging:It’s More Usage than Fullness

Alex Conway, Eric Knorr, Yizheng Jiao, Michael A. Bender, William Jannen, Rob Johnson, Donald Porter, and Martin Farach-Colton

Page 2: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What is filesystem aging?

Aging is fragmentation over time

Page 3: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What is filesystem aging?

Aging is fragmentation over time

Page 4: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What is filesystem aging?

Aging is fragmentation over time

Performance

File

Sys

tem

Spe

ed

Time

Page 5: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Is aging a problem?

Page 6: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Is aging a problem?

Page 7: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Chris Hoffman at howtogeek.com says:

“Linux’s ext2, ext3, and ext4 file systems… [are] designed to avoid fragmentation in normal use.”

“If you do have problems with fragmentation on Linux, you probably need a larger hard disk.”

Is aging a problem?

Page 8: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Chris Hoffman at howtogeek.com says:

“Linux’s ext2, ext3, and ext4 file systems… [are] designed to avoid fragmentation in normal use.”

“If you do have problems with fragmentation on Linux, you probably need a larger hard disk.”

“Modern Linux filesystems keep fragmentation at a minimum…Therefore it

is not necessary to worry about fragmentation in a Linux system.”

Is aging a problem?

Page 9: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Chris Hoffman at howtogeek.com says:

“Linux’s ext2, ext3, and ext4 file systems… [are] designed to avoid fragmentation in normal use.”

“If you do have problems with fragmentation on Linux, you probably need a larger hard disk.”

“Modern Linux filesystems keep fragmentation at a minimum…Therefore it

is not necessary to worry about fragmentation in a Linux system.”

Is aging a problem?

Aging is not a problem

(unless your disk is full)

Page 10: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Chris Hoffman at howtogeek.com says:

“Linux’s ext2, ext3, and ext4 file systems… [are] designed to avoid fragmentation in normal use.”

“If you do have problems with fragmentation on Linux, you probably need a larger hard disk.”

“Modern Linux filesystems keep fragmentation at a minimum…Therefore it

is not necessary to worry about fragmentation in a Linux system.”

Is aging a problem?

Aging is not a problem

(unless your disk is full)

Page 11: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work: Aging is a problem!

Page 12: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

Page 13: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

“File Systems Fated for Senescence? Nonsense, says Science!” Conway et. al. FAST 2017

Page 14: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

“File Systems Fated for Senescence? Nonsense, says Science!” Conway et. al. FAST 2017

On modern filesystems, aging is severe and happens quickly even if your disk is almost empty.

Page 15: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

“File Systems Fated for Senescence? Nonsense, says Science!” Conway et. al. FAST 2017

“Geriatrix: Aging what you see and what you don’t see. A file system aging approach for modern storage systems” Kadekodi et. al. ATC 2018

On modern filesystems, aging is severe and happens quickly even if your disk is almost empty.

Page 16: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

“File Systems Fated for Senescence? Nonsense, says Science!” Conway et. al. FAST 2017

“Geriatrix: Aging what you see and what you don’t see. A file system aging approach for modern storage systems” Kadekodi et. al. ATC 2018

On modern filesystems, aging is severe and happens quickly even if your disk is almost empty.

Real world file systems show a lot of aging, as well as free space fragmentation.

Page 17: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

“File Systems Fated for Senescence? Nonsense, says Science!” Conway et. al. FAST 2017

“Geriatrix: Aging what you see and what you don’t see. A file system aging approach for modern storage systems” Kadekodi et. al. ATC 2018

On modern filesystems, aging is severe and happens quickly even if your disk is almost empty.

Real world file systems show a lot of aging, as well as free space fragmentation.

Claim: Only happens when

the disk is full

Page 18: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

“File Systems Fated for Senescence? Nonsense, says Science!” Conway et. al. FAST 2017

“Geriatrix: Aging what you see and what you don’t see. A file system aging approach for modern storage systems” Kadekodi et. al. ATC 2018

On modern filesystems, aging is severe and happens quickly even if your disk is almost empty.

Real world file systems show a lot of aging, as well as free space fragmentation.

Aging is a problem

Disk fullness ????

Claim: Only happens when

the disk is full

Page 19: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Recent work on aging

“File Systems Fated for Senescence? Nonsense, says Science!” Conway et. al. FAST 2017

“Geriatrix: Aging what you see and what you don’t see. A file system aging approach for modern storage systems” Kadekodi et. al. ATC 2018

On modern filesystems, aging is severe and happens quickly even if your disk is almost empty.

Real world file systems show a lot of aging, as well as free space fragmentation.

Aging is a problem

Disk fullness ????

Claim: Only happens when

the disk is full

Page 20: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Page 21: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

3 Flavors of Aging

Read Aging Write Aging Free SpaceFragmentation

Page 22: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

3 Flavors of Aging

Read Aging Write Aging Free SpaceFragmentation

Fragmentation of pages which are read together

Fragmentation of pages which are written together

Fragmentation of the available free space

ORAdditional work when writing

Page 23: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

Page 24: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

A filesystem:each square represents a page,different colors are different files

Page 25: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

A filesystem:each square represents a page,different colors are different files

How do we write this large file?

Page 26: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

A filesystem:each square represents a page,different colors are different files

How do we write this large file?

write it to available blocks

Page 27: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

A filesystem:each square represents a page,different colors are different files

How do we write this large file?

write it to available blocks both read and write aging

Page 28: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

A filesystem:each square represents a page,different colors are different files

How do we write this large file?

Page 29: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

A filesystem:each square represents a page,different colors are different files

How do we write this large file?

defragment the free space

Page 30: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Flavors of Aging

Different types of aging interact

Free SpaceFragmentation

Fragmentation of the available free space

A filesystem:each square represents a page,different colors are different files

How do we write this large file?

defragment the free space lots of write aging

Page 31: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How much aging is caused by disk fullness?

Page 32: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

This Work

This work tries to answer:How much aging is caused by disk fullness?

Page 33: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

This Work

This work tries to answer:How much aging is caused by disk fullness?

Hypothesis:A lot

Page 34: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

This Work

This work tries to answer:How much aging is caused by disk fullness?

Hypothesis:A lot

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Page 35: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

Page 36: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Git Replay Benchmark

Page 37: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

get coffee

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 38: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

git pull

get coffeegit pull

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 39: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

git pull

make

get coffeegit pullmake

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 40: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

git pull

make

get coffeegit pullmakeget coffee

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 41: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

git pull

make

get coffeegit pullmakeget coffeegit pull

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 42: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

git pull

make

git pull

make

get coffeegit pullmakeget coffeegit pulladd awesome features

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 43: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

git pull

make

git pull

make

get coffeegit pullmakeget coffeegit pulladd awesome featuresget coffee

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 44: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

git pull

make

git pull

make

get coffeegit pullmakeget coffeegit pulladd awesome featuresget coffeegit pull

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 45: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

get coffeegit pullmakeget coffeegit pulladd awesome featuresget coffeegit pullfix bugs. . .

git pull

make

git pull

make

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 46: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

get coffeegit pullmakeget coffeegit pulladd awesome featuresget coffeegit pullfix bugs. . .

git pull

make

git pull

make

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 47: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

get coffeegit pullmakeget coffeegit pulladd awesome featuresget coffeegit pullfix bugs. . .

git pull

make

git pull

make

We need a workload that: • reflects actual use over many years• can be generated and replayed quickly• can operate on a nearly full disk

Let’s model a very simple case: Developers

Page 48: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

get coffeegit pullmakeget coffeegit pulladd awesome featuresget coffeegit pullfix bugs. . .

git pull

make

git pull

make

We can simulate a developer by replaying Git histories

Page 49: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

Use the Linux kernel repo from github.com

Do 100 git pulls

Measure Performance

Page 50: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to Measure Aging

Page 51: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 52: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 53: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 54: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 55: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 56: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 57: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 58: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 59: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 60: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

How to measure read aging

Page 61: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

time grep -r random_string /path/to/filesystem

dir

file1 file2 file3 file4

Measure read aging by reading through all the files in directory order

Normalize by filesystem size

How to measure read aging

Page 62: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

Use the Linux kernel repo from github.com

Do 100 git pulls

Measure Performance

Page 63: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark

Use the Linux kernel repo from github.com

Do 100 git pulls

Measure Performance

But what about when the disk fills up?

Page 64: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

Page 65: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

But what about when the disk fills up?

Use multiple copies of the repo

Linux1 Linux2

Linux4Linux3

Page 66: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

But what about when the disk fills up?

Use multiple copies of the repo

Linux1 Linux2

Linux4Linux3

git pull

Page 67: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

But what about when the disk fills up?

Use multiple copies of the repo

Linux1 Linux2

Linux4Linux3

git pullgit pull

Page 68: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

But what about when the disk fills up?

Use multiple copies of the repo

Linux1 Linux2

Linux4Linux3

git pullgit pullgit pull

Page 69: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

But what about when the disk fills up?

Use multiple copies of the repo

Linux1 Linux2

Linux4Linux3

git pullgit pullgit pullgit pull

Page 70: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

But what about when the disk fills up?

Use multiple copies of the repo

Linux1 Linux2

Linux4Linux3

git pullgit pullgit pull

git pullgit pull

FAIL

Page 71: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark (full disk edition)

But what about when the disk fills up?

Use multiple copies of the repo

Linux1 Linux2

Linux4Linux3

git pullgit pullgit pull

git pullgit pull

FAIL

When the disk fills and a pull fails, delete one

Page 72: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Full Disk Git Aging on HDD

Page 73: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

Page 74: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

The git replay benchmark quickly generates a big

drop in performance

Page 75: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

The git replay benchmark quickly generates a big

drop in performance

But how much is from disk fullness?

Page 76: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Need to compare to non-full disks

Page 77: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to compare to non-full disks

Linux1 Linux2

Linux4Linux3

We can’t just use a larger disk with the git replay benchmark

Linux6Linux5

Linux8Linux7

It’ll still just be full!

Page 78: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to compare to non-full disks

Linux1 Linux2

Linux4Linux3

We can’t just use a larger disk with the git replay benchmark

It’ll still just be full!

We record the operations on the small disk and replay them on the larger disk

Page 79: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to compare to non-full disks

Linux1 Linux2

Linux4Linux3

We can’t just use a larger disk with the git replay benchmark

It’ll still just be full!

We record the operations on the small disk and replay them on the larger disk

Page 80: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to compare to non-full disks

Linux1 Linux2

Linux4Linux3

We can’t just use a larger disk with the git replay benchmark

It’ll still just be full!

We record the operations on the small disk and replay them on the larger disk

Page 81: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to compare to non-full disks

Linux1 Linux2

Linux4Linux3

We can’t just use a larger disk with the git replay benchmark

It’ll still just be full!

We record the operations on the small disk and replay them on the larger disk

Page 82: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to compare to non-full disks

Linux1 Linux2

Linux4Linux3

We can’t just use a larger disk with the git replay benchmark

It’ll still just be full!

We record the operations on the small disk and replay them on the larger disk

Page 83: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to compare to non-full disks

Linux1 Linux2

Linux4Linux3

We can’t just use a larger disk with the git replay benchmark

It’ll still just be full!

We record the operations on the small disk and replay them on the larger disk

Page 84: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

Page 85: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

aging from fullness

Page 86: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

aging from fullness

How can we be sure the performance drop is aging?

Page 87: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

How to isolate aging

Page 88: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Unaged Baseline

Want an “unaged” baseline

Page 89: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Unaged Baseline

Want an “unaged” baseline

“What the file system would do if the data had always been there”

Page 90: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Unaged Baseline

Want an “unaged” baseline

“What the file system would do if the data had always been there”

Unaged baseline: Copy logical state to

empty filesystem

Page 91: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Unaged Baseline

Want an “unaged” baseline

“What the file system would do if the data had always been there”

Unaged baseline: Copy logical state to

empty filesystem

Do 100 git pulls

Measure (aged) performance

Page 92: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Unaged Baseline

Want an “unaged” baseline

“What the file system would do if the data had always been there”

Unaged baseline: Copy logical state to

empty filesystem

Do 100 git pulls

Measure (aged) performance

cp -a /mnt/aged/* /mnt/unaged/

Page 93: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Unaged Baseline

Want an “unaged” baseline

“What the file system would do if the data had always been there”

Unaged baseline: Copy logical state to

empty filesystem

Do 100 git pulls

Measure (aged) performance

cp -a /mnt/aged/* /mnt/unaged/

Measure (unaged) performance

Page 94: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Unaged Baseline

Want an “unaged” baseline

“What the file system would do if the data had always been there”

Unaged baseline: Copy logical state to

empty filesystem

Do 100 git pulls

Measure (aged) performance

cp -a /mnt/aged/* /mnt/unaged/

Measure (unaged) performance

Page 95: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged ext4 unaged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

Page 96: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged ext4 unaged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

usageaging

Page 97: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

200

400

600

800

1000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged ext4 unaged

Full Disk Git Aging on HDD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

500GiB 7200 RPMToshiba HDD

Ubuntu version 18.04 LTSLinux kernel v 4.15

usageaging

aging from fullness

Page 98: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Full Disk Git Aging on HDD (XFS and BTRFS)gr

ep ti

me

(sec

onds

/ G

iB)

0

200

400

600

800

1000

number of pulls performed0 2000 4000 6000 8000 10000

XFS full agedXFS empty agedXFS unaged

0

200

400

600

800

1000

number of pulls performed0 2000 4000 6000 8000 10000

BTRFS full agedBTRFS empty agedBTRFS unaged

XFS BTRFS

Page 99: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Full Disk Git Aging on SSD

Page 100: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

5

10

15

20

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged ext4 unaged

Full Disk Git Aging on SSD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

250 GiB Samsung860 EVO SSD

Ubuntu version 14.04 LTSLinux kernel v 3.11

Page 101: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

grep

tim

e (s

econ

ds /

GiB

)

0

5

10

15

20

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

ext4 full aged ext4 empty aged ext4 unaged

Full Disk Git Aging on SSD (ext4)

Full:Empty:Unaged:

5GiB partition50GiB partition50GiB partition

System Details:

Dell PowerEdge T130

4-core 3.00 GHz Intel® Xeon(R) E3-1220 v6 CPU

16 GiB RAM

250 GiB Samsung860 EVO SSD

Ubuntu version 14.04 LTSLinux kernel v 3.11

Page 102: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

0

5

10

15

20

0 2000 4000 6000 8000 10000

ext4 full agedext4 empty agedext4 unaged

Full Disk Git Aging on SSD (ext4)ext4

0

5

10

15

20

0 2000 4000 6000 8000 10000

BTRFS full agedBTRFS empty agedBTRFS unaged

BTRFS

0

5

10

15

20

0 2000 4000 6000 8000 10000

XFS full agedXFS empty agedXFS unaged

XFS

0

5

10

15

20

0 2000 4000 6000 8000 10000

F2FS full agedF2FS empty agedF2FS unaged

F2FS

Page 103: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What About Free Space Fragmentation?

Page 104: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring AgingHow to measure free space fragmentation

Page 105: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

e2freefrag on ext4

How to measure free space fragmentation

Page 106: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

e2freefrag on ext4

How to measure free space fragmentation

“histogram over time”

MiB

in e

xten

ts o

f giv

en s

ize0

2000

4000

6000

8000

10000

4KiB-8KiB8KiB-16KiB16KiB-32KiB32KiB-64KiB64KiB-128KiB128KiB-256KiB256KiB-512KiB512KiB-1MiB1MiB-2MiB2MiB-4MiB4MiB-8MiB8MiB-16MB16MiB-32MiB32MiB-64MiB64MiB-128MiB128MiB-256MiB256MiB-512MiB512MiB-1GiB1GiB-2GiB

Page 107: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

e2freefrag on ext4

How to measure free space fragmentation

“histogram over time”

MiB

in e

xten

ts o

f giv

en s

ize0

2000

4000

6000

8000

10000

4KiB-8KiB8KiB-16KiB16KiB-32KiB32KiB-64KiB64KiB-128KiB128KiB-256KiB256KiB-512KiB512KiB-1MiB1MiB-2MiB2MiB-4MiB4MiB-8MiB8MiB-16MB16MiB-32MiB32MiB-64MiB64MiB-128MiB128MiB-256MiB256MiB-512MiB512MiB-1GiB1GiB-2GiB

time

Page 108: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Measuring Aging

e2freefrag on ext4

How to measure free space fragmentation

“histogram over time”

MiB

in e

xten

ts o

f giv

en s

ize0

2000

4000

6000

8000

10000

4KiB-8KiB8KiB-16KiB16KiB-32KiB32KiB-64KiB64KiB-128KiB128KiB-256KiB256KiB-512KiB512KiB-1MiB1MiB-2MiB2MiB-4MiB4MiB-8MiB8MiB-16MB16MiB-32MiB32MiB-64MiB64MiB-128MiB128MiB-256MiB256MiB-512MiB512MiB-1GiB1GiB-2GiB

time

Page 109: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Git Replay Benchmark: Free Space Fragmentation

Page 110: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Full Disk Git Aging Free Space Fragmentation on ext4M

iB in

ext

ents

of g

iven

size

0

1000

2000

3000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

4KiB-8KiB8KiB-16KiB16KiB-32KiB32KiB-64KiB64KiB-128KiB128KiB-256KiB256KiB-512KiB512KiB-1MiB1MiB-2MiB2MiB-4MiB4MiB-8MiB8MiB-16MB16MiB-32MiB32MiB-64MiB64MiB-128MiB128MiB-256MiB256MiB-512MiB512MiB-1GiB1GiB-2GiBFull

Page 111: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Full Disk Git Aging Free Space Fragmentation on ext4M

iB in

ext

ents

of g

iven

size

0

1000

2000

3000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

4KiB-8KiB8KiB-16KiB16KiB-32KiB32KiB-64KiB64KiB-128KiB128KiB-256KiB256KiB-512KiB512KiB-1MiB1MiB-2MiB2MiB-4MiB4MiB-8MiB8MiB-16MB16MiB-32MiB32MiB-64MiB64MiB-128MiB128MiB-256MiB256MiB-512MiB512MiB-1GiB1GiB-2GiB

64MiB-128MiB

Empty

Page 112: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

Full Disk Git Aging Free Space Fragmentation on ext4M

iB in

ext

ents

of g

iven

size

0

1000

2000

3000

number of pulls performed0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

4KiB-8KiB8KiB-16KiB16KiB-32KiB32KiB-64KiB64KiB-128KiB128KiB-256KiB256KiB-512KiB512KiB-1MiB1MiB-2MiB2MiB-4MiB4MiB-8MiB8MiB-16MB16MiB-32MiB32MiB-64MiB64MiB-128MiB128MiB-256MiB256MiB-512MiB512MiB-1GiB1GiB-2GiB

64MiB-128MiB

Unaged

Page 113: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What we learned

Page 114: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What we learned

Aging due to use >> aging due to fullness

Git benchmark:

Page 115: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What we learned

Aging due to use >= aging due to fullness

Worst case benchmark (see paper):

Aging due to use >> aging due to fullness

Git benchmark:

Page 116: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What we learned

Aging due to use >= aging due to fullness

Worst case benchmark (see paper):

Aging due to use >> aging due to fullness

Git benchmark:

Suggests that for most workloads,use aging is the first-order effect

Page 117: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What we learned

Aging due to use >= aging due to fullness

Worst case benchmark (see paper):

Aging due to use >> aging due to fullness

Git benchmark:

Suggests that for most workloads,use aging is the first-order effect

Disk Fullness

Page 118: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What we learned

Aging due to use >= aging due to fullness

Worst case benchmark (see paper):

Free-space fragmentation

Aging due to use >> aging due to fullness

Git benchmark:

Suggests that for most workloads,use aging is the first-order effect

Disk Fullness ⇒

Page 119: Filesystem Aging: It’s More Usage than Fullness · 2019. 7. 10. · make get coffee git pull add awesome features get coffee git pull fix bugs. . . git pull make We need a workload

What we learned

Aging due to use >= aging due to fullness

Worst case benchmark (see paper):

Free-space fragmentation

Aging due to use >> aging due to fullness

Git benchmark:

Suggests that for most workloads,use aging is the first-order effect

Disk Fullness File System Aging⇒ ⇒?