*********************************
There is now a CONTENT FREEZE for Mercury while we switch to a new platform. It began on Friday, March 10 at 6pm and will end on Wednesday, March 15 at noon. No new content can be created during this time, but all material in the system as of the beginning of the freeze will be migrated to the new platform, including users and groups. Functionally the new site is identical to the old one. webteam@gatech.edu
*********************************
Title: OS Support for Heterogeneous Memory Management
Sudarsun Kannan
School of Computer Science
College of Computing
Georgia Institute of Technology
Date: Friday, July 1st, 2016
Time: 10 AM to 12 PM EST
Location: KACB 3402
Committee:
Dr. Ada Gavrilovska (Advisor and Committee Chair, School of Computer Science, Georgia Tech)
Dr. Karsten Schwan (Advisor, School of Computer Science, Georgia Tech)
Dr. Umakishore Ramachandran (School of Computer Science, Georgia Tech)
Dr. Moinuddin Qureshi (School of Electrical and Computer Engineering, Georgia Tech)
Dr. Remzi H. Arpaci-Dusseau (Dept. of Computer Science, University of Wisconsin-Madison)
Dr. Greg Eisenhauer(School of Computer Science, Georgia Tech)
Abstract:
To address the 'memory wall' problem of future systems, vendors are creating heterogeneous
memory structures, supplementing DRAM with on-chip stacked 3D-RAM and high capacity
non-volatile memory (NVM). Each of these technologies differs significantly in terms of density,
bandwidth, and latency. However, current operating systems (OSes) and
software stacks lack generic memory abstractions that can be uniformly used with different
memory types. This increases the software complexity resulting in limited performance and
efficiency benefits from the memory heterogeneity for both virtualized and non-virtualized
systems. To address these challenges, this thesis develops HeteroMem -- an OS design
for heterogeneous memory and makes the following contribution.
First, HeteroMem introduces a unified OS abstraction for heterogeneous memories.
As a result, different memory technologies can extensively leverage the current advances
made for traditional memory management, thereby reducing software complexity, achieving
efficient use of hardware resources such as caches and TLBs, and permitting seamless
scaling across heterogeneous memory components. Second, HeteroMem incorporates novel
memory placement mechanisms focused on reducing data movement overheads. The
outcome is up to 2x improvement in application performance compared to the
state-of-the-art solutions.
Furthermore, to exploit the persistence benefits from non-volatile memories, HeteroMem goes
beyond memory capacity scaling, to provide fast persistent object storage. Using NVMs for
persistence leads to new types of cache sharing and energy bottlenecks. We address
these bottlenecks via novel cache- and energy-efficient system software principles that do not
impact application correctness. Finally, for achieving maximum performance and reliability
gains with heterogeneous memory, we also explore the redesign of HPC, datacenter, and
end-user applications.