Linux Recibe Importante Mejora en sólo 200 Líneas de Código

Hace unos días se propuso un pequeño cambio en Linux que logra una importante mejora cuando el sistema se ve sujeto a grandes demandas del procesador.  Se trata de sólo unas 200 líneas que cambian la forma en que estamos acostumbrados a experimentar la respuesta del escritorio bajo estas condiciones, y hasta el mismísimo Linus se encuentra entre los sorprendidos por su limpieza y sobre todo, por su efectividad.

     Linux en general se comporta bien realizando varias tareas al mismo tiempo, pero en sistemas de escritorio el uso intensivo de CPU puede hacer que las aplicaciones típicas se sientan más lentas.  Por ejemplo si se está codificando un video, compilando una aplicación o actualizando el sistema, aplicaciones mundanas como un navegador o la reproducción de video se verán afectadas, causando que el usuario sienta que el sistema está más lento.
     El cambio propuesto modifica la forma en que se distribuye la CPU entre las distintas tareas que está corriendo el sistema, de tal forma que esta distribución no deje sin recursos a una aplicación cuando otra está solicitando intensivamente el procesador.  No se trata de que el sistema corra más rápido, sino de que las aplicaciones no se sientan lentas bajo estas condiciones.
     Básicamente lo que hace el cambio es agrupar las tareas para que un proceso que levanta varios hilos de ejecución compita de igual forma con otra aplicación que también requiere de la atención del procesador.  Esta agrupación se crea al vuelo de forma automática, sin que el usuario tenga que hacer nada especial.
Este cambio será percibido por todos los usuarios de escritorio, ya hay varios alabando el cambio, incluyendo a Linus Torvalds:
Sí, tengo que decir que estoy (felizmente) sorprendido por lo pequeño que termina siendo el parche, y cómo no es ni intrusivo ni feo [...] Es una mejora en cosas como el desplazamiento suave (scrolling), pero donde lo he encontrado más interesante es cómo pareciera hacer que las páginas web cargaran más rápido [...] Pienso derechamente que este es uno de esos parches que significan una real mejora.  Buen trabajo.  La agrupación de tareas va desde “útil para algunos casos” hasta “esto es una característica asesina”.
     Michael Larabel de Phoronix, explica que la prueba consiste en crear un proceso intensivo en CPU como el compilar el kernel con 64 tareas en paralelo, al mismo tiempo que se realizan tareas “mundanas” como reproducir un video en 1080p, navegar por la web y ejecutar una aplicación OpenGL simple.  En el primer video se puede ver que la reproducción del video se vuelve imposible, mientras que las otras aplicaciones tienen problemas en responder.


Comentarios

Entradas populares de este blog

Monitorizar Carpetas o Ficheros con Zabbix Server

Proxy Transparente con SMP en Squid 3.3.3

Monitoreo de Ficheros de Log desde Zabbix