Portada :: Conocimiento Libre
Aumentar tamaño del texto Disminuir tamaño del texto Partir el texto en columnas Ver como pdf 10-11-2009

La versin de Linux que usa Google

Franco Catrin
FayerWayer


Google es probablemente la organizacin en donde est corriendo la mayor cantidad de sistemas Linux. Gracias a este sistema operativo fue posible crear un esquema de trabajo distribuido y a la medida que fuera suficientemente independiente para permitir convertir una tesis en lo que hoy es Google.

Pero hasta hace poco, no se saba mucho de qu uso y qu tipo de problemas encontraba Google en su intensivo uso de Linux. Digo hasta hace poco porque en el reciente Kernel Summit realizado en Japn, Mike Waychison de Google asisti para exponer a los principales hackers del kernel, el uso que este gigante informtico le da a Linux.

Google usa un sistema de control de versiones del software bastante arcaico para lo que est acostumbrada la comunidad del cdigo abierto, lo que provoc risas en los asistentes. Se trata de Perforce, y en comparacin a nuevos sistemas como Git, tiene limitaciones o modos de trabajo que uno jams pensara que tendran en Google. No es de extraar el inters despertado en los asistentes a la presentacin que hizo Linus Torvalds sobre Git en Google hace un tiempo atrs.

Y eso es slo el comienzo, ya que Google maneja versiones bastante atrasadas de Linux. Alrededor de 30 ingenieros trabajan sobre una nica base de cdigo, aplican cambios y aproximadamente cada 18 meses sincronizan su propia versin con una versin pblica de Linux. Al ritmo que se desarrolla el kernel, la cantidad de cambios acumulados en todo ese tiempo lo convierten en una tarea titnica.

Es tanto as, que muchas de las lineas de cdigo que Google agrega a su propia versin son funcionalidades que se han implementado en Linux pero que no existan en la versin que usaron como base. As sucedi por ejemplo con el soporte de 64-bit y el soporte de SATA. Actualmente se estn preparando para mezclar con 2.6.26, mientras que la versin pblica ya se acerca a 2.6.32. Los cambios de Google sern aproximadamente 300.000 lneas de cdigo en donde un 25% corresponde a backports de nuevas caractersticas.

El cdigo es horrible

Linus Torvalds quien obviamente estaba presente y no fue slo a sacarse fotos a Japn, pregunt por qu Google no aplicaba sus cambios al kernel pblico. Mike respondi que el cdigo era bastante horrible y basado en versiones antiguas de Linux, adems de que no tenan seguridad de que los cambios aplicados por ellos tuvieran alguna utilidad para otros y que probablemente slo la mitad de ste sera publicable. Hay que recordar que licencias como GPL no obligan a publicar el cdigo que se usa internamente, por lo que Google est en su derecho de no publicar sus cambios.

Otro aspecto importante es que los estndares para aceptar cdigo en el kernel son bastante altos, por lo tanto un cambio que Google puede hacer rpidamente se convertira en un proyecto de largo o mediano plazo al entrar en un proceso ms exigente como es el desarrollo de Linux.

Mike tambin habl de uno de los aspectos crticos del kernel para Google, que es la forma en que se ejecutan los procesos. En un sistema multihilos como Linux, existe un componente que se encarga de decidir qu proceso usar la CPU en un momento determinado, este componente se llama scheduler o planificador. Para Google se trata de un componente en donde los cambios tienen un alto impacto, ya que en sus sistemas corren unos 5000 hilos en 16 a 32 cores, mientras que en el equipo de Linux este aspecto se ataca con criterios de diseo que apuntan a un uso ms tradicional.

En general Google aplica varios cambios a medida que los necesita, en forma independiente a cmo se implementan en el kernel, hasta que llega el momento de cambiar de versin. Segn los asistentes, esta participacin en Linux Summit fue bastante productiva ya que se puede decir que la comunidad aprendi mucho de uno de sus principales y extremos usuarios.

 

http://www.fayerwayer.com/2009/11/la-version-de-linux-que-usa-google/



Envía esta noticia
Compartir esta noticia: delicious  digg  meneame twitter