CSR: Small: Performance and Fairness with Multiple Page Sizes
University Of Texas At Austin, Austin TX
Investigators
Abstract
Modern computing workloads such as machine learning, big data analytics, and scientific computing require enormous memory capacities. The system software that manages memory was designed for much smaller systems, and consequently, it imposes hefty performance and power penalties on modern systems. The time has come to pay this technical debt. This work comprehensively redesigns operating system and virtual machine memory management to accommodate large memories, enabling applications to obtain the performance and efficiency promised by current hardware. The goal of this research is a set of principles and a framework for the operating system and hypervisor to transparently support small and large memory pages. Large memory pages (e.g., 2MB pages for the popular x86 architecture instead of the standard 4KB) can provide significant performance benefit by dramatically reducing address translation over- heads. However, their support and adoption has been hindered by fundamental management problems arising from fragmentation and poor visibility into memory accesses. Current large page management suffers a variety of pathologies such as memory bloat and unfairness across processes and/or virtual machines, and system administrators generally disable large pages in production systems. A framework that relies on managing contiguity as a first-class resource and on tracking utilization and access frequency of memory pages will enable an OS to coordinate its currently disparate mechanisms, avoid performance pathologies, and enable applications to enjoy the performance benefits of large pages.
View original record on NSF Award Search →