GGrantIndex
← Search

Collaborative Research: CCF Core: Small: User-transparent Data Management for Persistence and Crash-consistency in Non-volatile Memories

$200,000FY2023CSENSF

University Of Texas At Arlington, Arlington TX

Investigators

Abstract

Non-volatile memory is a type of computer memory that can retain stored data upon a power loss or system crash. Due to its large capacity and low energy footprint compared to traditional volatile memory, non-volatile memory has long been envisioned as an ideal solution for building large-scale, cost-effective, energy-efficient, and recoverable applications in many critical domains, including high-performance computing, machine learning, and embedded systems. Although non-volatile memory is available as commercial memory chips and offers numerous promises, it has not yet been widely adopted in production systems. The major obstacle is the difficulty to ensure that data is timely and correctly written to non-volatile memory, allowing it to be restored to a consistent state after a crash. Currently, application developers carry the burden of porting legacy applications to non-volatile memory, which is tedious and error-prone. This project seeks to establish a generic framework for user-transparent persistence and crash consistency that allows unmodified legacy applications to run efficiently and correctly with non-volatile memory. The success of this project will help unleash the full potential of non-volatile memory and make it easier to adopt. The research will also provide valuable insights into data management in future hybrid, disaggregated memory systems. In addition, this project involves mentoring Ph.D. students, engaging minority students, course development, and K12 outreach activities. This project integrates non-volatile memory into the page/buffer cache in memory management – i.e., an abstraction that bridges the view of byte-addressable memory and a backing memory device -- to provide persistence and crash consistency to user-space programs with no or little user involvement. The challenges lie in 1) how to intercept program updates and redirect them to non-volatile memory for persistence; 2) how to properly order the updates and ensure update atomicity to guarantee crash consistency; 3) how to efficiently integrate non-volatile memory into page/buffer cache management without incurring noticeable overhead or performance degradation. This project addresses these challenges by focusing on persisting three types of program data – file-backed data, dynamically allocated application memory, and program metadata for virtual memory management, such as page tables, and exploring various software and hardware techniques, such as copy-on-write, undo logging, shadow paging, and extended page tables, for each data type to achieve efficient crash consistency. This project advances the understanding of hybrid memory management for volatile and non-volatile memories while simultaneously achieving high usability, good backward compatibility, and high efficiency. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →
Collaborative Research: CCF Core: Small: User-transparent Data Management for Persistence and Crash-consistency in Non-volatile Memories · GrantIndex