O Linux fornece aos desenvolvedores e engenheiros uma maneira de “ajustar” sua operação, fornecendo milhares de parâmetros individuais que podem ajustar a maneira como o kernel de código aberto gerencia recursos. Este tipo de ajuste pode melhorar o desempenho mais rapidamente sem recompilar o kernel, mas ainda é uma tarefa desafiadora, mesmo para os programadores FOSS mais qualificados.

O ajuste do kernel é uma tarefa extremamente desafiadora, por isso há tentativas de usar inteligência artificial para lidar com esse trabalho, em vez de desenvolvedores humanos. A empresa chinesa de tecnologia ByteDance anunciou recentemente os resultados dos testes de ajuste automático do kernel Linux, uma solução baseada em inteligência artificial que libera os engenheiros humanos para tomar melhores decisões de ajuste analisando dados históricos - uma tarefa que os humanos normalmente considerariam desafiadora.

Alcançar o desempenho ideal do Linux por meio de ajuste é um processo demorado que requer extensa experimentação por especialistas em Linux. Cargas de trabalho diferentes exigem métodos de ajuste diferentes para conjuntos diferentes de parâmetros do kernel. O desenvolvedor da ByteDance, Cong Wang, mencionou que ajustar manualmente o kernel do Linux para “centenas” de cargas de trabalho diferentes é quase impossível em data centers de grande escala, como os que a empresa usa.

Embora existam ferramentas projetadas para simplificar o ajuste do kernel, elas fornecem um tipo específico de otimização. A abordagem da ByteDance visa lançar a primeira solução automatizada no espaço de ajuste de kernel – uma tecnologia que pode cobrir todos os parâmetros de ajuste do Linux com investimento mínimo de engenharia.

A equipe de Wang presta atenção especial à otimização do sistema de gerenciamento de memória do Linux. Ao empregar algoritmos de aprendizado de máquina, como a otimização Bayesiana, a empresa descobriu que o ajuste automatizado de parâmetros pode alcançar melhores resultados do que a maioria dos engenheiros de kernel Linux normalmente alcança.

A ferramenta de ajuste automático da ByteDance foi projetada para ajustar automaticamente as configurações internas do Linux com base em cargas de trabalho e configurações de hardware específicas. Os núcleos são ajustados dinamicamente para garantir o desempenho ideal em todas as situações, resolvendo a antiga necessidade de ajustar manualmente os núcleos para cada instância de computação.

Na maioria dos casos, os ajustes automáticos baseados em inteligência artificial de Wang e colegas pareciam ser eficazes. De acordo com a ByteDance, os algoritmos de aprendizado de máquina podem otimizar dinamicamente o sistema, monitorando o desempenho central em tempo real e melhorar a eficiência, otimizando o uso de recursos. O sistema de IA também possui uma interface amigável, permitindo que usuários com conhecimento técnico limitado se beneficiem de um núcleo mais utilizável. Ao mesmo tempo, usuários avançados podem personalizar parâmetros de ajuste automático.

A ByteDance afirma que algoritmos de aprendizado de máquina podem reduzir o uso de memória de um aplicativo em 30% ou otimizar a latência da rede HTTP em servidores NGINX, resultando em uma melhoria de 12% no desempenho da rede em relação aos ajustes manuais. Em cenários de computação em nuvem e de data center, essas melhorias podem levar a economias significativas de custos e desempenho otimizado. Os desenvolvedores admitem que o ajuste automático do kernel por meio de aprendizado de máquina não funcionará em todos os casos, mas esperam que se torne cada vez mais necessário.

Acesse a documentação para saber mais:

https://lpc.events/event/17/contributions/1520/attachments/1152/2582/Linux%20Kernel%20Autotuning.pdf