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).
Deixe um comentário