Facebook 持续研究 BOLT 来提升 Linux 内核性能

来源: OSCHINA
编辑: 局长
2021-09-26

Facebook 作为积极贡献 Linux 内核的厂商,近年来,其工程师一直在持续研究 BOLT,将此作为加速 Linux/ELF 二进制文件的方法。

BOLT 即"Binary Optimization and Layout Tool"(二进制优化和布局工具)的缩写,能够在配置文件后重新排列可执行文件,产生比编译器的 LTO 和 PGO 优化所能达到的更快性能。

BOLT 的最新目标之一是对 Linux 内核镜像进行优化。

与对 Linux 内核进行配置文件引导优化 (PGO) 时产生的挑战类似,对 Linux 内核进行 BOLT 处理也面临着类似的复杂障碍,包括:正确地分析/采样具有相关工作负载的内核并进行优化、内核的大量代码库、模块与核心内核代码等对比。现有的 BOLT 只专注于优化 ELF 应用程序可执行文件。

在本周的 Linux Plumbers Conference 大会上,有来自 Facebook 的工程师讨论了对内核的 BOLT 处理,带来的性能提升如下图所示:

从数据可以看出,这是一项值得持续投入研究的工作,因为 Facebook 在 PGO+LTO 编译器优化之上通过 BOLT 优化获得了"两位数的速度提升"。此处的速度提升是通过优化可执行文件的代码布局来实现的,可更有效地使用硬件页面和指令缓存。

如果你对 Facebook 的 BOLT 优化工具感兴趣,或者对未来能够完全使用 BOLT 优化内核的前景感兴趣,可查阅 Facebook 工程师制作的幻灯片(地址)。BOLT 代码也已开源 https://github.com/facebookincubator/BOLT

延伸阅读

展开阅读全文
11 收藏
分享
加载中
最新评论 (1)
这名字有点意思,暗示希望像博尔特一样跑的飞快。。
2021-09-26 15:50
1
回复
举报
更多评论
1 评论
11 收藏
分享
返回顶部
顶部