Abstract
Persistent memory (PM) allows file systems to directly persist data on the memory bus. In order to expand the capacity of PM file system, building a file system across sockets with each attached PMs is attractive. However, accessing data across sockets incurs impacts of non-uniform memory access (NUMA) architecture, which degrade PM file system performance. In this paper, we first conduct experiments to understand the NUMA impacts on building PM file systems. We then propose four design principles for building a high-performance NUMA-aware PM file system NapFS. We architect NapFS with per-socket local PM file systems and per-socket dedicated IO thread pools. This not only allows applications to delegate data access to IO threads for avoiding remote PM access, but also fully reuses existing single-socket PM file systems to reduce implementation complexity. In addition, NapFS utilizes fast DRAM to accelerate performance by adding a global cache. We evaluate NapFS against other multi-socket PM file systems. The evaluation results show that NapFS achieves 2.2× and 1.0× throughput improvement for Filebench and RocksDB.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.