No podrás ir por un café si usas discos SSD y Ubuntu

Ya está disponible el release Alpha 6 de Ubuntu 9.10, y uno de los aspectos que ha causado revuelo son los resultados en las mejoras respecto al tiempo de inicio del sistema.  Tanto así que tendrás que cambiar la costumbre de ir por una taza de café, por la de destapar una cerveza mientras se inicia el sistema.

El tiempo de inicio de las distribuciones de Linux siempre fue criticado por sus usuarios pero esquivado por sus desarrolladores.  Ahora que Linux se comienza a utilizar masivamente en dispositivos portátiles como los basados en Android, Maemo y Moblin, hay un interés común en mejorar este aspecto.

Si bien en plataformas específicas como Android y Maemo se puede hacer bastante para ajustar el sistema al hardware, de tal forma que haga sólo lo justo y necesario, la historia es bien diferente cuando se trata de una distribución de Linux orientada a combinaciones indeterminadas de hardware.

El proyecto Moblin fue el primero en mostrar grandes avances en esta área, siendo el primero en lograr un inicio de sólo 5 segundos, pero también tiene el inconveniente de ser una implementación especialmente acondicionada, orientada a un publico no masivo, por lo que Ubuntu es el primero en llevar estos avances a una gran cantidad de usuarios de Linux.

Los tiempos alcanzados superan la meta establecida. Se esperaba llegar a 10 segundos para Abril del 2010 con la versión 10.04, y a 25 segundos en la versión 9.10 que se lanzará en Octubre, pero según pruebas realizadas con la versión Alpha 6 de 9.10, el sistema ya se inicia en sólo 22 segundos usando un disco duro normal (5400 RPM) y nada más y nada menos que 5 segundos con un disco de estado sólido (SSD).

Uno de los principales culpables de este avance es un componente del sistema llamado sreadahead.  En investigaciones sobre lo que sucede en el inicio del sistema se descubrió que uno de los factores que más afectan es el tiempo perdido esperando la lectura del disco (latencia).  Con sreadahead el sistema registra todo lo que necesita cargar desde el disco para iniciar, luego guarda esta información para cargarla en forma continua cuando se vuelva a iniciar el sistema, evitando las esperas.

Esta técnica también es aplicada en otros sistemas operativos, como BootCache de Mac OSX, pero al parecer ninguno de ellos la ha combinado con otros factores que permitan llegar a tal nivel de rapidez… aún.

Link: Ubuntu 9.10 optimizations: 5 second start up with SSD (Ars Technica)