Aunque se esperaba para los primeros días de Marzo, la nueva versión de Linux (el núcleo) numerada como 2.6.33 ya fue publicada oficialmente.
Sin mayor preámbulo, veamos cuáles son algunas de las mejoras más interesantes.
- Esta versión incluye por primera vez la integración del driver de código abierto Nouveau para chips gráficos Nvidia. Recordemos que estos drivers fueron desarrollados por la comunidad de código abierto sin apoyo de la compañía y a pesar de la complejidad del proyecto por no contar con información sobre cómo funcionan estos chips, ya se cuenta con un grado de madurez que lo hace usable para tareas básicas,evitando la necesidad de descargar el driver cerrado de Nvidia.
- Se ha agregado DRBD. Se trata de un esquema de almacenamiento distribuido para aplicaciones que requieren alta disponibilidad. Es un esquema muy similar a algo que se conoce como RAID-1 en donde se tienen varios discos con información duplicada, si falla un disco, simplemente se reemplaza mientras el otro sigue funcionando. Con DRBD los discos están separados físicamente y la sincronización se realiza a través de la red.
- Linux cuenta con un mecanismo llamado ftrace para monitorear el sistema en forma no intrusiva. Se puede pensar como un mecanismo que permite enchufarse a una funcionalidad del sistema para ver qué está haciendo. En esta versión se han agregado utilidades para obtener información acerca del rendimiento del sistema.
- Se incluye TCP Cookie Transactions. Se trata de un mecanismo para evitar ataques de denegación de servicio. Una técnica usual en este tipo de ataques es solicitar una gran cantidad de conexiones al mismo tiempo (SYN Flood), lo que hace que el servidor trate de atenderlas porque no tiene cómo distinguir cuales son realmente válidas. Con TCPCT se establece una negociación para asegurar que quien pide la conexión sea un cliente válido.
- En la versión anterior se incluyó KSM para mejorar el uso de memoria en sistemas virtualizados. Una debilidad de esta ingeniosa idea era que las páginas de memoria compartidas no se podían llevar a disco cuando se necesitaba más memoria. Esta limitación ha sido eliminada con esta nueva versión.
Ahora que el kernel se encarga los detalles de bajo nivel de el sistema gráfico a través de kernel mode setting, se ha incluido como funcionalidad universal una llamada al sistema para sincronizar las aplicaciones con el refresco de la pantalla. Esto significa que ahora las aplicaciones o bibliotecas gráficas podrán saber cuándo es el mejor momento para actualizar lo que está dibujado en pantalla sin riesgo de que se dibuje parcialmente durante un cuadro, causando el famoso efecto de tearing.
Esta es una funcionalidad que siempre se pidió pero no había un acuerdo sobre cómo implementarla. En sistemas antiguos que no eran multitarea era increíblemente simple de implementar, pero en sistemas multitarea y con el gran desorden que existía en el mundo de los drivers antes de kernel-mode-setting, el desafío era bastante grande.
He dejado para el final uno de los cambios que me parece más interesante y que da el título de este artículo. Se trata de una mejora radical en el uso de la memoria que beneficiará sobre todo a equipos pequeños como netbooks y teléfonos móviles. El concepto es bastante simple pero poderoso, para entenderlo bien recomiendo leer mi artículo anterior sobre Kernel Samepage Merging.
¿Listos? Vamos a ver:
Al esquema de swapping o intercambio existente, incluyendo la unificación de páginas de memoria con contenido repetido, se ha agregado un paso intermedio de compresión. En vez de ir directamente al disco, ahora el swap se podrá hacer a un dispositivo virtual que comprime las páginas de memoria no utilizadas en RAM sin necesidad de llevarlas al disco, mejorando considerablemente el rendimiento por no tener que recurrir a un disco físico cuando la memoria se hace escasa.
¿Qué tan bueno es? Se han realizado varios benchmarks en donde sólo se ha encontrado un caso en donde no trae beneficios. En estos benchmarks destacan aquellos en donde se han detectado tasas de compresión de 4:1, o bien, una reducción de un 25% de la memoria necesaria para usar el sistema. Por ejemplo si tu entorno de escritorio junto a las aplicaciones requieren 256MB de RAM, ahora sólo necesitarán 64MB de RAM.
Si esto no te parece impresionante, también se puede ver desde el punto de vista del rendimiento. Se hicieron pruebas al realizar tareas rutinarias con el mecanismo estándar de swap a disco, usando un disco de 10.000 RPM y se obtuvo un promedio de 200-300 milisegundos ocupados en swap, con el nuevo sistema, estos tiempos bajan a sólo 10 microsegundos.
No hay comentarios:
Publicar un comentario