suspend-aware segment cleaning in log-structured … · suspend-aware segment cleaning in...

30
USENIX HotStorage ’15 Santa Clara, CA, USA, July 6~7, 2015 Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won Hanyang University

Upload: votram

Post on 22-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

USENIX HotStorage ’15

Santa Clara, CA, USA, July 6~7, 2015

Suspend-aware Segment Cleaning

in Log-Structured File System

Dongil Park, Seungyong Cheon, Youjip Won

Hanyang University

Page 2: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Outline

Introduction

Log-structured File System and Segment Cleaning

Suspend Mode on Smartphone

Problem assessment

Suspend-aware Segment Cleaning

Design

Virtual Segment Cleaning

Utilization-based Segment Cleaning

Experiment

Conclusion

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 2

Page 3: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Introduction

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 3

• Flash memory based storage is widely used nowadays.

• Log-structured file system has been around for 20+ years.

• It has not been deployed on commercial devices.

• F2FS (Flash Friendly File System) is a log-structured file system

optimized for mobile device.

• F2FS is adopted in commercial mobile devices as their stock file

system.

• Motorola Droid family

• Motorola Moto X, Moto G, Moto E

• Google Nexus 9

Page 4: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Flash Friendly File System

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 4

F2FS shows great random write performance on flash memory.

more than 3ⅹ

source: C. Lee et al., FAST ‘15

sequential

write

sequential

read

random

write

random

read

Page 5: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Log-structured File System

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 5

In-place update file system

inode data

Log-structured file system

A C B CA B Disk

DiskA A B B C C A’ A’ Log

update(file A)

A’ A’

update(file A)

Page 6: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Log-structured File System

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 6

Segment: unit of disk write

Block: unit of write operation

Disk

Page 7: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Block and Segment

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 7

No data

Valid data

Invalid data

Free block

Valid block

Invalid block

Only free blocks

Valid & free blocks

No free block

Including invalid block

Free segment

Valid segment

Invalid segment

Page 8: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Writing in Log-structured File System

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 8

Writing data in append-only manner

A A A A

B B C C

XXXX

X X Y Y

Y Y Y Y

Y

Modify A

… … … …

… … … …

Y Z Z

… …

segment 1

(valid)

segment 2

(valid)

segment 0

(invalid)

A’ A’

A’ A’

Page 9: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

X’ X’

Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 9

Segment cleaning

segment 1

(valid)

segment 2

(valid)

Y Y Y Y

Y

data data data data

data data data data

Y Z Z

data data

segment 0

(invalid)

A A A A

C C

XXXX

X

victim

segment

1. Select victim segment.

2. Migrate valid blocks.

3. Mark victim segment as free.

X

B

A’ A’

A’ A’ C’ C’B

Y Y

Page 10: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 10

Foreground segment cleaning: on-demand

Background segment cleaning: periodically

Two types of segment cleaning

Write

Segment

cleaning

request

time

completeI/O latency

Write

Segment

cleaning

time

request complete requestidle

period

Page 11: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Suspend Mode of Smartphone

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 11

Android adopts Suspend Mode to save battery

buffer

disk

task

Page 12: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Suspend Mode of Smartphone

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 12

Android adopts Suspend Mode to save battery

buffer

disk

task

Page 13: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Problem

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 13

Log-structured

File System

Log-structured file system needs

segment cleaningto generate free space

Android smartphone is

suspendedwhen screen is turned off

Does segment cleaning works well

when smartphone is suspended?

Androidvs.

Page 14: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Segment Cleaning and Suspend Mode

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 14

Power management

File system time

Background

segment

cleaning𝑆0 𝑆1 𝑆2 𝑆3 𝑆4 𝑆5 𝑆6 𝑆7

Suspend

Active

Page 15: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Segment Cleaning and Suspend Mode

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 15

Power management

File system time

Background

segment

cleaning𝑆0 𝑆1 𝑆2 𝑆3 𝑆4 𝑆5 𝑆6 𝑆7

Suspend

Active

Page 16: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Segment Cleaning and Suspend Mode

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 16

Power management

File system time

Background

segment

cleaning𝑆0 𝑆1 𝑆2 𝑆3 𝑆4 𝑆5 𝑆6 𝑆7

Suspend

Active

CONFLICT!!

Page 17: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Observation

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 17

Active period in real setting

Average 5.6 sec.

Device may be in suspend state when

Background Segment Cleaning is activated.

0%

20%

40%

60%

80%

100%

user 1 user 2

Suspend Active

About 75%

Page 18: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Observation

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 18

There is a large time slack

Active

Suspend

time

Average

1.8 sec.

Waiting for the wakeup events to be cleared

Page 19: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Design

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 19

Use the time between LCD off and entering suspend!

• CPU and I/O devices are still awaken

• Does not interfere with user and foreground apps

• Perform segment cleaning when suspending device

Page 20: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Virtual Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 20

victim

segment

page cache

Y Y

BB

X’ X’

Y Y Y Y

Y

… … … …

… … … …

Y Z Z

… …A A A A

C C

XXXX

X X

A’ A’

A’ A’ C’ C’

Do not migrate valid block directly

Page 21: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Virtual Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 21

victim

segment

page cache

Suspend routine start

Y YBB

X’ X’

Y Y Y Y

Y

… … … …

… … … …

Y Z Z

… …A A A A

C C

XXXX

X X

A’ A’

A’ A’ C’ C’

Do not migrate valid block directly

Mark page cache entry as dirty

Page 22: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Virtual Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 22

victim

segment

page cache

Call sys_sync()

Y Y

BBX’ X’

Y Y Y Y

Y

… … … …

… … … …

Y Z Z

… … A’ A’

A’ A’ C’ C’

Do not migrate valid block directly

Mark page cache entry as dirty

Page 23: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Virtual Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 23

time

LCD off sys_sync()

suspended∆

𝑉𝑆𝐶1 𝑉𝑆𝐶2 𝑉𝑆𝐶3

𝑡𝑖𝑑𝑙𝑒 𝑡𝑖𝑑𝑙𝑒

𝑉𝑆𝐶𝑖 : 𝑖𝑡ℎ Virtual Segment Cleaning

∆ : Time for processing other suspend routine

𝑡𝑖𝑑𝑙𝑒 : Idle period to throttle the amount of reclaimed segments

Too frequent segment cleaning may leads to the reduction of the NAND flash lifetime

Page 24: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Utilization-based Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 24

0

5

10

15

20

25

30

35

40

45

50

55

60

65

0 10 20 30 40 50 60 70 80 90 100

𝑝𝑖𝑛𝑣

(Invalid

blo

ck r

atio,

%)

𝑢 (File system utilization, %)

Threshold of file system utilization to activate SC

Idea threshold

Activate SC

Approximated threshold

𝑢: File system utilization 𝑝𝑖𝑛𝑣: Invalid block ratio

Page 25: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Utilization-based Segment Cleaning

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 25

300 𝑚𝑠 < 𝑡𝑖𝑑𝑙𝑒 < 900 𝑚𝑠

Segment cleaning is activated with threshold and idle period is 𝑡𝑖𝑑𝑙𝑒

Idle period between segment cleaning

• Reclaim 2 ~ 6 free segments at once

• Adaptive with file system utilization and invalid block ratio

• Using time slack between LCD off and entering suspend

Page 26: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Experiment

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 26

Motorola Moto G (KK 4.4.2, Linux 3.4)

Component Specification

AP Qualcomm Snapdragon 400

CPU Cortex-A7 1.2GHz Quad-core

RAM 1GB

Internal storage 8GB eMMC

File system F2FS (data), EXT4 (others)

Page 27: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Experiment

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 27

0

20

40

60

80

100

120

0 10 20 30 40 50 60

# o

f re

cla

imed s

egm

ents

time (min.)

Number of reclaimed segments

reclaimed 6× more segments

Original Segment cleaning, suspend on

Original Segment cleaning, suspend off

Suspend-aware Segment Cleaning, suspend on

Page 28: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Idle Period Model Verification

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 28

Number of reclaimed segments vs. File system utilization

2

2.5

3

3.5

4

4.5

5

5.5

6

6.5

20 30 40 50 60 70 80 90 100

Avg. # o

f re

cla

imed s

egm

en

ts

Utilization (%)

• Vary the file system utilization and the fraction of invalid blocks

• Enter suspend mode 50 times

𝑝𝑖𝑛𝑣 = 25% 𝑝𝑖𝑛𝑣 = 50% 𝑝𝑖𝑛𝑣 = 75%

increased by file system utilization

increased by invalid block ratio

2.12.3

2.32.42.7

2.9 2.9

33.7 3.9

3.9

4

Ideal value

Page 29: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Conclusion

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 29

• Background segment cleaning of log-structured file system and

suspend feature of Android system directly conflict with each other.

• Suspend-aware Segment Cleaning seamlessly reclaims free

segments with suspend module of the smartphone

Suspend-aware Segment Cleaning claims

6× as many segments as

the stock background segment cleaning does.

Page 30: Suspend-aware Segment Cleaning in Log-Structured … · Suspend-aware Segment Cleaning in Log-Structured File System Dongil Park, Seungyong Cheon, Youjip Won ... random read. Log-structured

Dongil Park et al. USENIX HotStorage’15, Santa Clara, CA, July 6~7 30