Análise de desempenho e propostas de melhoria para as Transparent Huge Pages do kernel Linux

  • Pedro Demarchi Gomes UNICAMP
  • Islene Calciolari Garcia UNICAMP

Resumo


Grande parte dos sistemas operacionais modernos usam huge pages para reduzir o overhead de tradução de endereços em aplicações que utilizam grandes quantidades de memória. Esse trabalho explora o uso de huge pages no Linux, mostrando seu comportamento em diferentes situações para que se possa ter um melhor entendimento dos tradeoffs envolvidos. Com isso é possível apontar a causa de diversos problemas que ocorrem com o uso de huge pages, como memory bloat e aumento de latência nas faltas de página. A partir dessas informações, esse trabalho apresenta o LRBHPS (Linux reservation-based huge pages system), um novo sistema baseado no Linux para corrigir/mitigar esses problemas.

Referências

Bernhardsson, E. Annoy. [link]. Acesso em: 31/03/2025.

Bienia, C., Kumar, S., Singh, J. P., and Li, K. (2008). The PARSEC benchmark suite: characterization and architectural implications. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques, PACT ’08, pages 72–81, New York, NY, USA. Association for Computing Machinery.

Chang, C.-C. and Lin, C.-J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1–27:27. Software available at [link].

Corbet, J. (2011). Transparent huge pages in 2.6.38. LWN.net. [link] Acesso em: 31/03/2025.

Hadoop (s.d.). Hadoop performance tuning guide. [link]. Acesso em: 31/03/2025.

Hornyack, P., Ceze, L., Gribble, S., Ports, D., and Levy, H. (2013). A study of virtual memory usage and implications for large memory. In Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads.

Joseph, I. E. (s.d.). Gups (giga-updates per second) benchmark. [link]. Acesso em: 31/03/2025.

Kwak, H., Lee, C., Park, H., and Moon, S. (2010). What is twitter, a social network or a news media? In Proceedings of the 19th International Conference on World Wide Web, WWW ’10, page 591–600, New York, NY, USA. Association for Computing Machinery.

Kwon, Y., Yu, H., Peter, S., Rossbach, C. J., and Witchel, E. (2016). Coordinated and efficient huge page management with Ingens. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation, OSDI’16, page 705–721, USA. USENIX Association.

Kyrola, A., Blelloch, G., and Guestrin, C. (2012). GraphChi: Large-Scale graph computation on just a PC. In 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12), pages 31–46, Hollywood, CA. USENIX Association.

mongoDB (s.d.). Disable Transparent Huge Pages (THP). [link]. Acesso em: 31/03/2025.

Navarro, J., Iyer, S., Druschel, P., and Cox, A. (2003). Practical, transparent operating system support for superpages. SIGOPS Oper. Syst. Rev., 36(SI):89–104.

Panwar, A., Bansal, S., and Gopinath, K. (2019). Hawkeye: Efficient fine-grained os support for huge pages. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’19, page 347–360, New York, NY, USA. Association for Computing Machinery.

postgreSQL (s.d.). Resource consumption. [link]. Acesso em: 31/03/2025.

Stamper, J., Niculescu-Mizil, A., Ritter, S., Gordon, G., and Koedinger, K. (2010). Challenge data set from KDD Cup 2010 Educational Data Mining Challenge. [link]. Acesso em: 31/03/2025.

Talluri, M. and Hill, M. D. (1994). Surpassing the TLB Performance of Superpages with Less Operating System Support. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS VI, page 171–182, New York, NY, USA. Association for Computing Machinery.

Tramm, J. R., Siegel, A. R., Islam, T., and Schulz, M. (2014). XSBench - the development and verification of a performance abstraction for Monte Carlo reactor analysis. In PHYSOR 2014 - The Role of Reactor Physics toward a Sustainable Future, Kyoto.

Yang, X., Blackburn, S. M., Frampton, D., Sartor, J. B., and McKinley, K. S. (2011). Why nothing matters: the impact of zeroing. In Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ’11, page 307–324, New York, NY, USA. Association for Computing Machinery.

Yznaga, A. (2018). Implement THP reservations for anonymous memory. [link]. Linux kernel mailing list (LKML) Acesso em: 31/03/2025.

Zhu, A. (2022). THP Shrinker. [link]. Linux kernel mailing list (LKML) Acesso em: 31/03/2025.

Zhu, W., Cox, A. L., and Rixner, S. (2020). A comprehensive analysis of superpage management mechanisms and policies. In 2020 USENIX Annual Technical Conference (USENIX ATC 20), pages 829–842. USENIX Association.
Publicado
20/07/2025
GOMES, Pedro Demarchi; GARCIA, Islene Calciolari. Análise de desempenho e propostas de melhoria para as Transparent Huge Pages do kernel Linux. In: WORKSHOP EM DESEMPENHO DE SISTEMAS COMPUTACIONAIS E DE COMUNICAÇÃO (WPERFORMANCE), 24. , 2025, Maceió/AL. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 97-108. ISSN 2595-6167. DOI: https://doi.org/10.5753/wperformance.2025.9114.