lunes mar 05, 2007

El discreto encanto del transporte público

Si se les diera a elegir, pocos consumidores se decantarían por un autobús de dos pisos antes que por un deportivo italiano.

Pero si su negocio consiste en trasladar a personas de la forma más eficaz posible, los autobuses no tienen rival. Su rendimiento por pasajero y kilómetro es más de veinte veces el de un deportivo. Utilizando el lenguaje informático podría decirse que los buses paralelizan el transporte. Están optimizados para el rendimiento multipasajero en lugar de monopasajero (en gran medida, lo contrario de lo que practica la mayoría de los consumidores, a excepción de los padres de familia con monovolúmenes).

Ese mismo énfasis en la eficacia industrial (y la misma divergencia con las preferencias del consumidor) ha venido caracterizando, durante años, a los centros de datos. Mientras los consumidores se inclinan por teléfonos Dolce and Gabbana, los centros de datos suspiran cada vez más por sus propios autobuses de alto rendimiento: infraestructuras optimizadas para el uso, la eficacia y el rendimiento globales, en vez de basarlo todo en la velocidad de los componentes.

Se trata de una tendencia que iniciamos hace años, cuando nos volcamos en las CPU con capacidad multithreading y lanzamos el primer microprocesador con óctuple núcleo, cada uno de los ocho núcleos con 4 hilos de ejecución, lo que hacía posible un servidor capaz de procesar 32 hilos simultáneamente, con un gran rendimiento y un precio inferior a 4000 dólares (haga clic aquí si desea probar uno gratis). Apostamos por dar prioridad a la eficacia antes que al rendimiento de cada hilo, y resultó ser una buena decisión. Intel, AMD, IBM y Sun están invirtiendo ahora mismo grandes cantidades en plataformas multinúcleo. Sun lleva una gran ventaja, ya que acaba de presentar el primer microprocesador comercial de 16 núcleos, es decir, hexadecimal (al que me referí, me avergüenza decirlo, como chip "hexal" en nuestra última teleconferencia financiera... Desde entonces he estado practicando: hexadecimal, hexadecimal...)

El hardware sin un software a la altura no sirve de mucho, pero, afortunadamente, Solaris sabe cómo "escalarse", es decir, aprovechar todas esas pistas independientes, de modo que las aplicaciones puedan hacer uso de la innovación en el hardware desde el primer momento. Los clientes pueden ejecutar una aplicación en cada hilo del chip, o en varios hilos, o incluso asignar un sistema operativo diferente a cada núcleo del chip, además de todas las combinaciones posibles (lo que ahora se conoce con el sonoro nombre de "virtualización de servidores"). ¿El resultado? Los clientes compran menos cajas que son más potentes, ocupan menos espacio y consumen menos y, en general, consiguen un rendimiento mucho mejor. Tradicionalmente, si se quería garantizar el rendimiento de una aplicación, se le asignaba exclusivamente un servidor. Los productos de virtualización de servidores como VMWare y Solaris 10 le permiten condensar una gran cantidad de aplicaciones en una sola caja, dándole a cada una la ilusión de que dispone de su propio servidor, mientras que un motor de normativas automatiza la cantidad de memoria y el uso de CPU que se asignan para garantizar el mismo rendimiento. De nuevo, una drástica reducción de cajas, de energía, de espacio, de calor... y de gastos.

Estamos trasladando esa misma virtualización al mundo del almacenamiento, con el lanzamiento de un sistema de ficheros, ZFS, con capacidad de adaptarse al hardware, eliminando operaciones de gestión del volumen y evitando la complejidad de tratar con multitud de unidades de disco. Incluso cuando dichas unidades fallan (después de todo, éstas se dividen en dos tipos: las que han fallado ya y las que van a hacerlo en cualquier momento). Teniendo en cuenta que algunos de nuestros clientes instalan miles e incluso decenas de miles de unidades de disco, ZFS permite la agregación, sin más, de grandes parques de unidades, lo que proporciona un servicio fiable a partir de equipos baratos, con una sencillez e integridad de los datos realmente increíbles.

Pero estos criterios de paralelismo y virtualización dejan fuera una parte del centro de datos. Y para la compañía que siempre ha defendido que "la red es el ordenador", se trata de una omisión muy evidente. ¿Qué pasa con la red?

Como seguramente ya sabrán, la mayoría de los dispositivos de red son de un solo hilo; paralelizan el trabajo mediante puertos físicos. ¿Que se quiere aumentar el rendimiento de la red? Se compran más puertos. El problema es que esto acarrea todo tipo de líos de cables, residuos, pesadillas administrativas e incluso problemas de peso: el cobre es muy pesado y los centros de datos en pisos elevados están llegando al límite de su peso. No es una broma. El mundo de las redes ha fallado, en gran medida, a la hora de mantenerse a la altura del rendimiento brutal de la paralelización en el sector informático.

En un mundo perfecto serían los ordenadores, y no las personas, los encargados de asignar de forma dinámica los recursos de red escasos, como ocurre en la actualidad con los recursos de servidor, de forma que se garantizasen grandes cantidades de ancho de banda y un alto nivel de servicio a los clientes más valiosos, y una menor cantidad a los menos valiosos. Se trataría de que tales decisiones las tomara un motor de normas, no una persona, en respuesta a reglas de la demanda o del negocio, prescindiendo de toda intervención física (lo que eliminaría los cambios de cables y la masificación de puertos, sin ir más lejos). En resumidas cuentas: lo deseable sería virtualizar también la red.

Por eso mismo acabamos de presentar Project Neptune, un concepto de hardware que aglutina la paralelización de los microprocesadores (para sistemas Intel, AMD y SPARC), con la del sistema operativo subyacente (Solaris, Linux o Windows), y con la de la red misma. Lo que, en combinación con la magia de un software al efecto (al que hemos denominado Project Crossbow), permite a las empresas olvidarse de cables, puertos, tarjetas y gastos, al llevar el paralelismo a la infraestructura básica de red (para los más "frikis", baste decir que se pueden tomar varios hilos de TCP y asignarlos a diferentes hilos del microprocesador, con lo que se reparte la carga y se liberan recursos tanto de los puertos como de la CPU). Los puertos se convierten en una comodidad física, como ocurre con los servidores. Lo que pasa en el interior depende de reglas o normas establecidas por el usuario o administrador para automatizar tales decisiones. Como ya he dicho, la red es el ordenador, y si el ordenador está virtualizado, ¿por qué no virtualizar también la red?

Dicho esto, ¿a quién podría beneficiar especialmente Project Neptune? A todos aquellos cuyos gastos (bien sea en concepto de licencias de software, esfuerzos administrativos, tarjetas de red, cableado o gastos de hosting) estén relacionados con el número de puertos de sus centros de datos. Después de todo, el futuro de las redes informáticas tiene más visos de parecerse a una estación de autobuses que a un circuito de Fórmula 1. Quizás a los autobuses les falte glamour, pero son mucho más eficaces y mucho mejores para el planeta. Menos puertos y servidores, pero más potentes, es algo positivo (al menos para nosotros :).

Si le interesa probar gratuitamente una tarjeta Neptune, haga clic aquí. Y antes de que lo pregunten: sí, eso de ahí es un Project Blackbox disfrazado de autobús, y no, no se trata de un nuevo diseño que vayamos a añadir a la gama.

Los siguientes enlaces y blogs les vendrán al dedillo si desean datos técnicos detallados y más información sobre Project Neptune y Crossbow:

Resumen de Sunay sobre Project Crossbow en Solaris 10.
Otra excelente entrada de blog, en esta ocasión de Ariel Hendel.
He aquí otra lectura interesante.

Actualización:

Pero lo mejor de todo es este fantástico podcast cortesía de algunos de los ingenieros responsables de las innovaciones en Solaris y Neptune.

Y por último...

Hoy es el 25 aniversario de Sun. Mucha, pero que mucha gente se volcará en las celebraciones correspondientes a lo largo del año (permanezcan atentos). Tras solo 10 años en Sun, estoy totalmente fascinado por nuestra trayectoria y me siento todavía como un recién llegado (cuatro de los participantes en el podcast anterior han estado en Sun más tiempo que yo, incluso el más joven).

Para mí, la mejor forma de celebrar la historia de Sun es celebrar el futuro que estamos ayudando a crear. Neptune es un ejemplo claro. La red es el ordenador, sin duda.

¡Feliz cumpleaños a todos!

Share this post  del.icio.us | digg.com | slashdot.org | technorati.com | reddit | facebook | stumbleupon

No Comments

Enviar un comentario:
Los comentarios han sido deshabilitados.