Title
Making Huge Pages Actually Useful.
Abstract
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.
Year
DOI
Venue
2018
10.1145/3173162.3173203
ASPLOS
Keywords
Field
DocType
address translation, huge pages, memory fragmentation
Kernel (linear algebra),Bottleneck,Latency (engineering),Computer science,CPU time,Real-time computing,Memory management,Allocator,Database server,Operating system,Linux kernel
Conference
Volume
Issue
ISSN
53
2
0362-1340
ISBN
Citations 
PageRank 
978-1-4503-4911-6
4
0.40
References 
Authors
26
3
Name
Order
Citations
PageRank
Ashish Panwar1111.54
Aravinda Prasad240.40
K. Gopinath3488.17