Beaver: A High-Performance and Crash-Consistent File System Cache via PM-DRAM Collaborative Memory Tiering
Year: 2025
Type: article
Abstract: The in-memory cache layer is crucial in building a file system. Crash-consistency is highly desirable for applications running on the file system, ensuring that data is written in an all-or-none fashion during unexpected system failures or crashes. However, existing works fail to achieve both high read and write performance in constructing a crash-consistent cache layer. In this paper, we propose Beaver, a new in-memory file system cache that achieves both crash-consistency and high read/write performance. Beaver exploits a read/write distinguishable memory hierarchy involving both PM and DRAM. Beaver uses the PM to serve write operations for crash-consistency and high write performance, and uses the DRAM to serve read operations for high read performance. We also introduce a kprefetcher to asynchronously move data from PM to DRAM off the critical path of write operations. We extensively evaluated Beaver with the latest file system cache using real-world applications and popular benchmarks. Application evaluation results show that Beaver outperformed other file system caches by up to 16.1% and 11.0% on RocksDB and MinIO, respectively. Beaver's source code is available at https://github.com/PanQL/Beaver.
Language: English
Subfield: Computer Networks and Communications
Field: Computer Science
Domain: Physical Sciences
Open Access status: bronze
Funder: Universitas Brawijaya
Award: G1246308732
OpenAlex ID: W4411411501
