Phoronix 指出,随着 IBM POWER10 Linux 支持的所有基本要素的逐渐到位,IBM 工程师近期正在积极地提交有关POWER10 性能优化方面的补丁。其中值得一提的则是对 sched/fair 的 wake_affine 改进。
IBM 方面称,他们发现 Power10 上的一些基准数据比预期的要少,从而将部分原因追溯到了 Linux 调度代码。“Power10 上的一些基准数据比预期的要少。一些分析表明,问题在于 Power10 上的 L2-Cache 是核心级的,即只有 4 个线程共享 L2-Cache。”
鉴于 POWER10 的二级缓存是在核心层面上的,所以 IBM 为 POWER10 做了一些 sched/fair 方面的调整,包括对空闲的 CPU 核心和缓存亲和性的偏好。目前,这组补丁再加上四月初的开始的早期补丁系列似乎已经取得了一些成效。早期的系列补丁是为了确保正确发现二级缓存并将最后一级缓存(LLC)域设置为 SMT 调度域。
这些补丁已经展现出了很明显的效果,譬如 Java DayTrader 基准测试的案例显示吞吐量提高了 44%,合成调度基准测试也得到了有效提升。不过,这些补丁仍需要进一步审查,并需针对现有的 POWER9 硬件进行测试,以确保对于旧体系来说没有任何缩水。另一方面,对于 Linux 5.13 而言,这些补丁为时已晚,但其可能会在 5.14 内核版本完成上游合并。
除此之外,整个 Linux/开源生态系统近期也有一些针对 POWER10 的小补丁,比如 Glibc 为 POWER10 优化 Strlen。IBM POWER10 系统预计将在今年年底开始抵达客户手中,因此预计在接下来几个月内还会有更多的调整。
猜你喜欢:暂无回复。