Building Stream-based Page Cache to Accelerate File Scanning on Fast Storage Devices
Year: 2025
Type: article
Abstract: Buffered input/output (I/O) via page cache is used for file scanning in many cases as page cache can provide buffering, data aggregation, I/O alignment, and prefetching transparently. However, our study indicates that employing page cache for file scanning on fast storage devices presents two performance issues: it offers limited I/O bandwidth that does not align with the performance of fast storage devices, and the intensive background writeback onto fast storage devices can significantly interfere with foreground I/O requests. In this article, we propose StreamCache, a new page cache management system for file scanning on fast storage devices. StreamCache exploits three techniques to achieve high I/O performance. First, it uses a two-layer memory management method to accelerate page allocation by leveraging central processing unit cache locality. Second, it uses a stream-based page reclaiming method to lower the interference to foreground I/O requests. Third, it uses a lightweight stream tracking method to record the states of cached pages at the granularity of sequential streams to support stream-based page reclaiming. We implement StreamCache in experimental file system. Experimental results show that compared with existing methods, StreamCache can increase the I/O bandwidth of scientific applications by 44%, and reduce the checkpoint/restart time of large language models by 15.7% on average.
Source: ACM Transactions on Storage
DOI: 10.1145/3721486
Authors: Zhiyue Li, Guangyan Zhang
Institution: Tsinghua University
Language: English
Subfield: Computer Networks and Communications
Field: Computer Science
Domain: Physical Sciences
Open Access status: hybrid
Award: G3799290515
OpenAlex ID: W4408220657
