Sanidhya Kashyap
Scalable Storage Stack for Persistent Memory
The introduction of persistent memory (PM) complicates the design of concurrent system software. In particular, PM provides persistence along with traditional main memory characteristics, such as byte-addressability and low access latency. However, it comes at the cost of higher latency in comparison to main memory. Moreover, it also introduces several new challenges such as guaranteeing crash consistency with a minimal write amplification, scalability, and high performance at high core counts.
In this talk, I will focus on how to efficiently file systems with respect to two properties: The first one is contention awareness, i.e., a small number of threads cannot thoroughly saturate the PM bandwidth, while many concurrent accesses lead to significant PM performance degradation. The second one is NUMA awareness, i.e., exploiting the remote PM efficiently, as accessing remote PM naively leads to significant performance degradation. From the file systems point of view, we have been working on a new file system, called Odinfs, a NUMA-aware scalable datapath PM file system that addresses these two challenges using a novel opportunistic delegation scheme. Under this scheme, Odinfs decouples the PM accesses from application threads with the help of background threads that access PM on behalf of the application. Because of PM access decoupling, Odinfs automatically parallelizes the access to PM across NUMA nodes in a controlled and localized manner. Our evaluation shows that Odinfs outperforms existing PM file systems up to 32.7x on real-world workloads.
In this talk, I will focus on how to efficiently file systems with respect to two properties: The first one is contention awareness, i.e., a small number of threads cannot thoroughly saturate the PM bandwidth, while many concurrent accesses lead to significant PM performance degradation. The second one is NUMA awareness, i.e., exploiting the remote PM efficiently, as accessing remote PM naively leads to significant performance degradation. From the file systems point of view, we have been working on a new file system, called Odinfs, a NUMA-aware scalable datapath PM file system that addresses these two challenges using a novel opportunistic delegation scheme. Under this scheme, Odinfs decouples the PM accesses from application threads with the help of background threads that access PM on behalf of the application. Because of PM access decoupling, Odinfs automatically parallelizes the access to PM across NUMA nodes in a controlled and localized manner. Our evaluation shows that Odinfs outperforms existing PM file systems up to 32.7x on real-world workloads.
back to overview
Watch Recording