O kernel do Linux é a espinha dorsal dos sistemas operacionais (SO) Linux e é a interface fundamental entre o hardware de um computador e seus processos.
Alguns dias atrás Compartilhamos aqui no blog a notícia de uma das mudanças O que podemos encontrar no lançamento do kernel Linux 6.9, que está atualmente em desenvolvimento e diversas mudanças já foram divulgadas e o que anunciamos foi que o EXT2 já passou para a categoria de obsoleto e também que o uso do antigo driver NTFS será deixado de lado em favor do driver desenvolvido pela Paragon Software.
Agora nas últimas notícias sobre os novos recursos que o Linux 6.9 nos apresentará, é que Esta versão do Kernel trará uma melhoria significativa no tempo de inicialização para usuários que gerenciam sistemas com grandes quantidades de RAM, especialmente aqueles que Eles fazem uso de páginas HugeTLB. Isso resulta em uma redução considerável no tempo necessário para inicializar essas páginas durante o processo de inicialização do sistema.
E a mudança adicionada no Linux 6.9 permitirá que sistemas com um grande número de páginas HugeTLB experimentem uma redução notável na hora de início. Por exemplo, em sistemas de 2 TB onde 1800 páginas de 1 GB são inicializadas, o que atualmente eles levam entre 1 e 2 segundos de um total de 10 segundos, o que é sem dúvida uma melhoria considerável nestes tempos. Da mesma forma, em hosts Intel de 12 TB onde 11 páginas de 776 GB são inicializadas, o que pode levar mais de um minuto, você verá uma redução significativa nesses tempos de inicialização.
Esses avanços foram possíveis graças ao trabalho dedicado do desenvolvedor Linux Gang Li da Bytedance, que implementou uma série de patches que passaram por diversas revisões para garantir uma execução eficiente. A infra-estrutura de kernel existente, como padata_do_multithreaded, foi usado com modificações mínimas para alcançar esses resultados.
Duas atualizações na v6…
– Corrigido possível bug em Together_bootmem_prealloc_node
A implementação padata_do_multithreaded garante que cada
A tarefa Together_bootmem_prealloc_node manipula um nó. No entanto, a API descrita
no comentário padata_do_multithreaded indica que padata_do_multithreaded também
Você pode atribuir vários nós a uma tarefa Together_bootmem_prealloc_node.Para evitar possíveis erros de alterações futuras em padata_do_multithreaded,
Together_bootmem_prealloc_parallel é introduzido para envolver o
juntos_bootmem_prealloc_node.
Os beneficios dessas melhorias são especialmente notável em ambientes onde a disponibilidade do serviço e o tempo de atividade do sistema são críticos, como no caso de hiperescaladores e grandes organizações que gerenciam servidores muito grandes. A redução no tempo de inicialização durante as reinicializações é um grande benefício para garantir um tempo de atividade mais rápido e eficiente.
Além disso, Também vale mencionar outra mudança que foram incluídos no Linux 6.9, que é um patch de um engenheiro Linux experiente da Intel, que apresenta uma técnica aprimorada para limitar a largura de banda da memória em atualizações de cache x86, semelhante ao usado pela Intel em CPUs RDT e AMD EPYC com o código resctrl.
O autor do patch menciona que:
O loop de feedback MBA_mbps aumenta a limitação quando um grupo está usando mais largura de banda do que o usuário definido no arquivo de esquema e diminui a limitação quando está abaixo do alvo.
Vale ressaltar que a nova técnica para limitar a largura de banda da memória foi projetado para lidar com cargas de trabalho de maneira mais eficiente com níveis de carga não uniformess, evitando penalidades desnecessárias que ocorriam em versões anteriores do kernel.
Para evitar flutuações desnecessárias na aceleração em cada iteração, o sinalizador “delta_comp” é usado para indicar as mudanças reais na largura de banda a serem registradas na próxima iteração em “delta_bw”. A limitação só será reduzida se a largura de banda atual mais delta_bw estiver abaixo da meta do usuário.
Como tal é mencionado que O algoritmo funciona bem com cargas de trabalho de largura de banda constante, mas poderá falhar se a carga de trabalho mudar exatamente quando a limitação for alterada. Para resolver isso, foi implementada uma técnica mais simples que calcula o aumento potencial na largura de banda se a limitação for reduzida para o próximo nível superior, garantindo que ela permaneça abaixo da meta do usuário antes de reduzir a limitação.
Se você interessado em saber mais sobre isso, você pode consultar os detalhes nos seguintes links:
- Hugetlb: Paralelizar o início da página Hugetlb na inicialização
- Implementação de nova técnica de limitação MBA_mbps