新的 Linux 内核调度方法 Nest,可提高轻-中度负载的 CPU 性能


法国国家数字科学与技术研究所 Inria 的 Julia Lawall 在本周举行的  Linux Plumbers 大会 (LPC 2022)上介绍了新的 Linux 内核调度方法 “Nest”, Nest 调度程序由 Inria  研究所、 oracle Labs 、悉尼大学合作开发。据  Julia 介绍称,Nest 调度程序可利用现代硬件“将性能提高了 10%-2 倍,并且可以减少能源使用”。

现有的 Linux CFS 调度程序行为是将任务分散到机器的可用 CPU 内核上,Nest 采用了不同的方法。考虑到了启动长时间空闲的 CPU 内核可能会导致延迟,这些内核需要一段时间才能运行到更高的性能状态(更高的频率),而这段时间可能对当前的频率/功率预算产生负面影响 。而 Nest 的工作方式是尝试在启动空闲内核之前,将任务保留在一组已经以最高性能状态运行的“暖内核”(warm cores)中。

Nest 还在其调度决策中考虑了父/上一个核心,以尝试在多插槽 CPU 的情况下改善局部性能。

Nest 开发组使用外媒 phoronix 开源的 Phoronix 测试套件对各种工作负载进行基准测试,评估其调度决策的影响。

测试结果显示:在 1/2/4 插槽英特尔服务器,以及 AMD 服务器和台式机上, Nest 任务调度程序对轻型或中等工作负载产生 10% 到 2 倍的性能提升。对于已经充分利用 CPU 的多线程工作负载,Nest 任务调度程序并不能带来太多的提升,它比较适用于轻-中度工作负载。

了解更多 Nest 任务调度程序信息,可以查看 LPC 2022 中的 Nest 调度程序介绍视频以及幻灯片(PDF)。


相關推薦

2023-06-13

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

2023-02-24

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

2022-06-15

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

2023-12-01

文件内容来更改电源调度。 在 Intel PState 中出现了两个新的调度方案: balance_performance : 平衡偏性能,平时工作频率不高,在负载增大时能快速响应; balance_power : 平衡偏节能,电源策略较为保守 在部分电脑上还有 default

2023-04-18

度程序修复补丁,修复了自 2019 年底以来一直存在于主线内核中的“ CFS 调度器计算不平衡导致的整数溢出” 问题。 该问题最先在英特尔至强可扩展 Sapphire Rapids 服务器上发现,自 2019 年 10 月被报告以来,一直存在于主线

2023-11-18

办的 Linux Plumbers Conference 上提出,字节跳动 Linux 内核工程师 Cong Wang 发表了一个“Linux Kernel Autotuning”的主题演讲,提议可以使用人工智能(AI)和机器学习(ML)来调整 Linux 内核,从而为特定工作负载带来效果最优

2022-09-29

载中的性能: 不过其并未影响现代 Intel 系统,因为较新的 Intel 平台使用了基于 MWAIT 的 intel_idle 驱动程序代码路径来进行替代。 值得一提的是,Intel Linux 工程师 Dave Hansen 在 K Prateek Nayak 的补丁上进行进一步的简化。该补丁将

2023-08-23

no-sh/volcano/blob/master/docs/user-guide/how_to_use_vgpu.md 如何增加新的异构算力共享策略:https://github.com/volcano-sh/volcano/blob/master/docs/design/device-sharing.md 支持vGPU和用户自定义资源的抢占能力 当前 Volcano 支持 CPU、Memory 等基础资源抢占

2023-06-16

近日龙芯向 Linux Kernel 上游提交了支持 3A6000 超线程功能的补丁,以提供对 3A6000 超线程功能的检测和调度。 SMT(Simultaneous Multi-Threading) 是一种把单个物理核心虚拟为多个逻辑核心的技术,可以有效地提高 CPU 内部各种处理单元

2023-02-16

适用于 Ubuntu 22.04 LTS 系统的企业级实时(Real-Time) Ubuntu 内核。 实时 Ubuntu 内核基于 Ubuntu 22.04 LTS (Jammy Jellyfish) 中的 Linux 5.15 LTS 内核,可用于 x86_64 和 ARM 架构。专为航空航天、汽车、国防、物联网、机器人和电信公司以及公

2021-11-16

利用 Alder Lake 中所采用的 P+E 核心的混合架构和硬件线程调度技术 —— Intel Thread Director。 为了测试这些技术并一窥 Alder Lake 在 Windows 11 和 Linux 上的表现究竟谁更好以及具体好多少,外媒 Phoronix 近日做了一次深入的测

2022-07-19

代 Nest Hub 设备,随后还登陆了 Nest Hub Max。 开发一个全新的操作系统,尤其是开发 Fuchsia 这样从头开始构建的操作系统的最大问题之一就是软件生态,为了让系统能够快速发展起来,Google 自然是希望 Fuchsia 能够同时运行 Android

2022-09-08

上的工作负载,接着调度器重新调度被驱逐的工作负载至新的可用集群,如果用户开启了 GracefulEviction 特性,被驱逐的工作负载并不会被立即删除,而是延迟到新的工作负载运行之后,可以保障驱逐过程中业务不中断。 整体故

2023-03-25

性存在互补,基础设施团队期望充分利用这些特性,通过调度和管控等手段去优化资源效率,实现资源池的融合统一,帮助业务团队获得更低的资源成本和更强的弹性能力。 为实现资源统一托管,字节跳动从 2016 年就开始基