jueves, 2 de octubre de 2008

¿Cómo fue que los programadores del núcleo de GNU/Linux mejoraron la velocidad de arranque?

Los programadores del núcleo de GNU/Linux, Arjan van de Ven y Auke Kok, hicieron una demostración del inicio de GNU/Linux en 5 segundos durante la Conferencia de Plomeros Linux (Linux Plumbers Conference) del mes pasado. A continuación explico los temas principales y relevantes, con un poco más de detalle.

Arjan y otros programadores han mejorado de manera importante la experiencia del usuario Linux al reducir el consumo de energía y tiempo de recuperación de datos (latency). O'Reilly News entrevistó a Arjan acerca de su trabajo en las mejoras con PowerTOP, LatencyTOP y arranque en 5 segundos.

Lo realmente interesante es conocer acerca de las dos herramientas utilizadas para diagnosticar y corregir problemas y los métodos utilizado para lograr mejorar el arranque de GNU/Linux.

PowerTop.

PowerTOP es una herramienta que ayuda a encontrar aquellos programas que se comportan inadecuadamente cuando una computadora está en descanso. La aplicación que se comportaba peor era el núcleo de GNU/Linux, sin embargo desde la versión 2.6.21 el núcleo se comporta de mejor manera y utilizando menos energía, gracias a que el CPU permanece en modo de baja energía por periodos más largos durante un descanso del sistema.

Sin embargo hay varias cosas que arruinan esta armonía, tanto en el núcleo como en el espacio de usuario. PowerTOP combina varias fuentes de información del núcleo en una sola conveniente pantalla de forma que se peude apreciar como es que el sistema está ahorrando energía y que componentes son los que representan los mayores problemas.

PowerTOP muestra entonces que tan bien utiliza el sistema las diversas funciones de ahorro de energía del sustento físico, muestra que aplicaciones o componentes son los culpables, ayuda a los desarrolladores a probar sus aplicaciones en cuanto a la gestión de energía y provee sugerencias de ajustes para lograr menor consumo de energía.

LatencyTOP.

LatencyTOP es una herramienta enfocada hacia los desarrolladores para GNU/Linux, tanto del núcleo como del espacio de usuario, que sirve para identificaren el sistema donde ocurre tiempo de recuperación de datos ( latency) inadecuado, y que tipo de operación o acción está causando el problema de modo que el código puede ser cambiado evitando los peores tiempo de recuperación de datos.

Mejoras para lograr un arranque más rápido.

En cuanto al arranque en menos de 5 segundos, éste involucra la combinación de varios factores.

Uno de éstos es iniciar el núcleo sin una imagen initrd y compilando los controladores dentro del núcleo mismo en lugar de hacerlo como módulos, lo cual hace que el arranque del núcleo ocurra en fracciones segundos. Por ejemplo, compilando algunas controladores dentro del núcleo se abarca al 95% de las computadoras portátiles del mundo, y si se hace de esta forma solo sería necesario crear una imagen initrd para cubrir al 5% restante.

Gracias a mejoras en el soporte para AHCI Advanced Host Controller Interface), que se verán en la versión 2.6.28 del núcleo, el cual permitirá un arranque más rápido.

El otro factor determinante fue la modificación del históricamente utilizado init, donde un equipo de desarrolladores de Intel cambió el orden de inicio creado tres conjuntos de programas se se ejecutan al mismo tiempo. En el primer conjunto inicia sReadahead; en el segundo conjunto ser realizan verificación de sistema de ficheros, luego D-Bus, luego X Window y finalmente el escritorio; en el tercer conjunto de programas se inicia HAL (Hardware Abstraction Layer), luego udev y finalmente las conexiones de red.

Éstos arreglos en las tareas ayudan a utilizar más eficientemente el CPU. Por ejemplo, X Window demora solo medio segundo mientras examina los modos de vídeo, y es cuando HAL hace su inicio con intensa carga sobre el CPU.

Fuentes: O'Reilly News y Linux Weekly News.

Ver artículo original

Publicado con El navegador Flock