The goals of this NVM Caching project are to:
Non-volatile memory (NVM) is a transformative technology that is dramatically changing how data storage systems of the future are built. This technology allows an unprecedented combination of performance and persistence into a single device. This project will develop a suite of storage caching techniques for this transformative technology along four complementary dimensions. The first two usage dimensions address the selective use of NVM as host-side read caches for persistently stored data as well as using their persistence properties explicitly by developing fault-tolerant write caching solutions. The latter two develop advanced techniques for delivering storage quality of service (QoS) using NVM caches and building caching algorithms that are aware of data reduction techniques, such as deduplication and compression, for the NVM layer. Together, these contributions have the potential to transform enterprise data center storage stacks by readily adopting the best properties of current and future NVM technology. The expected performance benefits apply to a broad spectrum of computer systems and applications.
Educational activities will include the involvement of undergraduate students and incorporation of the project's research findings into coursework. Planned outreach activities will focus on recruitment of under-represented students from minority groups in computer science for participation in the project. Transition of the new technologies to practice through open source distribution of the Linux operating system and KVM hypervisor code implementing the innovations are successful expectations.
This work is supported in part by the National Science Foundation under grant CNS-1320426 and by a NetApp Faculty Fellowship.