Thinking about A New Mechanism for Huge Page Management

The Huge page mechanism is proposed to reduce the TLB misses and benefit the overall system performance. On the system with large memory capacity, using huge pages is an ideal choice to alleviate the virtual-to-physical address translation overheads. However, using huge pages might incur expensive memory compaction operations due to memory fragmentation problem, and lead to memory bloating as many huge pages are often underutilized in practice. In order to address these problems, in this paper, we propose SysMon-H, a sampling module in OS kernel, which is able to obtain the huge page utilization in a low overhead for both cloud and desktop applications. Furthermore, we propose H-Policy, a huge page management policy, which splits the underutilized huge pages to mitigate the memory bloating or promotes the base 4KB pages to huge pages for reducing the TLB misses based on the information provided by SysMon-H. In our prototype, SysMon-H and H-Policy work cooperatively in OS kernel.

[1]  Linpeng Huang,et al.  HMFS: A hybrid in-memory file system with version consistency , 2018, J. Parallel Distributed Comput..

[2]  Jian Yang,et al.  Mojim: A Reliable and Highly-Available Non-Volatile Memory System , 2015, ASPLOS.

[3]  Lei Liu,et al.  SysMon: Monitoring Memory Behaviors via OS Approach , 2017, APPT.

[4]  Lei Liu,et al.  Efficient GPU NVRAM Persistence with Helper Warps , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[5]  Rachata Ausavarungnirun,et al.  Mosaic: A GPU Memory Manager with Application-Transparent Support for Multiple Page Sizes , 2017, 2017 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[6]  Michael M. Swift,et al.  Efficient Memory Virtualization: Reducing Dimensionality of Nested Page Walks , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

[7]  Lei Liu,et al.  A software memory partition approach for eliminating bank-level interference in multicore systems , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[8]  K. Gopinath,et al.  Making Huge Pages Actually Useful , 2018, ASPLOS.

[9]  Rasit O. Topaloglu,et al.  More than Moore Technologies for Next Generation Computer Design , 2015 .

[10]  Quan Chen,et al.  Bandwidth and Locality Aware Task-stealing for Manycore Architectures with Bandwidth-Asymmetric Memory , 2018, ACM Trans. Archit. Code Optim..

[11]  Lei Liu,et al.  Going vertical in memory management: Handling multiplicity by multi-policy , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[12]  Lei Liu,et al.  WiseThrottling: a new asynchronous task scheduler for mitigating I/O bottleneck in large-scale datacenter servers , 2015, The Journal of Supercomputing.

[13]  Lei Liu,et al.  Memos: A full hierarchy hybrid memory management framework , 2016, 2016 IEEE 34th International Conference on Computer Design (ICCD).

[14]  Yan Solihin,et al.  Avoiding TLB Shootdowns Through Self-Invalidating TLB Entries , 2017, 2017 26th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[15]  刘磊,et al.  Dynamic I/O-Aware Scheduling for Batch-Mode Applications on Chip Multiprocessor Systems of Cluster Platforms , 2014 .

[16]  Onur Mutlu,et al.  Main Memory Scaling: Challenges and Solution Directions , 2015 .

[17]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[18]  Xiao Zhang,et al.  Towards practical page coloring-based multicore cache management , 2009, EuroSys '09.

[19]  Michael M. Swift,et al.  Efficient virtual memory for big memory servers , 2013, ISCA.

[20]  Herbert Bos,et al.  Translation Leak-aside Buffer: Defeating Cache Side-channel Protections with TLB Attacks , 2018, USENIX Security Symposium.

[21]  Michael M. Swift,et al.  BadgerTrap: a tool to instrument x86-64 TLB misses , 2014, CARN.

[22]  Thomas F. Wenisch,et al.  Thermostat: Application-transparent Page Management for Two-tiered Main Memory , 2017, ASPLOS.

[23]  Youngjin Kwon,et al.  Coordinated and Efficient Huge Page Management with Ingens , 2016, OSDI.

[24]  Juan E. Navarro,et al.  Practical, transparent operating system support for superpages , 2002, OSDI '02.

[25]  Xinyu Li,et al.  Hierarchical Hybrid Memory Management in OS for Tiered Memory Systems , 2019, IEEE Transactions on Parallel and Distributed Systems.

[26]  Lei Liu,et al.  Rethinking Memory Management in Modern Operating System: Horizontal, Vertical or Random? , 2016, IEEE Transactions on Computers.

[27]  Hyokyung Bahn,et al.  CLOCK-DWF: A Write-History-Aware Page Replacement Algorithm for Hybrid PCM and DRAM Memory Architectures , 2014, IEEE Transactions on Computers.