Show simple item record

dc.contributor.advisorGavrilovksa, Ada
dc.contributor.authorKannan, Sudarsun
dc.date.accessioned2016-08-22T12:24:32Z
dc.date.available2016-08-22T12:24:32Z
dc.date.created2016-08
dc.date.issued2016-07-29
dc.date.submittedAugust 2016
dc.identifier.urihttp://hdl.handle.net/1853/55660
dc.description.abstractTo 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.
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.publisherGeorgia Institute of Technology
dc.subjectHeterogeneous memory
dc.subjectOS memory management
dc.subjectNVM
dc.subjectCache
dc.subjectPersistence
dc.subjectObject storage
dc.subjectACID
dc.subjectEnergy
dc.titleOS support for heterogeneous memory
dc.typeDissertation
dc.description.degreePh.D.
dc.contributor.departmentComputer Science
thesis.degree.levelDoctoral
dc.contributor.committeeMemberSchwan, Karsten
dc.contributor.committeeMemberRamachandran, Umakishore
dc.contributor.committeeMemberQureshi, Moinuddin
dc.contributor.committeeMemberArpaci-Dusseau, Remzi H.
dc.contributor.committeeMemberEisenhauer, Greg
dc.date.updated2016-08-22T12:24:32Z


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record