Noticia Linux 6.9 ofrecerá un arranque mas rápido en sistemas grandes con gran cantidad de RAM

Tux, la mascota del Kernel de Linux


El kernel de Linux es el elemento principal de los sistemas operativos (SO) Linux, y es la interfaz fundamental entre el hardware de una computadora y sus procesos.


Hace pocos días compartimos aquí en el blog la noticia de uno de los cambios que podremos encontrar en el lanzamiento del kernel de Linux 6.9, del cual actualmente se encuentra en desarrollo y ya se han dado a conocer diversos cambios y del que anunciamos fue que EXT2 ya paso a la categoría de obsoleto y también que se dejará de lado el uso del antiguo controlador NTFS en favor del controlador desarrollado por Paragon Software.

Ahora, en noticias más actuales sobre las novedades que nos presentara Linux 6.9, es que esta versión del Kernel traerá consigo una mejora significativa en el tiempo de inicio para usuarios que gestionan sistemas con grandes cantidades de RAM, especialmente aquellos que hacen uso de páginas HugeTLB. Esto se traduce en una reducción considerable en el tiempo que lleva inicializar estas páginas durante el proceso de arranque del sistema.

Y es que el cambio añadido en Linux 6.9 permitirá que los sistemas con una gran cantidad de páginas HugeTLB experimenten una reducción notable en el tiempo de inicio. Por ejemplo, en sistemas de 2 TB donde se inicializan 1800 páginas de 1 GB, que actualmente toman entre 1 y 2 segundos de un total de 10 segundos, lo que sin dudas es una mejora considerable en estos tiempos. De manera similar, en hosts Intel de 12 TB donde se inicializan 11 776 páginas de 1 GB, lo cual puede llevar más de un minuto, se observará una significativa reducción en estos tiempos de inicio.

Estos avances fueron posibles gracias al trabajo dedicado del desarrollador de Linux Gang Li de Bytedance, quien implementó una serie de parches que pasaron por múltiples revisiones para garantizar una ejecución eficiente. La infraestructura del kernel existente, como padata_do_multithreaded, fue utilizada con modificaciones mínimas para lograr estos resultados.

Dos actualizaciones en v6…

– Se corrigió un error potencial en together_bootmem_prealloc_node
La implementación padata_do_multithreaded garantiza que cada
La tarea together_bootmem_prealloc_node maneja un nodo. Sin embargo, la API descrita
en el comentario padata_do_multithreaded indica que padata_do_multithreaded también
Puede asignar varios nodos a una tarea together_bootmem_prealloc_node.

Para evitar posibles errores de futuros cambios en padata_do_multithreaded,
Se introduce together_bootmem_prealloc_parallel para envolver el
together_bootmem_prealloc_node.

Los beneficios de estas mejoras son especialmente notables en entornos donde la disponibilidad del servicio y el tiempo de actividad del sistema son críticos, como en el caso de hiperescaladores y grandes organizaciones que manejan servidores muy grandes. La reducción en el tiempo de inicio durante reinicios es de gran beneficio para garantizar una operatividad más rápida y eficiente.

Ademas de ello, también vale la pena mencionar otro de los cambios que se han incluido en Linux 6.9 el cual es un parche de un experimentado ingeniero de Linux en Intel, el cual introduce en las actualizaciones de caché x86 una técnica mejorada para limitar el ancho de banda de la memoria, similar a la utilizada por Intel en RDT y las CPU AMD EPYC con el código resctrl.

El autor del parche menciona que:

El bucle de retroalimentación MBA_mbps aumenta la limitación cuando un grupo utiliza más ancho de banda del establecido por el usuario en el archivo de esquema, y disminuye la limitación cuando está por debajo del objetivo.

Cabe mencionar que la nueva técnica para limitar el ancho de banda de la memoria está diseñada para manejar de manera más eficiente las cargas de trabajo con niveles de carga no uniformes, evitando penalizaciones innecesarias que ocurrían en versiones anteriores del kernel.

Para evitar fluctuaciones innecesarias en la aceleración en cada iteración, el indicador»delta_comp» se utiliza para indicar los cambios reales en el ancho de banda a ser registrados en la siguiente iteración en «delta_bw». La limitación solo se reduce si el ancho de banda actual más delta_bw está por debajo del objetivo del usuario.

Como tal se menciona que el algoritmo funciona bien con cargas de trabajo de ancho de banda constante, pero puede fallar si la carga de trabajo cambia justo cuando cambia la limitación. Para abordar esto, se implementó una técnica más simple que calcula el aumento potencial del ancho de banda si se reduce la limitación al siguiente nivel superior, asegurándose de que siga estando por debajo del objetivo del usuario antes de reducir la limitación.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en los siguientes enlaces:


Continúar leyendo...