Linus Torvalds adotta l’aggiornamento Hyper-V di Microsoft per tempi di avvio più rapidi nella prossima generazione di Linux
Mentre gli appassionati di Windows e Linux si impegnano spesso in accese battaglie sulla tastiera, gli sviluppatori di questi sistemi operativi riconoscono i rispettivi punti di forza e di debolezza. Microsoft, in particolare, riconosce questa dinamica e incoraggia effettivamente gli utenti a sperimentare Linux, soprattutto tramite il suo Windows Subsystem for Linux (WSL).
Inoltre, Microsoft rilascia regolarmente aggiornamenti volti a migliorare le prestazioni e le funzionalità di Linux. Un esempio degno di nota è l’introduzione della virtualizzazione nidificata o del supporto Hyper-V nidificato a novembre 2022. Inoltre, a settembre dell’anno precedente, il creatore di Linux Linus Torvalds ha accettato i miglioramenti relativi a Hyper-V per gli ospiti AMD SEV-SNP e gli ospiti Intel TDX proposti da Wei Liu, architetto principale di Azure Machine Learning.
Di recente, Torvalds ha approvato i nuovi aggiornamenti Hyper-V di Liu per Linux 6.12, con particolare attenzione ai miglioramenti delle prestazioni evidenziati da Saurabh Singh Sengar di Microsoft:
Estrai gli aggiornamenti Hyper-V da Wei Liu:
- Ottimizza il tempo di avvio tramite l’esecuzione simultanea di hv_synic_init() (Saurabh Sengar)
- Utilizzare gli helper per leggere i registri di controllo in hv_snp_boot_ap() (Yosry Ahmed)
- Incorporare il controllo dell’allocazione della memoria in hv_fcopy_start (Zhu Jun)
La descrizione della patch spiega in dettaglio come la parallelizzazione della funzione hv_synic_init() può migliorare significativamente i tempi di avvio per i processori con un numero elevato di core e nodi NUMA (accesso non uniforme alla memoria):
Ottimizza il tempo di avvio tramite l’esecuzione simultanea di hv_synic_init()
Su un sistema di grandi dimensioni con 1780 CPU, hv_acpi_init() impiega circa 3 secondi per terminare, principalmente a causa dell’inizializzazione sincrona sequenziale gestita da hv_synic_init().
Pianificando l’esecuzione simultanea di queste attività, ogni CPU può eseguire hv_synic_init() in parallelo, massimizzando così il potenziale di più CPU.
Questa ottimizzazione comporta una riduzione del tempo di avvio di circa 2 secondi su un sistema con CPU 1780, il che si traduce in un miglioramento di circa il 66% rispetto al metodo precedente.
Sengar ha anche recentemente tenuto una presentazione intitolata “Accelerare l’avvio del kernel Linux per grandi sistemi multi-core”, che discute i dettagli di questa patch e di altre ottimizzazioni in corso. Puoi visualizzare la presentazione qui sul sito web della Linux Plumbers Conference (LPC).
Lascia un commento