pFSCK: Accelerating File System Checking and Repair for Modern Storage
summary
pFSCK parallelizes checking down to inode and directory-block granularity and combines data parallelism with pipeline parallelism plus per-thread I/O caches and a dynamic thread scheduler to reduce serialized updates to global metadata. Evaluation on 64 GB RAM and a 1 TB NVMe with an 840 GB test filesystem shows up to 2.6× speedup over e2fsck and up to 8× over xfs_repair in some cases, with directory-heavy layouts driving the biggest gains.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:31Storage Issues: A Situation
- 1:06Storage Issues: Faster Storage
- 1:32Storage Issues: Why?
- 1:43Storage Issues: Faster checking with PFSCK
- 2:13Background: Providing Storage Reliability
- 3:02Background: Disk Layout and Checking
- 4:29Evaluating Current e2fsck Performance
- 4:57File System Sensitivity
- 5:37Research Questions
- 6:16Outline
- 6:45PFSCK Data Parallelism
- 7:25PFSCK Pipeline Parallelism
- 8:02Pipeline Parallelism: Work Imbalance
- 8:27Solution: Dynamic Thread Scheduling
- 9:00Methodology
- 9:22Evaluation: Data Parallelism
- 10:21Evaluation: Pipeline Parallelism and Dynamic Thread Scheduler
- 11:33Summary
related talks
36mFlash Friendly File System
24mOptimizing Storage Performance for 4–5 Million IOPs
17mCoFS: A Filesystem for Fast Container Startup
14mAdvancing Data Integrity in Linux
38mRethinking Writeback: Scaling Linux Filesystem and Memory Performance for the Next Decade
19mIPLFS: Log-Structured File System without Garbage Collection
19mP2CACHE: Exploring Tiered Memory for In-Kernel File Systems Caching
25mZonefs: Features Roadmap
