User Tools

Site Tools


NVM-enabled Host-side Caches

The goals of this NVM Caching project are to:

  • develop selective caching algorithms that better utilize non-datapath NVM caches on the host,
  • develop a model for component availability and failure domains leading to a fault-tolerant write caching design for systems,
  • develop co-operative cache partitioning techniques for DRAM and NVM enabled caches, and
  • develop data reduction techniques for host-side NVM caches.



  • Steven Lyons
  • Liana Valdes
  • Farzana Yusuf
  • Giuseppe Vietri
  • Mohammad Obaida
  • Muhammad Chowdhury
  • Wenji Li
  • Qirui Yang
  • Yitao Chen
  • Humberto Chacon


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.


  • Non-blocking Writes to Files pdf
    Daniel Campello, Hector Lopez, Luis Useche, Ricardo Koller, and Raju Rangaswami
    Proceedings of USENIX File and Storage Technologies (FAST), February, 2015.
  • StepAhead: Rethinking File System Namespace Translations, Asia-Pacific Workshop on Systems (APSys), August 2016.
  • Native OS Support for Persistent Memory with Regions, International Conference on Mass Storage Systems and Technology (MSST), May 2017.
  • Synergy: A Hypervisor Managed Holistic Caching System, IEEE Transactions on Cloud Computing, Volume PP, Number 99, February 2017.
  • Analyzing adaptive cache replacement strategies, arXiv:1503.07624, April 2017.
  • In Search of the Ideal Storage Configuration for Docker Containers, Vasily Tarasov, Lukas Rupprecht, Dimitris Skourtis, Amit Warke, Dean Hildebrand, Mohamed Mohamed, Nagapramod Mandagere, Wenji Li, Raju Rangaswami,and Ming Zhao, Proceedings of the Workshop on Autonomic Management of Large Scale Container-based Systems (AMLCS), 2017
  • Driving Cache Replacement with ML-based LeCaR, Vietri, Rodriguez, Martinez, Lyons, Liu, Rangaswami, Zhao, Narasimhan, USENIX HotStorage 2018.
  • Parallel Application Performance Prediction Using Analysis Based Models and HPC Simulations, Mohammad Abu Obaida, Jason Liu, Gopinath Chennupati, Nandakishore Santhi, and Stephan Eidenbenz,2018 SIGSIM Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS’18), May 2018.
  • RTVirt: Enabling Time-sensitive Computing on Virtualized Systems through Cross-layer CPU Scheduling, M. Zhao and J. Cabrera, European Conference on Computer Systems (EuroSys).
  • Cross-layer Optimization for Virtual Machine Resource Management”, M. Zhao, L. Wang, Y. Lv, and J. Xu, IEEE International Conference on Cloud Engineering (IC2E).

Public Software

Acknowledgement of Support

This work is supported in part by the National Science Foundation under grant CNS-1320426 and by a NetApp Faculty Fellowship.

projects/nvm-caches.txt · Last modified: m/d/Y H:i by raju