性能文章>只用几行代码,AMD 对 Linux 5.20 进行了出色的性能优化>

只用几行代码,AMD 对 Linux 5.20 进行了出色的性能优化原创

https://a.perfma.net/img/3110416
2年前
255011

据外媒 Phoronix 报道 ,AMD 近日提交的一个补丁可以进一步调整 Linux 内核的调度程序围绕 NUMA 的不平衡状态,对于某些工作负载,该调度程序的调整补丁可显著改善基于 AMD Zen 的系统性能,甚至在 Intel Xeon 服务器上也可提供帮助。

 

补丁的内容主要为:当 find_idlest_group () 函数中允许 NUMA 不平衡时,公平调度程序的更改正在考虑 CPU 亲和性。AMD 工程师 K Prateek Nayak 解释说:

 

对于每个插槽包含多个 LLC 的系统,例如 AMD Zen 系统,用户希望将需要带宽的应用程序分布在多个 LLC 上。Stream 就是这样一种具有代表性的工作负载,其中通过限制每个 LLC 一个流线程来获得最佳性能。

 

为了确保这一点,已知用户将任务固定到指定的 CPU 子集,每个 LLC 由一个 CPU 组成,同时运行此类需要带宽的任务。

 

我们可以通过检查本地组中允许的 CPU 数量是否少于本地组中运行的任务数来检测并避免这种堆积,并使用此信息将任务分散到下一个套接字中(毕竟,此慢速路径的目标是在初始放置期间找到最空闲的组和最空闲的 CPU。)


Stream 内存基准测试用例结果显示:对当前的 Linux 内核来说,此补丁可使 Stream 受益 36~44%,性能提高约 40% :

 

797373D0-FFA8-407F-8161-0015C7B18FD1.png

 

有趣的是,AMD 主导的优化不仅能让基于 AMD Zen 的处理器受益,也可以使多插槽服务器的 Intel CPU 受益。测试显示,对英特尔至强可扩展 “Ice Lake” 服务器上的 Stream,其性能提高了 54~82%。

51793383-7B6D-48E5-90F9-EF98A90D8DFE.png

而且这个内核补丁只有几行代码:

F69490EE-B098-4BFE-8B9D-32577CEF91B5.png

目前该补丁已排入 sched/core 队列,如果没有其他突发情况,应该会在 Linux 5.20 中引入。

更多技术细节可在补丁邮件中阅读。 

点赞收藏
堆堆

【HeapDump性能社区官方小编】各位堆友们,+微信号perfMa,可以联系上堆堆哦~

请先登录,查看1条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步
1
1
https://a.perfma.net/img/3110416
堆堆

徽章

【HeapDump性能社区官方小编】各位堆友们,+微信号perfMa,可以联系上堆堆哦~