Facebook作为积极为Linux内核做出贡献的供应商,近年来,其工程师一直在不断研究BOLT作为加速Linux/ELF二进制文件的方法。BOLT是“二进制优化和布局工具”的缩写,能够在分析后重新排列可执行文件,从而产生比编译器的LTO和PGO优化所能达到的更快的性能。BOLT的最新目标之一是优化Linux内核映像。与在Linux内核上执行配置文件引导优化(PGO)时出现的挑战类似,Linux内核上的BOLT面临着类似的复杂障碍,包括:对具有相关工作负载的内核进行适当的分析/采样并对其进行优化,内核大量比较了代码库、模块和核心内核代码。现有的BOLT仅专注于优化ELF应用程序可执行文件。在本周的LinuxPlumbersConference上,来自Facebook的工程师讨论了内核的BOLT处理,其带来的性能提升如下图所示:从数据可以看出这是一个值得持续投入的工作研究。因为Facebook在PGO+LTO编译器优化之上通过BOLT优化获得了“两位数的速度提升”。这里的速度提升是通过优化可执行文件的代码布局、更有效地使用硬件页面和指令缓存来实现的。如果你对Facebook的BOLT优化工具感兴趣,或者未来能充分使用BOLT优化内核的前景,可以查看Facebook工程师制作的幻灯片(地址)。BOLT代码也是开源的https://github.com/facebookincubator/BOLT。本文转自OSCHINA文章标题:Facebook继续研究BOLT提高Linux内核性能本文地址:https://www.oschina.net/news/161743/facebook-bolting-the-kernel
