martes, 5 de abril de 2011

Kernel Linux 2.6.38 y el parche milagroso ¿Qué es y cómo funciona?

El debate por el decreciente rendimiento del kernel Linux en sí mismo no es nada nuevo (Recuerda que el kernel es el núcleo o corazón del sistema operativo). Hasta el mismísimo Linus Torvalds reconoció que el desarrollo exponencial del núcleo del pingüino versión tras versión (Al incluir nuevas características y soporte a nuevo más hardware) ha incidido negativamente en el rendimiento, convirtiéndolo en un monstruo cada vez más grande y pesado.

Y es justo en éstos difíciles momentos, cuando de la nada, el mundo del software libre se vió sorprendido por una modificación en el Kernel tan simple (a simple vista) pero con resultados tan efectivos que sencillamente descrestan a cualquiera.

El parche milagroso, como se le conoce a ésta modificación (Que llega “como caído del cielo“), no solo aporta un respiro como una enorme mejora al cuestionado rendimiento decreciente del núcleo sino que además aporta una visión diferente para abordar los problemas clásicos que rondan un sistema operacional. Por tanto, quizás lo más importante del parche milagroso no es que haya sido incluido hoy por omisión en el Kernel Linux 2.6.38 y que podamos disfrutar de sus bondades sino que puede ser el punto de partida para una serie de modificaciones mucho más profundas y por ende aún más satisfactorias de cara al usuario.

¿Pero qué es lo que hace el susodicho parche? La respuesta es tan simple como compleja: Cambia sustancialmente la forma como el planificador de procesos asigna los tiempos compartidos de la CPU a cada proceso.





En la práctica, con ésta característica, el planificador agrupará los procesos que tengan el mismo identificador de sesión (Session ID) en una entidad de programación única, en lugar de hacerse por TTY (O consolas de Linux). Hay que tener en cuenta que la identificador de sesión (Session ID) es una propiedad de los sistemas operativos tipo Unix que permite identificar una “rama de procesos” (Tanto padres como hijos) en el árbol de procesos del sistema operativo.

¡Genial! Pero ¿Por qué tiene un impacto tan significativo en el rendimiento? Al agruparse los procesos por identificador de sesión se reduce notablemente la latencia generada (Pues ya no se maneja cada uno independientemente), esto quiere decir, palabras más palabras menos: Se reduce la carga de la CPU. Por ésta razón, ésta característica es notable incluso en tareas tan triviales como cargar una página Web o reproducir un video. (Por supuesto que se nota más cuando trabajamos en varias tareas simultáneamente).

Quizás lo más impresionante de ésta mejora desarrollada por Mike Galbraith, es que a pesar de su complejidad conceptual, la solución realmente solo son poco más de 200 de líneas código… por lo que como se mencionaba anteriormente seguramente dará pie a muchas más mejoras notables para el pingüino… no solo por profundidad, sino también por el concepto.

El parche milagroso está oficialmente incluido en el Kernel Linux 2.6.38, núcleo que tendremos por omisión en las próximas ediciones de las distribuciones más populares, como por ejemplo, Fedora 15 y Ubuntu 11.04. Así que desde ya la pregunta sobra: Actualizar a la próxima versión de tu distribución favorita valdrá la pena desde el mismo núcleo.

3 comentarios:

  1. Excelente Post, claro y al grano, muy ilustrativo

    ResponderEliminar
  2. yo todavía con Kernel 2.6.35 en la pega y en la casa el .37, estoy esperando simplemente a cambiar todo el O.S. a la versión de Fedora 15 cuando salga, incluso con LibreOffice

    ResponderEliminar
  3. En primer intento de usar linux (hace menos de un mes), cambié el kernel 2.6.35 y le puse el parche, pero tuve que reinstalar linux y volvió a quedar el kernel anterior, aun así espero la versión final de 11.04 de ubuntu para tenerlo nuevamente. Gracias por la Info

    ResponderEliminar