StreamCache: Revisiting Page Cache for File Scanning on Fast Storage Devices
summary
Revisits kernel page cache for scan workloads and builds StreamCache in XFS with a stream tracking tree, stream-granular reclaim, and a two-layer memory management allocator. Tests use fio and an 8-Optane RAID0 to emulate next-gen NVMe and PF3D checkpoints; results show better scaling versus buffered I/O, cutting background writeback interference and improving scientific-app I/O by 44% I/O bandwidth and LLM checkpoint/restart time by 15.7% checkpoint time on average.
AI-written summary · about
chapters (13)
- 0:00StreamCache project intro
- 0:37Motivation for file scanning
- 2:22Buffer IO performance issues
- 4:31CPU overhead in buffer IO
- 6:20StreamCache design principles
- 7:03Lightweight stream tracking
- 11:20Stream-based page reclaiming
- 15:18Two-layer memory management
- 17:07Experimental setup
- 18:11Real-world performance
- 19:15Workload parameter impact
- 19:57Technique effects analysis
- 20:20Conclusion and future
related talks
19mP2CACHE: Exploring Tiered Memory for In-Kernel File Systems Caching
01h 01mFile I/O for Game Developers: Past, Present, and Future with C++
15mYears of Wear in Minutes: Benchmarking Aged Filesystems
19mAsynchronous I/O Stack: A Low-latency Kernel I/O Stack for Ultra-Low Latency SSDs
29mcache_ext: Customizing the Page Cache with eBPF
22mI/O in a Flash: Evolution of ONTAP to Low-Latency SSDs
55mWriting Cache-Friendly C++
40mBenchmarking: Repeatable & Comparable
