Facebook正持續研究BOLT’ing以提高Linux內核執行性能
幾年來,Facebook的工程師們一直在研究BOLT,作為一種加速Linux/ELF二進位檔運行的方法。 這個「二進位優化和佈局工具」能夠在分析後重新排列可執行檔,以產生比編譯器的LTO和PGO優化所能達到的更好的性能,BOLT的最新工作之一是優化Linux內核。
與允許對Linux內核進行輪廓引導優化(PGO)的挑戰類似,BOLT’ing Linux內核也面臨著類似的複雜障礙,這些障礙圍繞著對內核的相關工作負載進行適當的輪廓分析/取樣優化、內核的龐大代碼庫、模組與核心內核代碼等,而現有的BOLT重點只是優化ELF應用可執行檔。 在本周的Linux Plumbers會議上,有人談到了BOLT’ing內核。
這是一項值得努力的工作,因為Facebook繼續宣傳BOLT在PGO+LTO編譯器優化之上的”兩位數的速度提升”。 這些加速是通過優化可執行檔的代碼布局來實現的,以便更有效地使用硬體頁面和指令緩存。
那些對Facebook的BOLT優化工具感興趣的開發者,或者對未來能夠完全實現BOLT內核的前景感興趣的朋友,請參閱Facebook的Maksim Panchenko的演講(如下)和幻燈片:
BOLT代碼本身正繼續在GitHub上進行開源和開發: