Véngan esos 5… segundos para iniciar Linux!!

Hace unos días, un par de kernel hackers de Intel mostraron una prueba viviente de que es posible hacer que Linux se inicie en sólo 5 segundos. Y no hay trucos: En 5 segundos el sistema está listo para ser usado, eso quiere decir que el disco y cpu ya no se encuentran en uso y el escritorio está listo para comenzar a operar (Ver para creer). Bueno, también mostraron el ejemplo con un disco SSD para presentar el mejor caso, pero con un disco normal esto se puede obtener en 10 segundos.

En donde se agradecen estos logros? En equipos de escritorio que se apagan cuando no se usan, en dispositivos portátiles, en celulares, en laptops cuando suspend/hibernate no son una opción, etc.

He visto mucha confusión tanto en medios donde pulula gente informada como LWN, como en otros para todo tipo de público como FW. Espero que este artículo ayude a entender mejor de qué se trata este logro.

Estado actual

En un sistema Linux actual, el tiempo transcurrido desde que se inicia la carga hasta que aparece la ventana de login puede ser de unos 35 segundos a lo menos. Después de iniciar el escritorio pueden pasar unos 15 segundos adicionales (GNOME/KDE). Se pueden hacer cambios a la configuración original para mejorar el tiempo de inicio, pero tiene sus límites, es lo que publiqué en un artículo anterior. Aquí da casi lo mismo la distribución, ya que al modificar el inicio del sistema estamos tomando las mismas decisiones por las que pasa un desarrollador de una distribución, eliminando las diferencias entre una y otra, la única diferencia es que en algunas tendremos que hacer mas cambios que en otras.

En el caso de Windows, hay optimizaciones respecto a la carga de bibliotecas dinámicas y se reordena la ubicación física de los archivos entre otras cosas. Pero lo mas importante es que se permite que el usuario interactúe con el sistema aunque éste aún no se encuentre listo, atacando el problema desde el punto de vista de las percepciones. Esto se nota cuando ya se muestra el escritorio y el sistema es inusable porque el foco se pierde a cada rato y no se puede escribir, o el menú de inicio desaparece cada vez que quieres hacer click sobre él, o aparecen las ventanas de splash de cuanta basura haya instalada. Ya sabes, si crees que tu Windows se inicia rápido, el engaño ha sido exitoso.

En el caso de OSX, si se puede decir que es un sistema que inicia rápido de verdad. Cuando ves el escritorio ya está listo para ser usado. En este caso las optimizaciones aplicadas son muy astutas, y algunas de ellas han sido usadas en Linux también. Los interesados, revisen este artículo

Pero si mi CPU es de chorrocientos mil gigahertz asi que no importa

Una de las grandes falacias de la computación y de la cual todos los vendedores abusan es creer que una CPU rápida asegura que todo funcione más rápido. La realidad es que un computador es un sistema que funcionará tán lento como el más lento de sus componentes. En otras palabras, no siempre es más rapido ir en avión de una ciudad a otra, ya que se debe considerar la latencia, que es el tiempo en donde uno está esperando que algo suceda.

Lo mismo pasa en el sistema de inicio, hay tiempos en donde se está esperando que algo suceda y la CPU se encuentra totalmente inutilizada, algunos ejemplos:

Focalizando el esfuerzo

En este experimento se plantearon un par de ideas que ayudaron a orientar los esfuerzos.

Ya ya ya ya.. pero ¿cuales fueron los cambios entonces?

Ok, aqui vamos. Los nominados son:

Y para el resto del mundo, cuando?

El resto del mundo podrá ver estas mejoras en las siguientes versiones de la distribución. En Ubuntu se espera al menos para la versión de abril del próximo año (9.04 Jaunty Jackalope).

Se espera además que con el apoyo del resto de los proyectos involucrados, se logren mejoras que no se pudieron aplicar en este momento. Al menos en la misma conferencia así lo dijeron personajes de la talla de Keith Packard (X.org/Intel).

Bookmark and Share
October 5, 2008 • Tags: , , • Posted in: Posts

12 Responses to “Véngan esos 5… segundos para iniciar Linux!!”

  1. Pablo Estefó - October 5, 2008

    Buen artículo Franco! Había leido en barrapunto la noticia y me acordé que habías escrito algo sobre el tema antes, pero con esto quedó todo muy claro.
    Gracias por los datos de Viña tb, te pasaste ;-)

    Saludos!

  2. Eduardo Diaz - October 5, 2008

    Que bueno leer un post que aclare esto, porque tal como tu mismo dices, hasta en LWN andan perdidos.

  3. Hijo de Tron - October 6, 2008

    En sí mismo el concepto es estúpido. para que acortar el tiempo de carga de todo el sistema para despues dejar INMENSOS vacios de uso? (en tiempo de ciclos de procesador es una ETERNIDAD), desde que el usuario decide ir de un click a otro. o acomodar la taza de cafe, o arreglar el mousepad o en fin, ya se tuvieron todos los ciclos de procesamiento necesarios para cargar hasta el ultimo de tus queridos virus y troyanos metidos en tu sistema

    lo que se deberia hacer es una carga tipo “streaming” basandonos en las experiencias previas de ese usuario y/o a voluntad.
    es decir si siempre entro a ver mi correo, se pone el cliente de correo o navegador en la parte superior de la pila de tareas y asi etc.

    no siempre la fuerza bruta es mejor que la inteligencia.
    en este caso lo que propongo es que nuestras cajas no sean cajas estupidas, sino que aprendan de nosotros, mientras mas las usamos mas se acomodan a nosotros.

    pobres PC’s de los burócratas del gobierno…. tontitas de por vida

  4. Franco - October 6, 2008

    La idea es que después de esos 5 segundos quedes listo para hacer “lo que tu quieras”, tal como dices en tu segundo párrafo. Lo estúpido es esperar 1 minuto para recién poder hacer lo que quieres hacer, por ejemplo ver si te llegó un correo.

    (Ah! y los virus y troyanos son problemas de Windows)

  5. F3lip3 - October 6, 2008

    Habia (o hay aun?) un proyecto de Ubuntu denominado Upstar (si es que recuerdo bien) que pretendia en un plazo de unas 4 a 5 versiones ir cambiando los scripts de inicio de los demonios de modo tal que su comiezo fuera “en demanda” y suponia tambien una gran mejora en los tiempos de inico, el tema es q nunca mas supe de eso… alguna noticia ?

  6. Franco - October 6, 2008

    Es upstart. Ya se está usando hace tiempo en Ubuntu y en el caso de Fedora en la versión 9.

    Upstart facilita la configuración de cómo se inician los servicios, pero no garantiza que esto haga que todo funcione más rápido, incluso en este experimento cambiaron upstart por el sistema antiguo.

    La gracia de upstart es que funciona en base a eventos, entonces cuando “algo sucede” se gatilla una acción, a eso se debe referir lo que tu entendiste como “en demanda”.

    Los scripts base del init antiguo se migraron a upstart para que los scripts de los servicios sigan funcionando como antes, mientras no le saquen el jugo.

  7. MartilloG - October 6, 2008

    Estoy de acuerdo con El Hijo de Tron, si mi computadora fuera mas “inteligente” eso la haria mas rapida….

  8. Freddy - October 12, 2008

    tengo una laptop olidata wind.xp con salida para tv de 4 pinchos compre un modulador para que se viera bien en la tv. La pongo a la tv envideo y la entrada de la tv es por el cable pero la comp. no me da señal de que mande ¿que debo hacer?

  9. Miguel Pedreros - October 17, 2008

    Wuauu.. me recomendaron este enlace en el foro de la revista begins. Una vez más, felicitaciones.

    Ahora pienso y digo: \”Mmm.. no quiero esperar… haré las pruebas yo mismo, si ellos pudieron, yo también\” (jajaja, está bien, soy un estudiante aún… pero como decía el comercial: \”Impossible is nothing\”)

    Gracias por tu entrada. La tomaré como referencia.

  10. Moblin se integra en Fedora 12 “Constantine” - FayerWayer - September 2, 2009

    [...] sus inicios, el proyecto acaparó los titulares al lograr el record de iniciar un desktop Linux en sólo 5 segundos con el equipo totalmente apagado (sin suspender/hibernar), posteriormente volvió a sorprender cuando surgió la version 2, en donde [...]

  11. Moblin se integra en Fedora 12 “Constantine” : Blogografia - September 2, 2009

    [...] sus inicios, el proyecto acaparó los titulares al lograr el record de iniciar un desktop Linux en sólo 5 segundos con el equipo totalmente apagado (sin suspender/hibernar), posteriormente volvió a sorprender cuando surgió la version 2, en donde [...]

  12. Moblin se integra en Fedora 12 “Constantine” | UR-VE.COM - September 3, 2009

    [...] sus inicios, el proyecto acaparó los titulares al lograr el record de iniciar un desktop Linux en sólo 5 segundos con el equipo totalmente apagado (sin suspender/hibernar), posteriormente volvió a sorprender cuando surgió la version 2, en donde [...]

Leave a Reply