Analysis and Evolution of Journaling File Systems By

Analysis and Evolution of Journaling File Systems By: Vijayan Prabhakaran, Andrea and Remzi Arpai-Dusseau Presented by: Andrew Quinn EECS 582 – W 16 1

Outline • File System Background • Description of novel tools • Analysis of Ext 3 EECS 582 – W 16 2

Background of File Systems Unix File System Improve Performance Fast File System EECS 582 – W 16 Fast Crash Recovery Journaling File System 3

Journaling File System 1. Meta-data for file 2. Write “hello world” 3. Write commit Client Write “hello world” to file Journaling File System Journal EECS 582 – W 16 Fixed-block FS 4

Journaling FS • What should we write to the journal? • Meta-data? • Actual data? • When should we `commit’ data to the journal? • After each journal entry? • After the data is written to the disk? EECS 582 – W 16 5

Journaling modes (ext 3) EECS 582 – W 16 6

Contributions • Semantic Block Analysis (SBA) • Semantic Trace Playback (STP) • An analysis of journaling file systems using SBA • An evaluation of design changes to ext 3 using SBA EECS 582 – W 16 7

Traditional FS analysis Synthetic/real workload Programmer System Full system performance EECS 582 – W 16 8

SBA analysis Targeted synthetic workload Programmer SBA Block-level tracing Semantic info EECS 582 – W 16 9

SBA analysis • Block-level analysis: • Block number – understand seq. or random access • Timing of each block - understand bursts of traffic • Semantic information: • Distinguish between journal blocks and in-place data EECS 582 – W 16 10

SBA Implementation • Implemented as a pseudo-device driver • Slight customizations for each File system EECS 582 – W 16 11

STP Block level trace High level FS ops STP Performance estimate EECS 582 – W 16 12

Ext 3 `Basic Behavior’ EECS 582 – W 16 13

Ex 3 and Concurrency EECS 582 – W 16 14

Ex 3 in Ordered mode EECS 582 – W 16 15

Ext 3 and STP • Evaluate changes to key characteristics: • • • Journal location Transaction grouping Timing Adaptive journaling Journal contents EECS 582 – W 16 16

Journal Location EECS 582 – W 16 17

Untangling Transaction Groups EECS 582 – W 16 18

Timings EECS 582 – W 16 19

Ext 3 and STP • Adaptive Journaling Mode • Ordered: 83. 39 • Data: 86. 67 • Adaptive 51. 75 • Journaling contents • Write data block differences into journal • Size reduction by factor of 200 for TPC-B • Size reduction by factor of 6 for TPC-C EECS 582 – W 16 20

Conclusion • We can leverage SBA to understand the semantic behavior of a journaling FS • We can leverage STP to predict the effect of algorithmic changes to a journaling FS EECS 582 – W 16 21
- Slides: 21