Linux 内核是 Linux 操作系统 (OS) 的支柱,是计算机硬件与其进程之间的基本接口。
几天前 我们在博客上分享其中一项变化的消息 我们在发布会上可以找到什么 Linux 内核 6.9 的 目前正在开发中,各种变化已经公布,我们宣布 EXT2 已经进入过时类别,并且旧 NTFS 驱动程序的使用将被搁置,以支持 由 Paragon Software 开发的驱动程序。
现在 最新消息 关于 Linux 6.9 将向我们呈现的新功能是 该版本的内核将带来启动时间的显着提升 对于管理具有大量 RAM 的系统的用户,尤其是那些 他们利用 HugeTLB 页面。 这会大大减少系统引导过程中初始化这些页面所需的时间。
Linux 6.9 中添加的更改 将允许具有大量 HugeTLB 页的系统显着减少 在开始时间。例如,在初始化了 2 个 1800GB 页面的 1TB 系统上, 目前,总共 1 秒中只需要 2 到 10 秒,这在这个时代无疑是一个相当大的进步。同样,在 12TB Intel 主机上,初始化 11 个 776GB 页面可能需要一分钟多的时间,您将看到这些启动时间显着缩短。
这些进步 字节跳动的 Linux 开发人员李刚的辛勤工作使这些成为可能, 他实施了一系列补丁,并经过多次审查以确保高效执行。现有的内核基础设施,例如 padata_do_multithreaded,经过最小的修改即可实现这些结果。
v6 中的两个更新...
– 修复了 Together_bootmem_prealloc_node 中的潜在错误
padata_do_multithreaded 实现确保每个
Together_bootmem_prealloc_node 任务处理节点。然而,API 描述
在评论 padata_do_multithreaded 中表示 padata_do_multithreaded 也
您可以将多个节点一起分配给一个任务_bootmem_prealloc_node。为了避免将来对 padata_do_multithreaded 进行更改时可能出现的错误,
引入了 Together_bootmem_prealloc_parallel 来包装
Together_bootmem_prealloc_node。
好处 这些改进尤其是 在服务可用性和系统正常运行时间至关重要的环境中值得注意, 就像管理超大型服务器的超大规模企业和大型组织一样。重新启动期间启动时间的减少对于确保更快、更高效的正常运行时间非常有利。
除此之外, 还值得一提的是另一个变化 这些已包含在 Linux 6.9 中,该补丁由 Intel 一位经验丰富的 Linux 工程师提供,其中 引入了一种改进的技术,用于限制 x86 缓存刷新中的内存带宽,类似于 Intel 在 RDT 和 AMD EPYC CPU 中使用的 resctrl 代码。
补丁作者提到:
当组使用的带宽超过模式文件中用户设置的带宽时,MBA_mbps 反馈循环会增加限制,而当低于目标时,则减少限制。
值得一提的是限制内存带宽的新技术 旨在更有效地处理负载水平不均匀的工作负载s,避免以前版本的内核中发生的不必要的惩罚。
为了避免每次迭代中加速比出现不必要的波动,“delta_comp”标志用于指示要在“delta_bw”中的下一次迭代中记录的实际带宽变化。仅当当前带宽加上 delta_bw 低于用户目标时,才会减少限制。
因此提到 该算法适用于恒定带宽工作负载, 但如果工作负载在节流发生变化时发生变化,则可能会失败。为了解决这个问题,采用了一种更简单的技术,该技术可以计算如果将节流降低到下一个更高级别,带宽的潜在增加量,确保在降低节流之前带宽保持在用户的目标以下。
如果你是 有兴趣了解更多,您可以在以下链接中查阅详细信息: