For addressing the 'memory wall' problem and storage bottlenecks, future datacenter machines are expected to support heterogeneous memory structures such as DRAM supplemented with on-chip stacked 3D-RAM, and high capacity byte addressable non-volatile memory (NVM). These technologies significantly differ in density, bandwidth, and latency characteristics. Unfortunately, current operating systems and hypervisors lack generic principles and unified abstractions for supporting memory heterogeneity. This can substantially undermine the application performance benefits that the emerging memory technologies can deliver.
In this talk, I will present HeteroMem, an OS design that extends the existing virtual memory subsystem to support seamless memory scaling across heterogeneous memory, such as NVM, with negligible OS-level management complexity. HeteroMem inherits the virtues of the virtual memory subsystem and achieves a significant reduction in cache, TLB misses, and page access latencies compared to prior NVM approaches that extend the virtual file system for scaling memory. Beyond capacity scaling, HeteroMem extends the virtual memory subsystem to provide fast persistent object storage, thereby reducing the filesystem bottlenecks. HeteroMem's principles are also applicable to virtualized systems and support application-transparent smart data placement across heterogeneous memory. In addition, I will contrast the system-level approach taken in developing HeteroMem to the benefits of an application-level redesign for heterogeneous memory environments using a NoSQL database as an example.
Bio: Sudarsun Kannan is a Ph.D. candidate in the School of Computer Science, Georgia Tech, and is advised by Dr. Karsten Schwan, and Dr. Ada Gavrilovska. His research interests include OS and software support for Heterogeneous memory, software methods for improving storage performance, and building scalable transactional applications. During his Ph.D., he interned at HP and Intel Labs. He also teaches undergraduate
and graduate OS class.