Intel Larrabee ¿Éxito rotundo o fracaso anunciado?

Intel Larrabee ¿Éxito rotundo o fracaso anunciado?

por

Intel propone que para resolver el problema del rendimiento de los GPUs solo se necesitan muchos nucleos x86 y un buen traductor. Esta solución esta encarnada en Larrabee y a continuación les mostraremos un pequeño adelanto de lo poco que realmente sabemos de él.

Ayer Anandtech tuvo acceso a una gran cantidad de información sobre el funcionamiento del procesador gráfico sobre el cual tanto se ha especulado, Intel Larrabee. Al ver dicho artículo, pareciese ser que por primera vez se justifica con creces la estrategia actual de Intel de agregar más núcleos de procesamiento a sus chips en vez de elevar las frecuencias de ellos. Claro, los cálculos gráficos son por naturaleza paralelos y agregar mas núcleos al problema ha resultado ser una solución muy eficaz hasta el momento.

Visto muy por encima, el concepto detrás del diseño de Larrabee parece increíblemente sencillo: simplemente lograr un chip en el cual múltiples núcleos puedan trabajar de forma coherente procesando los datos que le entrega un renderizador de software desarrollado por Intel, que toma los comandos de DirectX y OpenGL y los traduce a instrucciones que se acomoden mas a Larrabee. Con ello, Intel puede decir con orgullo que es la única empresa capaz de desarrollar un GPU que puede correr código x86 sin ningún problema de forma nativa y a la máxima velocidad posible.

Sin embargo, esta arquitectura no necesariamente puede resultar tan sencilla y tan fácil de implementar como sugiere en muchos apartados Anandtech. Por una parte, al emplear núcleos de ejecución genéricos y no desarrollados exclusivamente para procesamiento gráfico, Intel incurre en una gran penalidad en el rendimiento al tener que traducir las instrucciones por software para que sean ejecutables de forma eficiente. Adicionalmente, como hemos visto en la arquitectura del RV770, aun cuando el número total de unidades de ejecución de ese GPU es mayor a la cantidad que tiene NVIDIA, esto no se traduce necesariamente en rendimiento superior.

Esto se debía a que NVIDIA podía ejecutar 240 instrucciones por cada ciclo (uno por cada núcleo del GT200) mientras que AMD puede ejecutar entre 160 y 800 instrucciones por cada ciclo (entre 1 y 5 por cada núcleo del RV770). Por lo tanto, AMD depende mucho de que el compilador para poder ejecutar eficientemente 5 instrucciones cada ciclo. En el caso de Intel, cada núcleo puede procesar hasta un máximo de 16 instrucciones por ciclo, haciendo que su apuesta sea aun mas riesgosa que la de AMD, pues depende aun mas del compilador.

Las soluciones a este problema, planteadas por Anandtech son dos: hacer un compilador muy eficiente y aumentar el número de núcleos por cada chip Larrabee. Para la primera solución, la tesis de este sitio habla que Intel tiene probablemente los mejores compiladores del mundo. Esta tesis es válida pero no de forma tan explícita como se hace ver. Por una parte, recordemos que Intel pensaba hacer que todos sus clientes migraran a la arquitectura de 64 bits Itanium (incompatible con x86). Esto en la práctica nunca se dio debido precisamente a que el compilador de Intel nunca pudo emular de forma eficiente las instrucciones x86 o que Intel desarrollara un chip lo suficientemente poderoso como para que este escondiera la debilidad del compilador. Por lo tanto, habrá que esperar cuan bueno es el trabajo de Intel para atrapar las instrucciones DirectX y OpenGL y convertirlas en instrucciones no solo útiles para Larrabee, sino que además aprovechen las 16 unidades de cada núcleo con máxima eficiencia.

Por otro lado, Anandtech menciona que (como suele ser la estrategia últimamente de Intel) agregar mas núcleos al problema es la solución. Esto tiene sentido siempre y cuando la penalidad en la cual incurre agregar mas núcleos –aumento de consumo eléctrico y tamaño del chip- sea manejable. Para entender este problema un poco mejor, veamos uno de los escasos ejemplos que presento Intel con respecto al rendimiento teórico de Larrabee.

Para Gears of War, un juego que, aun cuando es de última generación no es extremadamente exigente con el hardware, Intel pronostica que se necesitan aproximadamente 25 núcleos por cada GPU Larrabee para mantener el juego corriendo a 60 FPS constantemente a una resolución de 1600×1200 sin Anti-Aliasing. El problema es que ya la misma 8800GTX es capaz de producir prácticamente esos mismos resultados (1.9 FPS menos). Por lo tanto, para ser competitivo con las generaciones de GPUs disponibles cuando Larrabee salga al mercado (se dice que seria para el próximo año) deben o agregar mas núcleos o hacerlos mas rápidos que la frecuencia que utilizaron para la simulación (1GHz). Los límites que plantea Anadtech 32 núcleos en 45nm para mantener un balance entre rendimiento y consumo eléctrico razonable son apropiados. Por otro lado subir la velocidad actual puede ser muy difícil porque la profundidad del pipeline de Intel es muy bajo (un pipeline poco profundo implica un chip muy limitado en velocidad pero muy eficiente en ejecución).

Viendo lo anterior, si se puede justificar que Larrabee pueda ser competitivo con la oferta de NVIDIA y AMD en su momento, sin embargo, Intel también tendrá el mismo problema que enfrentan esas dos empresas actualmente: dificultad de incluir mayores cantidades de núcleos sin que los parámetros de tamaño, consumo eléctrico y disipación de calor se salgan de las manos. Pero como se pudo ver en nuestro análisis de la arquitectura GT200, la cantidad de componentes está avanzando a un ritmo más rápido que el proceso de manufactura. Por lo tanto, cabe preguntarse si Intel llego muy tarde a la fiesta con una forma de diseño que puede estar en camino a la obsolescencia.

Juntando los factores anteriores, volvemos al punto original de lo que sabíamos de Larrabee: muy poco. Por una parte, el chip en la teoría se ve competitivo, pero depender tanto del software puede ser el talón de Aquiles de Intel. Es cosa de solo ver como hasta el día de hoy Intel tiene problemas para desarrollar sus drivers para chipsets como para darse cuenta que el problema no es de tan fácil resolución. Adicionalmente, las variables relevantes para ser competitivo como eficiencia por nucleo, compatibilidad, tamaño, rendimiento y consumo eléctrico entre otras todavía están sin ser explicadas por Intel.

La inercia de la empresa puede ser suficiente como para lograr la aceptación de este chip incluso si este no resulta ser del todo competitivo, tal como lo ha logrado múltiples veces, pero también el exceso de confianza de la empresa le puede jugar una mala pasada y Larrabee puede terminar siendo otro Itanium: un chip aceptado solo en círculos muy especializados. 

 

Comente este artículo