英特尔提交最新 Linux 性能补丁,有效减少跨 CPU 唤醒次数


由英特尔发起的最新内核性能补丁改进了 Linux 内核的公平调度程序代码,这个补丁系列的重点是避免不必要的跨 CPU 唤醒,可增强搭载高核心数 CPU 的 Linux 系统性能。

该 Linux 内核调度补丁主要是将短任务放在当前 CPU 上,以避免跨 CPU 唤醒。Intel 工程师陈宇在补丁邮件中解释道:

在高负载系统中,短期任务频繁跨 CPU 唤醒可能会成为性能问题的主要来源,因为它会带来频繁的上下文切换。

在该补丁生效后,如果唤醒者和被唤醒者都是短期任务,则通过仅将唤醒者放置在唤醒 CPU 上,来抑制跨 CPU 唤醒。

该策略仅在系统繁忙时生效,在还有空闲CPU的时候禁止空闲 CPU 进行扫描是不合理的。

该代码也得到了 AMD 工程师和其他利益相关者的测试/反馈,AMD 和英特尔平台都受益于这系列补丁。

据外媒 Phoronix 介绍,这些补丁特别有利于 AMD EPYC 和英特尔至强服务器处理器,以及其他具有高内核数的 HEDT 系统,具体的性能改进程度则因工作负载和系统繁忙程度而异。

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

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

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

目前该公平调度性能补丁进行了第六次修订,更新了检查唤醒和选择唤醒 CPU 功能,以避免可能的 Redis 性能回归。

说实话,性能提升并不是十分明显,且适用范围较小。但蚊子腿也是肉,就看 LIinus 是否会合并这系列补丁。


相關推薦

2021-12-23

Alder Lake 是英特尔第 12 代酷睿处理器,这也是英特尔在 x86 架构的处理器上首次采用 P 核 + E 核混合架构,相比此前的处理器改动幅度巨大。按照英特尔的计划,Alder Lake 处理器以及搭载该处理器的 PC 将从明年年初开始陆续推出

2023-03-26

频率最高 2.2GHz,支持 PCIe 3.0 和 DDR4。虽然它比不上 AMD 和英特尔的最新处理器,但对于国产 CPU 而言是进步。 ▲ 兆芯 “永丰” CPU ▲ 兆芯 “陆家嘴” CPU 近日,兆芯工程师向 Linux 内核提交了首批支持“永丰”架构的补丁

2021-11-25

提交记录显示,英特尔正在为 Linux 提供了新的 Key Locker 支持补丁。 Key Locker 是一个 CPU 功能,用于减少密钥外泄的机会,同时保持与 AES-NI 类似的编程接口。它将 AES 密钥转换为一种编码形式,称为 "密钥句柄(key handle)"

2022-09-30

(NLP)。通过扩展的硬件获取 AI 加速。 第 13 代智能英特尔® 酷睿™ 台式机处理器(原代号为 Raptor Lake)的全新初始支持。 针对智能云、边缘和媒体分析工作负载中深度学习推理工作负载的英特尔独立显卡、 英特

2023-06-16

3A6000 的性能可对标 7nm 工艺制造的 AMD Zen 2 架构,相当于英特尔第 10 代酷睿的水平。 据介绍,在 2020 年之前,龙芯CPU的指令集基于 MIP S进行扩展。在 2020 年之后,龙芯所有新设计的 CPU 都基于自主设计的 LoongArc h架构。 龙芯于

2022-03-28

6-64 处理器,性能比上一代 KX-5000 系列提升了 50%,达到了英特尔 i5-7400 的水平。其在 2019 年刚发布时,Linux 内核上游就加入了对它的支持,但被广泛使用的 GCC 编译器一直没有正确识别陆家嘴处理器,而是将其错误识别为英特尔

2022-06-15

,也可以使多插槽服务器的 Intel CPU 受益。测试显示,对英特尔至强可扩展“Ice Lake”服务器上的 Stream,其性能提高了 54~82%。 而且这个内核补丁只有几行代码: 目前该补丁已排入 sched/core 队列,如果没有其他突发情

2023-07-05

3A6000 的性能可对标 7nm 工艺制造的 AMD Zen 2 架构,相当于英特尔第 10 代酷睿的水平。 据介绍,在 2020 年之前,龙芯 CPU 的指令集基于 MIP S 进行扩展。在 2020 年之后,龙芯所有新设计的 CPU 都基于自主设计的 LoongArc h 架构。 龙

2023-06-13

英特尔工程师一直在为Linux内核开发新的集群调度代码,以更好地帮助其现代混合处理器的进程调度。这些补丁的更新版本现在已经发布,试图帮助提高Alder Lake CPU和更新版本的Linux性能。 英特尔工程师以前曾为Linux尝试过集群

2022-11-27

序请求了一块地址空间之后,应用需要在能够使用它之前提交使用范围,这个范围需要 Windows 保证它总是能够找到物理内存来支持它。之后,Windows 的行为就像 Linux 和 macOS 一样没什么区别了。因此,Windows 限制了可以提交的内存

2023-11-24

更好的压缩性能。 这次Zstd升级对Linux内核的动力之一是英特尔希望在Linux内核中使用更新的Zstd版本,因为它公开了Zstd的外部匹配提供程序API,从而允许QuickAssist技术(QAT)加速LZ匹配查找阶段。这对于那些拥有QAT硬件或将QAT加

2023-04-08

。 支持Hot Reload热重载,支持保存代码后在真机上使用最新的代码而无需重启应用。 支持OpenHarmony多包推送和多实例调试功能。 支持OpenHarmony API 9 C/C++工程的内存错误检测。 OpenHarmony日志功能支持打印FaultLog,便于应

2024-08-13

持版内核的需求,SIG组成员们将虚拟化与板载网卡支持从最新版本的内核中移植到6.6版,此举旨在让偏好稳定版内核的用户群体也能充分体验到龙架构设备所带来的性能与特性。 与此同时,SIG还积极响应用户反馈,针对多项关

2022-02-23

随机字节的 getrandom() 调用能够获得更好的性能。在配备英特尔 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 内存的设备上进行 stress-ng getrandom() 基准测试后,更是获得了 18450% 的性能提升。 此次更改基本上会将之前的全局结构(实际上是 per-