Linus Torvalds adopta la actualización Hyper-V de Microsoft para tiempos de arranque más rápidos en Linux de próxima generación

Linus Torvalds adopta la actualización Hyper-V de Microsoft para tiempos de arranque más rápidos en Linux de próxima generación

Aunque los entusiastas de Windows y Linux suelen enzarzarse en acaloradas batallas de teclado, los desarrolladores de estos sistemas operativos reconocen las fortalezas y debilidades de cada uno. Microsoft, en particular, reconoce esta dinámica y de hecho alienta a los usuarios a experimentar con Linux, especialmente a través de su Subsistema Windows para Linux (WSL).

Además, Microsoft publica actualizaciones de forma rutinaria destinadas a mejorar el rendimiento y la funcionalidad de Linux. Un ejemplo notable es la introducción de la virtualización anidada o la compatibilidad con Hyper-V anidada en noviembre de 2022. Además, en septiembre del año anterior, el creador de Linux, Linus Torvalds, aceptó las mejoras relacionadas con Hyper-V para los huéspedes AMD SEV-SNP y los huéspedes Intel TDX que fueron propuestas por Wei Liu, arquitecto principal de Azure Machine Learning.

Recientemente, Torvalds aprobó nuevas actualizaciones de Hyper-V de Liu para Linux 6.12, con especial atención a las mejoras de rendimiento destacadas por Saurabh Singh Sengar de Microsoft:

Obtenga actualizaciones de Hyper-V de Wei Liu:

  • Optimizar el tiempo de arranque mediante la ejecución simultánea de hv_synic_init() (Saurabh Sengar)
  • Utilice ayudantes para leer registros de control en hv_snp_boot_ap() (Yosry Ahmed)
  • Incorporar comprobación de asignación de memoria en hv_fcopy_start (Zhu Jun)

La descripción del parche explica cómo la paralelización de la función hv_synic_init() puede mejorar significativamente los tiempos de arranque de los procesadores con una gran cantidad de núcleos y nodos NUMA (acceso a memoria no uniforme):

Optimizar el tiempo de arranque mediante la ejecución simultánea de hv_synic_init()

En un sistema masivo con 1780 CPU, hv_acpi_init() tarda aproximadamente 3 segundos en finalizar, principalmente debido a la inicialización sincrónica secuencial manejada por hv_synic_init().

Al programar estas tareas para que se realicen simultáneamente, cada CPU puede ejecutar hv_synic_init() en paralelo, maximizando así el potencial de múltiples CPU.

Esta optimización da como resultado una reducción del tiempo de arranque de aproximadamente 2 segundos en un sistema con CPU 1780, lo que se traduce en una mejora de aproximadamente el 66 % respecto del método anterior.

Sengar también realizó recientemente una presentación titulada “Aceleración del arranque del kernel de Linux para sistemas multinúcleo de gran tamaño”, en la que se analizan los detalles de este parche y otras optimizaciones en curso. Puede ver la presentación aquí, en el sitio web de Linux Plumbers Conference (LPC).

Fuente: LKML ( link1 , link2 )

Fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *