AMD Fusion: en busca de su significado

AMD Fusion: en busca de su significado

por

Esta semana la columna de Nicolás Rencoret entra de lleno a analizar Fusión, un desafío que en principio parece fácil de digerir pero en el cual mientras más se ahonda, más aristas va mostrando hasta hacerse mucho más complejo de lo que se pensaba.

A veces uno planea escribir sobre una tecnología en particular que parece relativamente abordable y digerible, sólo para darse cuenta al rato que se está uno embarcando en un recorrido extenso y complejo sobre un amplio conjunto de temas que tienen relevancia directa o indirecta con respecto a lo que originalmente se iba tratar. Al final, para abordar esa clase de temáticas se termina abordando una constelación de circunstancias anexas. Esto es lo que ocurre al intentar hablar de Fusion de AMD.

El primer problema  para intentar  entender lo que es Fusion parte de lo mal presentada que está la información en la página de AMD. Descontando un paper que habla sobre un cambio en la industria tecnológica por medio de la computación acelerada: “The Future is Fusion”, es difícil tener una idea concreta de lo que Fusion significa. Para hacer esto más complicado aún, sin contar el titulo del paper, este no incluye ninguna otra referencia a Fusion por lo que no se sabe si esto es un concepto, una tecnología, una iniciativa, un experimento o la más reciente bebida de fantasía.

Tal como menciona el video en la página de AMD, el concepto de Fusion es mucho más que la unión del CPU y el GPU. De hecho, los orígenes de Fusion se remontan al anuncio de la iniciativa Torrenza en Junio de 2006. Torrenza tenía como objetivo agregar aceleradores de procesos computacionales en la plataforma AMD tal como lo muestra la siguiente imagen.

La lógica detrás de esto es muy sencilla: se han explotado los parámetros para medir el rendimiento más allá de lo que el proceso de manufactura permite. Así, Intel y AMD se encontraron con una pared de ladrillos llamada TDP que les impidió seguir jugando a sacar CPUs con más Megahertz cada semana. Al encontrar dicha pared, tenían que encontrar otra métrica para poder justificar por qué un CPU en particular era superior y así nació la era de los núcleos en que estamos ahora. Si no puedes crecer hacia arriba (en frecuencia) podrás crecer hacia el lado (en núcleos).

Pero los multinúcleos no fueron la panacea

El problema es que, para el usuario común, dos núcleos son más que suficiente para lo que necesita. La mayoría de las aplicaciones tradicionales escalan muy poco su rendimiento teniendo más núcleos debido a que éstas son de carácter serial (el cual se beneficia de procesar más instrucciones por ciclo) y no paralelo (el cual se beneficia cuando se tienen múltiples unidades de ejecución).

En servidores, esto ve de otra forma, pues la mayoría de procesos están diseñados para ser ejecutados en paralelo, el problema es que para muchas cargas de trabajo no son tan eficientes tanto en costo como en beneficio en comparación con chips diseñados para trabajo en paralelo tales como un GPU. En otras palabras, en la más paralelizada de las plataformas, los multinúcleos X86 no son tan eficientes ni convenientes como se ha querido ilustrar.

Por lo anterior, esta nueva forma de medir rendimiento está quedando rápidamente obsoleta porque ni AMD ni Intel han logrado descubrir una forma en que el software aproveche los núcleos para los usuarios de escritorio o que estos sean más eficientes que un chip de trabajo en paralelo para imponerse definitivamente en ambiente de servidores. Esto se traduce en algo sencillo: menores ventas de CPUs. Al final si la gente no necesita un CPU más potente que el que tiene no comprará uno nuevo. Sencillamente estos no ofrecen razones de peso que justifiquen un recambio con respecto a la generación anterior (esto sin contar que se está comenzando a salir de las manos la cantidad de núcleos que se puede producir de forma económica).

El enfoque Torrenza/Fusion

Torrenza/Fusion opta por utilizar un enfoque llamado computación heterogénea en el cual el mundo no gira en torno únicamente a lo que puedan hacer los núcleos x86, sino a lo que puedan hacer éstos en conjunto con diversos aceleradores diseñados para una ejecución más eficiente (menor consumo eléctrico y a una velocidad considerablemente mayor entre otros) de tareas.

Un ejemplo sencillo de aceleradores seria uno encargado únicamente de procesar video de alta definición. Considerando que un CPU tiene una carga muy alta al procesar este tipo de videos y que los GPUs consumen en general cantidades considerables de energía, pensar en ver una sola película en Blu-ray completa en un notebook promedio sin que este se quede sin pila es difícil. Pero si se agrega un acelerador para este tipo de trabajo que permita usar un GPU integrado de bajo consumo y que la carga del CPU sea muy baja, este escenario puede tener más sentido.

Lo interesante es que estos aceleradores pueden tener una conexión directa con el/los CPUs presentes en el sistema pues estarían conectados por medio de Hypertransport. Pero más interesante aun, volviendo al grafico de esta antigua presentación, se detalla claramente que AMD pensaba en integrar los aceleradores al CPU sea teniendo un chip multinúcleo (MCM) o dentro del mismo núcleo del CPU.

Viendo una presentación actualizada de esto mismo (una vez que ATI fue adquirido por AMD) se ve claramente como la iniciativa Torrenza se convirtió realmente en Torrenza + Fusion y se menciona tangencialmente el hecho de que el primer acelerador en un núcleo de CPU AMD pudiese ser un GPU tal como se ve a continuación:

Con lo anterior, sería fácil decir que AMD con el lanzamiento de la página web de Fusion esta por fin oficializando lo que de alguna manera se sabía desde hace ya más de dos años. Obviamente la primera conclusión que se puede extraer es que no hay nada novedoso y prácticamente AMD ha estado sentada encima de buenas intenciones sin haber hecho algo concreto al respecto. Esta situación se agrava si se considera que:

a) Intel como respuesta a Torrenza también habló de su propia versión de esta iniciativa en el 2006 llamada Geneseo

b) Intel parece estar más próxima a introducir Nehalem que incorpora el concepto de aceleradores, integrando un GPU en una de las variantes del chip antes que AMD. No solo eso, Intel hace ya un buen tiempo comentó que Nehalem es modular, tanto así que las funciones como el GPU o el controlador de memoria integrado son parte del “un-core” (algo así como no-núcleo) del CPU.

c) Nehalem incluye dos conceptos claves que le daban la ventaja competitiva a Torrenza con respecto a Geneseo: conexión rápida de punto a punto entre CPUs (Quickpath) y controlador de memoria integrado.

> Para hacer más complejo el panorama, hasta NVIDIA lleva un buen tiempo hablando formalmente de computación heterogénea (dejando que el CPU realice las tareas de cálculo serial pero complementarlo con el GPU, experto en tareas en paralelo) utilizando CUDA. Esto le da por simple antigüedad más autoridad en el tema de la que ostenta  AMD quien sólo en su reciente paper menciono dicho termino abiertamente.

Tiene AMD algo concreto que mostrar?

Viendo todo lo anterior, realmente pareciese que AMD fue la primera empresa que anunció la fiesta pero la última en llevarla a cabo. Sin embargo, investigando un poco más se puede ver que AMD si ha experimentado un poco con lo que se consideraba parte de la revisada visión de Torrenza (ahora solamente llamada Fusion por lo que parece…confuso, ¿no?). Con varios socios estratégicos como LSI y Altera, han desarrollado aceleradores que en un primer momento se conectaron a una ranura Hypertransport pero que ahora se encuentran disponibles incluso como soluciones que se pueden conectar directamente al Socket 940 y F de AMD.

Desafortunadamente, al analizar el caso de Altera, nos damos cuenta que uno de sus socios encargados de empaquetar sus chips para que sean instalados en los zócalos de AMD llamado XtremeData también ha desarrollado una solución similar para Intel utilizando Geneseo. Más interesante aun, Intel no se quedo únicamente con este concepto y fue un paso más allá al anunciar un nuevo tipo de aceleradores cuyo nombre comercial es QuickAssist.

Si les suena familiar este ultimo nombre, es porque hace un tiempo atrás les mencionamos como Intel había lanzado un SoC ( System on Chip el cual agrupa a un CPU, Northbridge y Southbridge en un mismo empaque) que tenía una porción del chip programable utilizando basada en QuickAssist. Dicho modulo se puede programar para acelerar sinfín de tareas haciendo que dicho SoC se convierta mas en una solución a la medida de los clientes sin necesidad de producir distintos tipos de chips.

En conclusión….

Todos los hechos presentados anteriormente a modo de resumen muestran como AMD habló con mucho tiempo de anticipación y hasta el momento los frutos de su trabajo se han materializado de forma mínima. Sin embargo, algo que se puede decir a favor de AMD es que desde que anunció su iniciativa Torrenza ésta ha sido coherente en todo momento y representa una estrategia planificada. En el caso de Intel, su estrategia es más desorganizada y pareciese que solo ha logrado tomar la delantera a punta de fuerza bruta. En este sentido, AMD puede presentarnos en el futuro una solución mucho más refinada, lo cual le permita retomar el terreno cedido en esta nueva carrera.

Pensando en estas dos empresas, lo que se está fortaleciendo con esta nueva forma de pensar son sus respectivas plataformas (CPU, chipsets, interconexiones y aceleradores) haciendo que prácticamente se conviertan en ecosistemas más cerrados pues la unión entre los diversos componentes es mucho más fuerte. La delgada línea entre lo que se integra como tal en un CPU y lo que se deja en otros chips se vuelve mucho más borrosa, pues con sistemas de interconexión de alta velocidad como Quickpath y Hypertransport se tiene mayor margen para ir cambiando de ubicación a los aceleradores (del chipset, al CPU, a un zócalo independiente, etc.).

Considerando que Intel en un año más lanzara Larrabee y que probablemente para esa fecha tendremos productos de AMD basados en Fusion, la empresa que se ve perjudicada en todo esto es NVIDIA. Si el énfasis en la plataforma se va a acentuar aun mas ¿Qué puede hacer NVIDIA para ser una opción competitiva en el mediano plazo? Las respuestas a este dilema siguen siendo las mismas que hace un par de años cuando se anunciaron Fusion (como CPU + GPU) y Larrabee: tener productos altamente diferenciados que hagan que la gente los demande muy por encima de lo que ofrezca AMD e Intel, desarrollar/comprar su propio CPU o concentrarse en otros mercados no explotados y lentamente retirarse de aquellos en que dejen de ser relevantes.

El concepto de aceleradores es una gran idea surgida de la nueva crisis que se avecina para los productores de CPUs pues cada vez agregar más núcleos está trayendo retornos decrecientes. AMD fue probablemente más visionario al darse cuenta del problema con anterioridad pero Intel ha sabido convertir las promesas en productos en un menor tiempo. Será interesante ver cual empresa fue más acertada en su estrategia. ¿Estaremos viendo un renacer de AMD, o será esta empresa marginada aun mas por su débil capacidad de ejecución comparada con la del gigante azul? ¿Desaparecerá NVIDIA como tercer actor relevante de esta historia? ¿Volveremos a las épocas de un zócalo estilo coprocesador matemático? ¿El hijo de Larrabee será producto de una relación prohibida entre Intel y NVIDIA? ¿Sera CHW el padrino? No deje de ver la teleserie más esperada por el mundo geek en este, su canal de información favorito.

Comente este artículo