Para há vários anos, os engenheiros do Facebook têm trabalhado no BOLT como uma forma de acelerar os binários do Linux/ELF. Esta”Ferramenta de Otimização e Layout Binário”é capaz de reorganizar os executáveis ​​depois de perfilados para gerar um desempenho ainda mais rápido do que o que pode ser alcançado pelas otimizações LTO e PGO de um compilador. Um dos últimos esforços do BOLT tem sido a otimização da imagem do kernel do Linux.

Semelhante aos desafios em permitir otimizações guiadas por perfil (PGO) do kernel Linux, o BOLT’ing do kernel Linux enfrenta obstáculos complexos semelhantes em torno da criação de perfil/amostragem adequada do kernel com cargas de trabalho relevantes para otimização, a enorme base de código do kernel, módulos vs. código do núcleo do kernel, etc, em comparação com o foco BOLT existente em apenas otimizar executáveis ​​de aplicativos ELF. BOLT’ing o kernel foi comentado na Linux Plumbers Conference desta semana.

É um esforço valioso, pois o Facebook continua a promover”acelerações de dois dígitos”com BOLT no topo das otimizações de compilador PGO + LTO. Essas acelerações vêm por meio da otimização do layout do código do executável para um uso mais eficiente da página de hardware e do cache de instruções.

Os interessados ​​na ferramenta de otimização BOLT do Facebook em geral ou as perspectivas de no futuro ser capaz de BOLT totalmente o kernel, veja a apresentação (abaixo) e slides por Maksim Panchenko do Facebook. O código BOLT em si continua a ser de código aberto e desenvolvido ao ar livre no GitHub .

Categories: IT Info