主题 : 微软探索 LTO+PGO 以优化 Linux 内核
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605043
威望: 529545 点
无痕币: 6 WHB
贡献值: 0 点
在线时间: 62442(时)
注册时间: 2008-12-25
最后登录: 2024-05-11

0 微软探索 LTO+PGO 以优化 Linux 内核

当越来越多的软件厂商采用链接时优化 (LTO, link-time optimizations)和配置文件引导优化 (PGO, profile-guided optimizations)来利用编译器榨取性能的时候,微软工程师正在为自用的 Linux 内核探索 LTO+PGO,以实现更好的 Linux 性能。
在 Linux 内核上使用链接时优化并不是新概念,过去已有多家厂商发布了针对 Linux 内核的 LTO 补丁,但通常不会带来很大的变化。此前 Linus Torvalds 和其他人一直对支持 LTO 的 Linux 内核不看好,部分原因是过去 GCC 的 LTO 状况不佳。但如今随着现代 GCC 编译器(和 Clang)的发展,LTO 也逐渐变得更好,像 Fedora 在打包他们的发行版安装包时都会默认使用 LTO,也有像 Clear Linux 这样的公司通过使用 AutoFDO(基于程序性能分析工具的反馈式编译优化)来进一步提升其发行版的性能。
相对而言,在 Linux 内核上使用配置文件引导优化的案例则比较鲜见。由于配置文件引导优化完全依赖于配置文件,反馈给编译器以帮助其进行优化启发式处理。因此,对于实际使用情况而言,配置文件的准确性至关重要。考虑到在 Linux 上看到的工作负载非常多样化,以及各种不同的硬件和驱动程序,要生成对 PGO 有用的、能被广泛使用的、能帮助绝大多数用户的配置文件是一项艰巨的任务。因此,对于 Linux 内核中的 PGO,更多的是针对个人用户 / 组织,他们可以采用 PGO,并根据自身的实际情况进行调整。
微软软件工程经理 Ian Bearman 在本周举办的 Linux Plumbers 大会上介绍了他们对 Linux 内核的配置文件引导优化的探索。

他们对 PGO 的兴趣源于对 Linux 性能的 “内部客户要求”。不过话又说回来,微软致力于优化 Linux 性能现在看来并不是什么奇怪的事情,另一位微软工程师曾是推动 FSGSBASE 补丁开发的贡献者,最后还被合并进 Linux Kernel 5.9。
Redis 是他们一直展示的在内核探索使用 PGO 并获益的公开案例之一。

微软会继续探索用于 Linux 内核的 PGO,有趣的是,人们发现 Windows 确实广泛使用了 LTO + PGO。据说在 Windows 实例中,他们看到这些编译器优化的性能提升了 5~20%,想必是使用了他们自己的 MSVC 编译器。
级别: 七朵秋菊

UID: 219073
精华: 0
发帖: 26624
威望: 22737 点
无痕币: 176 WHB
贡献值: 0 点
在线时间: 1520(时)
注册时间: 2013-09-06
最后登录: 2024-05-10

谢楼主辛苦分享!
知足常乐
级别: 十方秋水

UID: 23
精华: 1
发帖: 261145
威望: 117158 点
无痕币: 2461 WHB
贡献值: 0 点
在线时间: 9392(时)
注册时间: 2007-11-24
最后登录: 2024-05-11

看看了解一下,谢谢总版分享!
事能知足心常乐 人到无求品自高
级别: 十方秋水

UID: 88
精华: 0
发帖: 130120
威望: 221902 点
无痕币: 107420 WHB
贡献值: 0 点
在线时间: 51973(时)
注册时间: 2008-03-18
最后登录: 2024-04-25

谢谢楼主精彩分享。了解一下。
级别: 八片秋叶

UID: 232159
精华: 0
发帖: 45271
威望: 40966 点
无痕币: 10040 WHB
贡献值: 0 点
在线时间: 806(时)
注册时间: 2014-06-03
最后登录: 2024-05-10

谢谢楼主辛苦分享,了解一下。
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 605043
威望: 529545 点
无痕币: 6 WHB
贡献值: 0 点
在线时间: 62442(时)
注册时间: 2008-12-25
最后登录: 2024-05-11

这个可以看看,了解一下。
Total 0.052760(s) query 4, Time now is:05-11 01:12, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛