U盘装系统_分享U盘装系统教程_提供64位win11、win10、win7电脑系统及绿色软件下载

当前位置:首页 > 系统教程 > 电脑资讯

改进 Linux 性能补丁以避免太多不必要的跨 CPU 唤醒

时间:2023-02-23 来源: 点击:
手机扫码继续观看
改进 Linux 性能补丁以避免太多不必要的跨 CPU 唤醒

  由 Intel 发起的补丁系列旨在改进 Linux 内核的公平调度程序代码,该代码也得到了 AMD 工程师和其他利益相关者的测试/反馈,并继续得到改进。这个补丁系列的重点是避免不必要的跨 CPU 唤醒过多。这样一来,这些补丁有助于增强 Linux 性能,尤其是在高核心数系统上。

  Linux 内核调度程序增强功能围绕唤醒当前 CPU 上的短任务以避免跨 CPU 唤醒。Intel工程师陈宇在补丁求职信中解释道:

  如果唤醒者和被唤醒者都是短期任务,则通过将唤醒者放置在唤醒 CPU 上来抑制跨 CPU 唤醒。持续时间短的任务可能会成为高负载系统的麻烦制造者,因为它会带来频繁的上下文切换。该策略仅在系统繁忙时生效。因为在还有空闲CPU的时候禁止空闲CPU扫描是不合理的。

改进 Linux 性能补丁以避免太多不必要的跨 CPU 唤醒

  首先,介绍短期任务的定义。然后利用第一个补丁为 wakee 选择一个本地 CPU。

  AMD 和英特尔平台都受益于开发中的补丁。好处因工作负载和系统最初的繁忙程度而异。这些补丁特别有利于 AMD EPYC 和英特尔至强服务器处理器以及其他具有高内核数的 HEDT 系统。

  总体而言,在某些超载情况下性能有所提高。比如 will-it-scale,netperf。对 schbench、hackbench、tbench 和使用商业 RDBMS 的 OLTP 工作负载没有明显影响,在 Intel Xeon 2 x 56C 机器上测试。

  根据 Prateek 对 Zen3 的测试,大多数基准测试结果都取得了小的胜利,或者与 sched:tip 相当。SpecJBB Critical-jOps 有所改善,而 Max-jOPS 受到的影响很小,但可能在预期范围内。ycsb-mongodb 在 NPS1 模式下有小幅提升。

  当客户端数量等于 CPU 时,在 Rome 2 x 64C 机器上观察到 netperf(localhost) 的吞吐量改进。

  总的来说,好处似乎很小但可以衡量。考虑到许多不同方面不懈追求的内核优化以及我几乎每天都在 Phoronix 上发布性能调整补丁,每一点点滴滴都会有所帮助并且非常受欢迎。当这些最新的补丁处于主线的轨道上时,我将对其进行测试。

  Intel 和 AMD 服务器 CPU

  这些补丁今天进行了第六次修订,更新了检查唤醒/唤醒 CPU 选择以避免可能的 Redis 性能回归的行为。

  现在看到 v6.3 内核的这个调度程序增强功能为时已晚,但我们将在接下来的几周/几个月内看到这项工作的进展,并希望在未来的 Linux 内核版本中最终成为对当今高核心数服务器的有益改进.

上一篇:Linux 6.3 为 Qualcomm WiFi 7 硬件支持添加 ath12k 驱动程序

下一篇:AMD Software Adrenalin Edition 23.2.2:支持原子之心和英雄连3

相关文章