Linus Torvalds adota a atualização do Hyper-V da Microsoft para tempos de inicialização mais rápidos no Linux de última geração

Linus Torvalds adota a atualização do Hyper-V da Microsoft para tempos de inicialização mais rápidos no Linux de última geração

Enquanto entusiastas do Windows e do Linux frequentemente se envolvem em batalhas acirradas de teclado, os desenvolvedores desses sistemas operacionais reconhecem os pontos fortes e fracos um do outro. A Microsoft, em particular, reconhece essa dinâmica e realmente encoraja os usuários a experimentar o Linux, especialmente por meio do seu Windows Subsystem for Linux (WSL).

Além disso, a Microsoft rotineiramente lança atualizações destinadas a melhorar o desempenho e a funcionalidade do Linux. Um exemplo notável é a introdução da virtualização aninhada ou suporte a Hyper-V aninhado em novembro de 2022. Além disso, em setembro do ano anterior, o criador do Linux Linus Torvalds aceitou melhorias relacionadas ao Hyper-V para convidados AMD SEV-SNP e convidados Intel TDX que foram propostas por Wei Liu, arquiteto principal do Azure Machine Learning.

Recentemente, Torvalds aprovou novas atualizações do Hyper-V de Liu para o Linux 6.12, com foco particular em melhorias de desempenho destacadas por Saurabh Singh Sengar, da Microsoft:

Puxe atualizações do Hyper-V de Wei Liu:

  • Otimizar o tempo de inicialização por execução simultânea de hv_synic_init() (Saurabh Sengar)
  • Utilize auxiliares para ler registros de controle em hv_snp_boot_ap() (Yosry Ahmed)
  • Incorporar verificação de alocação de memória em hv_fcopy_start (Zhu Jun)

A descrição do patch detalha como a paralelização da função hv_synic_init() pode melhorar significativamente os tempos de inicialização para processadores com um grande número de núcleos e nós NUMA (acesso não uniforme à memória):

Otimize o tempo de inicialização por meio da execução simultânea de hv_synic_init()

Em um sistema massivo com 1780 CPUs, o hv_acpi_init() leva aproximadamente 3 segundos para terminar, principalmente devido à inicialização síncrona sequencial manipulada pelo hv_synic_init().

Ao agendar essas tarefas para ocorrerem simultaneamente, cada CPU pode executar hv_synic_init() em paralelo, maximizando assim o potencial de múltiplas CPUs.

Essa otimização resulta em uma redução de cerca de 2 segundos no tempo de inicialização em um sistema de CPU 1780, o que representa uma melhoria de aproximadamente 66% em relação ao método anterior.

Sengar também recentemente fez uma apresentação intitulada “Accelerating Linux Kernel Boot-Up for Large Multi-Core Systems,” que discute os detalhes deste patch e outras otimizações em andamento. Você pode ver a apresentação aqui no site da Linux Plumbers Conference (LPC).

Fonte: LKML ( link1 , link2 )

Fonte

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *