RCache: A Read-Intensive Workload-Aware Page Cache for NVM Filesystem

Release Date:2023-03-27 Author:TU Yaofeng, ZHU Bohong, YANG Hongzhang, HAN Yinjun, SHU Jiwu

Abstract: Byte-addressable non-volatile memory (NVM), as a new participant in the storage hierarchy, gives extremely high performance in storage, which forces changes to be made on current filesystem designs. Page cache, once a significant mechanism filling the perfor⁃ mance gap between Dynamic Random Access Memory (DRAM) and block devices, is now a liability that heavily hinders the writing perfor⁃ mance of NVM filesystems. Therefore state-of-the-art NVM filesystems leverage the direct access (DAX) technology to bypass the page cache entirely. However, the DRAM still provides higher bandwidth than NVM, which prevents skewed read workloads from benefiting from a higher bandwidth of the DRAM and leads to sub-optimal performance for the system. In this paper, we propose RCache, a readintensive workload-aware page cache for NVM filesystems. Different from traditional caching mechanisms where all reads go through DRAM, RCache uses a tiered page cache design, including assigning DRAM and NVM to hot and cold data separately, and reading data from both sides. To avoid copying data to DRAM in a critical path, RCache migrates data from NVM to DRAM in a background thread. Ad⁃ ditionally, RCache manages data in DRAM in a lock-free manner for better latency and scalability. Evaluations on Intel Optane Data Cen⁃ ter (DC) Persistent Memory Modules show that, compared with NOVA, RCache achieves 3 times higher bandwidth for read-intensive work⁃ loads and introduces little performance loss for write operations.

Keywords: storage system; file system; persistent memory

download: PDF