默认情况下,Ubuntu和其他Linux发行版上的AArch64内核倾向于默认使用标准的4K页面大小,但对于较新的AArch64硬件,特别是在服务器/HPC领域,使用64K页面大小会有很大的好处。自从我上次运行64位ARM 4K与64K内核页面大小基准测试以来,已经有一段时间了,在远程访问NVIDIA GH200的同时,我运行了一次新的比较,以查看切换到64K页面大小内核的性能优势。这些新的64K内核数字与最新的AMD EPYC和Intel Xeon CPU参考基准结果一起显示,以了解4K与64K页面大小对整体计算环境的影响。
Ubuntu,Red Hat Enterprise Linux和其他AArch64思想的发行版倾向于默认为AArch64的4K内核,但也有一些提供了64K内核页面大小的内核构建。Ubuntu和他们的Ubuntu主线内核PPA一样,迎合了今天更大的AArch64服务器。
64K页面大小通常有利于处理大量内存的高性能计算(HPC)工作负载。从4K页面大小到64K页面大小可以带来更好的TLB命中率、更少的页面错误以及更高的内存效率。NVIDIA支持在他们的Grace Hopper超级芯片中使用64K页面大小的内核,这在AArch64领域变得越来越普遍--同时看到越来越多的Linux驱动程序改进了64K页面大小的兼容性,解决了文件系统差异,以及其他具有典型4K页面大小假设的内核代码。使用64K页面大小也会导致更高的RAM使用率,尽管这在服务器空间中不是很大的问题。
本文主要提供一些关于AArch64 64K与现代内核上4K页面大小性能的最新参考数据,同时在GPTshop.ai GH200 AI工作站上测试各种CPU工作负载。这些基准建立在最近的 NVIDIA GH200与英特尔至强/AMD EPYC CPU基准测试。
本文中的新数据是“GPTshop.ai GH200 + Linux 6.8”,作为GH200的运行版本,使用的是Linux 6.8 Git内核,而不是Ubuntu 23.10的默认Linux 6.5内核。由于Ubuntu 24.04 LTS的目标是与Linux 6.8一起发布,我运行了这个运行以供参考,看看从Ubuntu 23.10的Linux 6.5到6.8的性能优势。这些基准测试结果中的第二个新运行是针对64K页面大小内核构建的“GPTshop.ai GH200 + Linux 6.8 64k”。两个Linux 6.8 AArch64内核版本都是从Ubuntu Mainline Kernel PPA获得的,以便于重现。