Kairui Song desarrolla un nuevo parche MGLRU-FG capaz de mejorar hasta en un 40% el rendimiento de Linux

Kairui Song con un nuevo parche para Linux
Kairui Song con un nuevo parche para LinuxGenerado con IA
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

Los parches MGLRU-FG de Kairui Song para el kernel Linux mejoran el rendimiento de la memoria hasta un 40% mediante la promoción de páginas guiada por frecuencia.

Cuando se trata del rendimiento de Linux, hay un factor principal que destaca como uno de los fundamentales y ese es la gestión de memoria. Durante años, ha sido uno de los apartados que se han estado actualizando en el kernel.

Aunque los procesadores actuales ofrecen cada vez más potencia y los sistemas cuentan con mayores cantidades de RAM, la eficiencia con la que el sistema administra las páginas de memoria continúa marcando diferencias notables en tareas exigentes.

Entre todo esto ha surgido una tecnología llamada Multi-Generational LRU (MGLRU) que el ingeniero Kairui Song piensa incorporar a uno de los siguientes parches que están por llegar. 

Esto destaca porque cuenta con protagonismo durante años gracias a la capacidad de mejorar el comportamiento del sistema bajo presión.

Desde compilaciones complejas hasta bases de datos, navegadores web y aplicaciones empresariales, se espera que sea una evolución crucial para el ecosistema del pingüino Tux.

MGLRU-FG busca llevar la gestión de memoria de Linux a un nuevo nivel

Rendimiento de Linux por gestión de memoria
Rendimiento de Linux por gestión de memoriaPhoronix

Eliminar el código basura antiguo que se ha estado almacenando en el kernel de Linux no es lo único que se está considerando sobre la mesa cuando se trata de mejorar el rendimiento y hacer que el sistema sea cada vez mejor.

El desarrollador Kairui Song ha presentado una nueva versión de los parches MGLRU-FG (Frequency-Guided Promotion), una evolución de MGLRU diseñada para identificar con mayor precisión las páginas de memoria más utilizadas y mantenerlas accesibles durante más tiempo.

En lugar de depender exclusivamente de la protección basada en el tiempo de desalojo que ya utiliza MGLRU, el sistema también tiene en cuenta cuántas veces se accede a una página.

Cuando una página alcanza determinados umbrales de referencias, puede promocionarse de forma proactiva dentro de las generaciones de memoria, evitando esperar a que entren en acción otros mecanismos de control.

Según explica Song en la documentación enviada a la lista de correo del kernel, cada acceso incrementa un contador de referencias asociado al folio.

"Cuando los árbitros alcanzan un cierto umbral, el folio se promueve de forma proactiva en lugar de esperar a que entre en acción el controlador PID".

Se incorporan varios niveles de referencia, incluyendo "LRU_REFS_REFERENCED", "LRU_REFS_WORKINGSET", "LRU_REFS_PROTECTED" y "LRU_REFS_MAX", permitiendo una clasificación más precisa de las páginas activas.

Además, esta implementación reduce el uso de indicadores de página en un bit y mejora la exactitud de la contabilidad de referencias dentro de MGLRU.

El objetivo es sencillo: distinguir mejor cuáles son los datos realmente importantes para la carga de trabajo en ejecución. Al mejorar esa capacidad de identificación, el kernel puede reducir operaciones de recuperación innecesarias y conservar en memoria los datos con mayores probabilidades de reutilización.

Las pruebas muestran mejoras importantes en compilaciones, MongoDB y Chromium

La tecnología en cuestión también sirve para determinar la capacidad general en cuanto a fluidez y velocidad en el kernel. Según los datos revelados desde Phoronix, los benchmarks apuntan a que hay un aumento de rendimiento situado entre el 10% y el 40%, dependiendo de la carga utilizada.

En ciertas situaciones específicas, el tiempo de ejecución de tareas clave disminuye de manera considerable. El experto destaca especialmente que una compilación estándar logra ser cerca de un segundo más rápida en un entorno normal.

En otros escenarios, la compilación se acelera casi diez segundos cuando se ejecuta con 96 tareas en paralelo. De acuerdo con el ingeniero Kairui Song, esta mejora representa un avance técnico decisivo en términos de rendimiento.

"En resumen, podemos ver un rendimiento entre un 10% y un 40% mayor o un rendimiento de referencia menor en varias pruebas diferentes; cierta carga de trabajo reduce drásticamente el tiempo de ejecución, al tiempo que reduce el uso de indicadores de página en 1 bit".

MongoDB registró una mejora cercana al 13,5%, las pruebas realizadas con Chromium y Node.js utilizando zRAM como espacio de intercambio alcanzaron incrementos de hasta un 76%.

Por otro lado, las pruebas de almacenamiento mediante FIO mostraron ganancias de rendimiento de hasta un 11%. Otra cosa buena de esto es que el parche fue probado en múltiples servidores con distintas arquitecturas, equipos de escritorio y dispositivos Android.

Tras las evaluaciones, se llegó a la conclusión de que es una actualización prometedora en muchos aspectos. Song considera que ya es estable, utilizable y suficientemente madura para continuar avanzando hacia una posible integración futura en el kernel Linux.