一句话:论文提出 Illuminator 内存管理器,通过跟踪不可移动页减少碎片化带来的无用工作,使大页分配更高效。
虚拟到物理地址转换是现代工作负载的主要瓶颈,大页可缓解该问题,但大页必须连续映射,内存碎片使操作系统难以有效利用硬件支持的大页。本文系统研究 Linux 内核中碎片化与大页的交互,发现使用大页时,内存管理子系统因无法妥善处理不可移动(内核)页而执行无用迁移,造成高 CPU 占用和延迟尖峰,虚拟化中 guest 与 host 还可能重复此类工作。作者提出 Illuminator 内存管理器,让页分配器等子系统跟踪所有不可移动页,以消除无用工作并降低大页分配成本。评估表明,compaction 成本最多降低 99%,应用性能最高提升 2.3 倍,MySQL 最大延迟降低 30 倍。
The virtual-to-physical address translation overhead, a major performance bottleneck for modern workloads, can be effectively alleviated with huge pages. However, since huge pages must be mapped contiguously, OSs have not been able to use them well because of the memory fragmentation problem despite hardware support for huge pages being available for nearly two decades. This paper presents a comprehensive study of the interaction of fragmentation with huge pages in the Linux kernel. We observe that when huge pages are used, problems such as high CPU utilization and latency spikes occur because of unnecessary work (e.g., useless page migration) performed by memory management related subsystems due to the poor handling of unmovable (i.e., kernel) pages. This behavior is even more harmful in virtualized systems where unnecessary work may be performed in both guest and host OSs. We present Illuminator, an efficient memory manager that provides various subsystems, such as the page allocator, the ability to track all unmovable pages. It allows subsystems to make informed decisions and eliminate unnecessary work which in turn leads to cost-effective huge page allocations. Illuminator reduces the cost of compaction (up to 99%), improves application performance (up to 2.3x) and reduces the maximum latency of MySQL database server (by 30x). Importantly, this work shows the effectiveness of a simple solution for long-standing huge page related problems.
DOI 原文 ·
@inproceedings{paperbot4259,
title = {Making Huge Pages Actually Useful},
author = {Ashish Panwar and Aravinda Prasad and K. Gopinath},
booktitle = {ASPLOS},
year = {2018},
doi = {10.1145/3173162.3173203}
}