Otimização avançada

Google aprimora kernel Linux com patches de otimização AutoFDO e Propeller

Google lança novos patches para otimizar o kernel Linux com AutoFDO e Propeller. As melhorias prometem ganhos de até 10% no desempenho de sistemas Linux, beneficiando desde servidores até usuários domésticos.

Logotipo 3D do Google em cores vibrantes sobre uma superfície reflexiva, com fundo preto.

Google continua aprimorando o kernel Linux com otimizações que podem aumentar o desempenho dos sistemas em até 10%.

Logotipo do Google com efeito abstrato e ondulado, exibindo cores distorcidas e fluídas em fundo preto.

Recentemente, engenheiros do Google deram mais um passo no desenvolvimento de melhorias para o kernel Linux, utilizando técnicas de otimização chamadas AutoFDO e Propeller. Estas são ferramentas avançadas que ajudam a compilar o kernel de forma mais eficiente, resultando em um desempenho superior em sistemas Linux. Para quem não está familiarizado, o kernel é o núcleo do sistema operacional que gerencia o hardware e os recursos do sistema.

O que são AutoFDO e Propeller?

De forma simples, o AutoFDO (Automatic Feedback Directed Optimization) é uma técnica que melhora o desempenho de programas ao analisar como eles funcionam na prática. Ele usa informações coletadas diretamente do hardware para ajustar o código do sistema, tornando-o mais rápido e eficiente. Essa técnica é ideal para otimizar o kernel Linux, pois elimina a necessidade de processos manuais complicados. Comparado a outros métodos mais complexos, como o iFDO (Instrumentation-based Feedback Directed Optimization), o AutoFDO é mais fácil de aplicar, o que o torna acessível para muitos desenvolvedores.

O Propeller, por sua vez, é outra ferramenta que trabalha junto com o AutoFDO. Após o código ser compilado, o Propeller faz ajustes finais, analisando o comportamento do programa durante a execução. Esses ajustes podem resultar em um desempenho ainda melhor, especialmente em programas e sistemas de grande porte.

Como essas técnicas melhoram o desempenho?

Se você não está familiarizado com o processo de compilação, pense no AutoFDO e no Propeller como mecânicos ajustando o motor de um carro para que ele funcione da maneira mais eficiente possível. Quando aplicados ao kernel Linux, essas ferramentas conseguem “sintonizar” o código para que ele aproveite melhor os recursos do hardware, como o processador e a memória, resultando em um sistema que responde mais rápido e executa tarefas com mais eficiência.

Patches recentes e melhorias

Durante o verão, os primeiros patches (correções de código) que aplicavam o AutoFDO e o Propeller ao kernel Linux foram enviados. Agora, uma nova atualização foi lançada com melhorias. De acordo com Rong Xu, engenheiro do Google, testes mostraram que essas técnicas podem trazer ganhos de desempenho de até 10% em microbenchmarks e até 5% em grandes serviços de data centers, como os usados pelo Google e pela Meta (antiga Facebook).

Os testes mais recentes foram realizados em sistemas com o kernel Linux 6.9.x otimizados com AutoFDO e Propeller. Esses testes incluíram benchmarks como o Neper, que avalia a performance de redes, e o UnixBench, que mede o desempenho geral do sistema. No Neper, houve um aumento de 6,1% na taxa de transferência de dados e uma redução de 10,6% na latência (o tempo que um sistema demora para responder a uma solicitação). Já no UnixBench, as melhorias variaram entre 2,2% e 2,6%, dependendo da carga de trabalho.

Por que isso importa para usuários comuns?

Para quem usa Linux no dia a dia, esses ganhos de desempenho podem se traduzir em sistemas mais rápidos e responsivos, seja em servidores de grandes empresas ou em computadores pessoais. Imagine seu computador abrindo programas mais rápido, lidando melhor com várias tarefas ao mesmo tempo, ou até mesmo rodando jogos e softwares pesados com mais eficiência. Para servidores que hospedam sites ou grandes serviços online, como os do Google, essa otimização significa mais velocidade e menos tempo de espera para os usuários.

Vantagens do AutoFDO e do Propeller

Uma das maiores vantagens do AutoFDO é que ele elimina a necessidade de compilar versões separadas do kernel apenas para coletar dados de desempenho. Isso facilita a vida dos desenvolvedores e melhora a precisão dos ajustes feitos no código. Além disso, o AutoFDO é capaz de funcionar em ambientes de produção (ou seja, enquanto os servidores estão operando normalmente), coletando dados diretamente do hardware para fazer as otimizações.

O Propeller, quando combinado com o AutoFDO, permite que ajustes ainda mais precisos sejam feitos após a compilação do código, garantindo um ganho adicional de desempenho. Ferramentas como ThinLTO (Link-Time Optimization) também podem ser aplicadas para melhorar ainda mais o resultado final.

O que esperar no futuro?

Com essa segunda versão dos patches já disponível, espera-se que essas otimizações sejam integradas oficialmente ao kernel Linux em breve. Isso significa que, em um futuro próximo, os usuários de sistemas Linux poderão aproveitar esses ganhos de desempenho sem precisar fazer grandes mudanças. Para empresas que utilizam servidores Linux em larga escala, como o Google e a Meta, as otimizações prometem tornar seus serviços ainda mais eficientes.

Conclusão

As otimizações oferecidas pelo AutoFDO e Propeller representam um grande avanço no desempenho do kernel Linux. Se esses patches forem incorporados à versão principal do Linux, os sistemas poderão ficar mais rápidos e eficientes, beneficiando tanto usuários comuns quanto grandes corporações. Para mais informações consulte o patch.