TECH4GEEKS-LOGO-HEADER
Oxary Magazine
$10 – $15 / Week

El nuevo programador del sistema operativo Linux reduce el retraso al mantener el trabajo liviano en menos núcleos de CPU

Según un informe de Foronix, se está desarrollando un nuevo programador de procesadores para los sistemas operativos Linux, que reduce la latencia del sistema y mejora el rendimiento en escenarios de baja carga. El nuevo planificador, conocido como Nido, está diseñado para concentrar cargas de trabajo con subprocesos ligeros en la menor cantidad posible de núcleos de procesamiento, con el objetivo de mantener las frecuencias de refuerzo al máximo durante el mayor tiempo posible.

Esta estrategia es muy diferente de la mayoría de los programadores de CPU que se utilizan hoy en día, que están optimizados para la saturación de múltiples núcleos. Esta estrategia es excelente en teoría porque distribuye uniformemente tantas tareas en tantos núcleos como sea posible, pero debido a las deficiencias arquitectónicas de las CPU modernas, esta estrategia no es el mejor uso de los recursos de la CPU.

El comportamiento de la velocidad del reloj en los procesadores de microchip modernos ha cambiado drásticamente durante la última década. En el pasado, todo lo que realmente tenía era una velocidad de reloj base única que el chip usaría para aplicaciones bajas, medias y pesadas, y un algoritmo turbo boost muy simple que activaría una frecuencia específica en cargas de trabajo medias o pesadas siempre que había suficiente margen térmico y energía de sobra.

Pero hoy en día, el comportamiento de la frecuencia de la CPU se ha vuelto mucho más complicado, con chips capaces de operar a una cantidad casi infinita de velocidades de reloj diferentes, así como múltiples niveles de estados de suspensión en los que los núcleos pueden entrar cuando están infrautilizados.

  Sapphire se burla de la familia de GPU Radeon RX 7900 de última generación

Estas nuevas funciones son sorprendentes para aumentar la eficiencia, pero pueden introducir retrasos no deseados causados ​​por retrasos en la configuración de la velocidad del reloj de la CPU. Un procesador no puede salir del modo de suspensión al instante; necesita tiempo para despertarse.

Nest resuelve estos problemas priorizando los núcleos usados ​​más recientemente en un sistema que ya está funcionando a velocidades de reloj turbo máximas de trabajos anteriores. De esta forma, Nest puede continuar entregando trabajo a los núcleos que ya están funcionando en sus relojes operativos más altos para contrarrestar cualquier retraso en el ajuste de la velocidad del reloj y mantener el rendimiento de la CPU lo más alto posible.

Nest hace esto «anidando» núcleos que sabe que se usan activamente o que se han usado recientemente, y cree que esos núcleos serán útiles en un futuro cercano. Nest hace esto con dos grupos a los que llama «Nido principal» y «Nido de respaldo». El nido principal es donde residen todos los núcleos activos y los núcleos activos destinados a cargas de trabajo ligeras a moderadas. El nido de repuesto es donde están todos los núcleos no utilizados.

Nest agregará o eliminará activamente núcleos del nido principal según sea necesario y centrará todo el trabajo ligero y moderado en esos núcleos. Incluso hará ping a ciertos núcleos para asegurarse de que no se queden dormidos si hay un pequeño momento de inactividad. Nest solo llevará los núcleos que residen en el nido en espera al nido principal si los núcleos activos no pueden hacer el trabajo de manera eficiente o en absoluto.

  CEO de Hexnode sobre Apple en Business and Workplace Transformation

Básicamente, Nest es lo suficientemente inteligente como para saber qué núcleos cree que serán útiles en el futuro cercano, para el trabajo futuro. Según los informes, Nest proporcionó un aumento del rendimiento del 10% al doble para cargas de trabajo ligeras a moderadas en computadoras de escritorio AMD, servidores AMD y servidores Intel.

Será interesante ver cómo se desarrolla este planificador en Linux. Técnicamente, Windows 10 y 11 tienen algo de este comportamiento para los procesadores AMD Ryzen, donde el programador de tareas priorizará núcleos físicos específicos para cargas de trabajo con subprocesos ligeros. Pero Nest parece ser un programador mucho más avanzado y capaz que actúa de manera mucho más fluida y no está limitado por propiedades centrales específicas.

Con suerte, algún día podremos verlo en acción en un sistema Linux real, pero por ahora todavía se está investigando.

Fuente

Etiquetas

Comparte en:

Ultimos Post

Categorias

Lorem ipsum dolor sit amet, consectetur adipiscing elit eiusmod tempor ncididunt ut labore et dolore magna

Deja una respuesta

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore