FERRAMENTAS LINUX: O Ubuntu pretende aplicar otimizações de baixa latência ao seu kernel genérico

segunda-feira, 29 de janeiro de 2024

O Ubuntu pretende aplicar otimizações de baixa latência ao seu kernel genérico

 


O Ubuntu tem uma longa história de fornecer uma versão de kernel “baixa latência” para sistemas industriais embarcados e outros ambientes que necessitam de baixa latência. Com o lançamento do Ubuntu 24.04 LTS, a Canonical está considerando incorporar essas otimizações de baixa latência na compilação padrão do kernel.

O Ubuntu 24.04 LTS está se tornando cada vez mais promissor em termos de desempenho. Desde a adoção agressiva do kernel Linux 6.8, a ativação de ponteiros de quadro por padrão, a experimentação com compilações do Ubuntu x86-64-v3 e muito mais, esta próxima versão de suporte de longo prazo do Ubuntu Linux está se mostrando bastante atraente. A novidade mais recente é a consideração de aplicar suas modificações de baixa latência à compilação padrão do kernel usada pelo Ubuntu.

O kernel de baixa latência do Ubuntu é composto principalmente por alterações de configuração do Kconfig aplicadas à compilação do kernel, que agora estão sendo consideradas para aplicação por padrão. Neste relatório de bug do Launchpad explica: 

O Ubuntu oferece o kernel de “baixa latência”, um kernel otimizado para aplicações que têm requisitos especiais de “baixa latência”.

Atualmente, este kernel não inclui nenhum patch específico do UBUNTU SAUCE para melhorar os requisitos extras de “baixa latência”, mas a única diferença é um pequeno conjunto de opções .config.

Quase todas essas opções agora podem ser configuradas no momento da inicialização ou mesmo durante a execução, com a única exceção de CONFIG_HZ (250 no kernel padrão vs 1000 no kernel de baixa latência).

Manter um kernel separado para uma única opção de configuração parece um pouco exagerado e representa um custo significativo em termos de horas de engenharia, tempo de construção, tempo de teste de regressão e recursos. Sem mencionar o risco do kernel de baixa latência ficar desatualizado e não estar perfeitamente sincronizado com o kernel padrão mais recente.

A ativação das configurações de baixa latência no kernel padrão já foi avaliada antes, mas nunca foi finalizada devido ao risco potencial de regressões de desempenho em aplicativos que usam intensivamente a CPU (aumentar HZ de 250 para 1000 pode introduzir mais instabilidade do kernel em cargas de trabalho de processamento de números). O resultado da proposta original resultou em uma reclassificação do kernel de baixa latência como um kernel voltado para desktop, permitindo recursos adicionais de baixa latência (LP: #2023007).

Entre as mudanças no kernel de baixa latência estão a ativação de CONFIG_NO_HZ_FULL para modo tickless completo, CONFIG_RCU_NOCB_CPU para mover retornos de chamada RCU para o contexto KThread, CONFIG_RCU_LAZY para retornos de chamada RCU em lote e CONFIG_HZ=1000 para 1000Hz para melhorar a capacidade de resposta do sistema.

A preocupação é principalmente com o risco do desempenho da carga de trabalho do HPC/servidor. Mas, ei, eu convido isso como uma oportunidade agora para executar alguns novos benchmarks Phoronix das ofertas do kernel do Ubuntu nos próximos dias… CPUs de servidor AMD EPYC

A questão de aplicar as configurações de baixa latência à compilação padrão do kernel do Ubuntu ainda está para ser determinada e aqueles que desejam encontrar as mais recentes podem fazê-lo  neste bug do Launchpad. Será interessante ver o que eles decidem e quais outras mudanças de desempenho podem buscar para o Ubuntu 24.04 LTS.







Fonte 

Até a próxima !!




Nenhum comentário:

Postar um comentário