CMU-CS-21-109
Computer Science Department
School of Computer Science, Carnegie Mellon University



CMU-CS-21-109

Modernizing Models and Management of the
Memory Hierarchy for Non-Volatile Memory

Charles John McGuffey

Ph.D. Thesis

May 2021

CMU-CS-21-109.pdf


Keywords: Computer Science, Parallelism, Non-Volatile Memories, Cache Replacement

Non-volatile memory technologies (NVMs) are a new family of technologies that combine near memory level performance with near storage level cost density. The result is a new type of memory hierarchy layer that exists and performs somewhere between the two. These new technologies offer many opportunities for performance improvement, but in order to take advantage of these system design needs to account for their particular characteristics. In this thesis, we focus on how to design memory management and caching systems for NVMs. Our work is broken into three major categories targeting different primary performance metrics.

  1. We study how to design algorithms and memory management to achieve fault tolerance with low cost and efficient recovery using NVMs.
  2. We design an extension to the traditional model of caching to account for data writes in order to improve NVM device lifetime and energy consumption.
  3. We investigate how to improve throughput in caches by taking advantage of granularity change in the memory hierarchy.

Throughout our work we rely on a blend of theoretical and practical approaches. We provide models for processor faults, cache writebacks, and cache-storage communication that isolate the targeted effects from orthogonal complications. For each model, we show worst case theoretical bounds for our algorithms along with proofs that explain how the benefits are derived. We then take our results and provide empirical evaluations to show their effectiveness in practice. We believe that our ideas and approach provide a solid foundational study on memory hierarchy design in the era of non-volatile memories.

97 pages

Thesis Committee:
Phillip B. Gibbons (Chair)
Guy Blelloch
Nathan Beckmann
Michael Bender (Stony Brook University, New York)
Julian Shun (Massachusetts Institute of Technology)

Srinivasan Seshan, Head, Computer Science Department
Martial Hebert, Dean, School of Computer Science


Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by [email protected]