Performance Improvement for Multicore Processors Using Variable Page Technologies
Xiaohui Zhang, Yifei Jiang, Ming Cong · 2011
In order to improve system performance, many modern processors support super page technology, which is also called variable page. It improves TLB coverage greatly without increasing TLB size. But supporting super page brings great challenge to operating systems. In this paper, we implement two variable page technologies, including the static variable page and dynamic variable page, in Linux kernel on Godson-3 four-core processors. The static variable page technology is implemented on the basis of hugetlbfs pseudo file system. The dynamic one chooses proper page sizes according to the address spaces of applications adaptively. Experiment results show that static variable page technology improves the performance of scientific applications such as large matrix multiplication significantly. The number of TLB misses is reduced by 99% and the speed of large-scale matrix multiplication is improved by over 50%. The dynamic self-adapting variable page technology can bring an average performance improvement of 15% to SPECCPU 2000 benchmarks. Compared with system of single large page (64KB), the file system performance of system supporting dynamic variable page is significantly improved by about 25%.