近日,英特尔的Linux内核测试机器人发布了一项令人瞩目的性能报告,指出主线Linux内核在特定测试中实现了惊人的3888.9%性能提升。
这一显著进步得益于一项关键代码提交,该提交针对内存管理进行了优化,具体为“mm, mmap”部分的修改,限制了匿名映射的透明大页面(THP)对齐至页面中部目录(PMD)对齐的大小。
测试在Intel Xeon Platinum(Cooper Lake)服务器上进行,使用了“will-it-scale.per_process_ops”可扩展性测试用例来验证性能改进。结果表明,在特定条件下,系统性能得到了极大提升。
然而,这项改动并非全然无害,它同时也导致某些工作负载的性能出现下滑。例如,在某些平台上运行的cactusBSSN基准测试显示,性能下降了高达600%。分析发现,这些测试创建了多个4632kB的映射,这些映射在优化前能够合并成更大的THP支持区域,而现在却被分割成多个与PMD边界对齐的小区域,由此产生的间隙导致了性能损失。
面对这一问题,英特尔已经提出了解决方案,即增加一个条件判断,要求映射的大小必须是PMD大小的整数倍,而非仅仅是达到或超过PMD大小。这样做可以有效避免odd-sized mapping的对齐问题,使其能够自然合并,从而恢复甚至提升性能。
此次内核性能的大幅提升和优化过程中发现的问题及解决方案,再次证明了开源社区和英特尔等企业在不断推动Linux内核发展,以适应日益复杂的计算环境。