Currently, system software struggles with the large capacity and diversity of modern memory technologies.
My primary research agenda is to build systems that address the challenges of emerging memory technologies
efficiently and robustly. For example, large-scale machine learning applications want to load large datasets
into memory for fast computation. For these workloads, simply adding more RAM to a machine reaches a point of
diminishing returns for performance because their poor spatial locality causes them to suffer high virtual to
physical memory translation costs. Ingens addresses the shortcomings in modern operating systems and hypervisors
that underlies these excessive address translation overheads and redesign huge page memory systems to
make huge page widely used in practice. I also implemented some of these techniques in VMware’s commercial hypervisor.
Emerging non-volatile memory (NVM) technologies will have excellent performance, byte-addressability, and large capacity,
blurring the line between traditional volatile DRAM and non-volatile storage. These NVM technologies diverge from DRAM
in important ways, like limited write bandwidth. It is likely that future storage market will be diversified,
having DRAM, NVM, SSD, and hard disk. Unfortunately, current file systems, built on top of old design ideas,
cannot provide an efficient way to take advantage of the different storage media. Strata is a cross media file system,
fundamentally redesigning file systems to leverage different strengths of storage technologies while compensating their weaknesses.