A futuro las arquitecturas de AMD-ATI poseen los nombres clave de Barcelona, Shanghai y Montreal, planeadas para los años 2007, 2008 y 2009 respectivamente (con el primero sufrieron retrasos por lo que recién ahora están saliendo al mercado). A grosso modo sus mejoras básicas incluyen incremento progresivo en tamaños de cache, velocidad del HyperTransport, uso de cuatro a ocho cores (con Montreal) y extensiones a lógicas subyacentes (tales como la ejecución de código o hilos, el acceso a datos, etcétera). Otra de las novedades es la inclusión de núcleos de soporte denominados Acceleration Cores. La familia Phenom X4 incluye un Wide Floating Point Accelerator por core que permite la ejecución más rápida de operaciones con números reales de hasta 128 bits.
Por último vale nombrar cuatro iniciativas de AMD-ATI que podrían cambiar un poco el estado de la industria de microprocesadores, estas son: Torrenza, Trinity, Raiden y Fusion. Por lo que se puede entender, y encontrar, Torrenza es algo así como un estándar de socket para la inclusión de coprocesadores (o aceleradores) desarrollados y manufacturados por terceros y que complementan la tecnología de CPU base de AMD. Trinity son tres tecnologías enfocadas básicamente a servidores y seguridad. Raiden también posee cierta afinidad a entornos de servidor. En cambio Fusion está orientado a todos los segmentos de mercado que puedan aprovechar de extensiones GPU, incluyendo novedosos aceleradores manufacturados por terceros.
Entre el grupo que comparte las citadas iniciativas están Cray, Fujitsu Siemens, HP, IBM, y Sun Microsystems por lo que su potencial es inmenso. Habrá que ver como resultan las cosas en la práctica porque con los estándares todo siempre empieza con muchos dolores de cabeza. Aparentemente todo esto ayudaría a que AMD-ATI pueda ofrecer innovaciones en cíclos más rápidos al incluir productos no propietarios, también reduciría costos tanto de fabricación como investigación. Al final todas son estrategias que le permitan mantenerse competitiva como empresa sin entrar en bancarrota y ofreciendo soluciones en todos los frentes con suficiente creatividad y novedades a un ritmo decente.
- - -
Con estas nuevas tecnologías la industria del software seguro sufrirá muchos cambios, sin embargo existen un par de indicios que apuntan a que la transición podría ser positiva y hasta beneficiosa. Personalmente sigo considerando que todas las nuevas ideas, optimizaciones, extensiones, mejoras y arreglos sufridos por el DirectX en su décima versión, como los shader unificados, apuntan a lógicas de programación que podrían aprovechar de hardware que complementa un poderoso CPU multi-core con núcleos de soporte diseñados para acelerar tareas o procesos específicos. Si el conjunto de instrucciones SSE4, la aparición de un VPU o las instrucciones AVX son parte de este concepto lo sabremos a principios del próximo año o a lo mucho finales del presente.
A lo anterior, y la evolución en hardware que ya está en nuestras puertas, hay que complementarlo con una inevitable extensión de los paradigmas de desarrollo de software actuales[7]. Existe una clara tendencia hacia lógicas que permiten lidiar mejor con multi-hilo, concurrencia y paralelismo físico, algo bastante conocido en entornos multiusuario y red pero no así en la PC. La inmensa disponibilidad de cíclos de procesador casi con seguridad servirá para dar nueva vida a ideas como las máquinas virtuales, engines 3D por software, etcétera. Al fin y al acabo algo hay que hacer con todo ese poder de procesamiento y por ahora las alternativas no son muchas (léase el artículo Hardware: La Era Multi-Core).
- - -
De todos los involucardos en esto será para los usuarios finales que las cosas puede que le resulten tediosas e incluso pesadas por un buen tiempo o, si posible, hasta acostumbrarse. Personalmente, toda ésta dinámica de sacar nuevas tarjetas madre, nuevos CPU, nuevos GPU como si fueran pan fresco de cada día me parece exagerada, innecesaria, y con una mentalidad demasiado orientada hacia lo desechable en tiempos en que honestamente no nos podemos dar ese lujo (o no deberíamos). Y no es por sonar ecologista. Además, como lo apunte en otro artículo los avances entre una y otra generación multi-core hacen obsoleta a la anterior desde cualquier punto de vista (Nehalem requeriría nueva tarjeta y con seguridad RAM); el único factor para decidir si se mejora o no es si se tiene o no el capital adicional requerido, porque en el más de los casos hay que cambiar otros componentes importantes y no sólo el CPU.
A la mentalidad desechable con que el nuevo hardware sale al mercado[7] hay que agregarle todo el mambo que nos espera para poder decidir qué modelo es el adecuado para nuestro bolsillo y nuestras necesidades de trabajo o diversión. Más allá de que continuará el cíclo de renovación cada tres a seis meses están los incrementos en velocidad, las diferencias en números de núcleos funcionales (2 a 16), la presencia o no de núcleos de soporte para tareas específicas (por lo que se entiende, el complemento 3D no sería lo mismo que un controlador gráfico integrado), tamaños de caché distintos, quizá hasta velocidades de bus y gestión (o compatibilidad) de memoria de diferentes tipos (DDR2 a DDR3 en sus distintas velocidades). Si ahora es complicado para el usuario promedio, mejor no imaginar de aquí a unos meses. Esto sin olvidar que en el más de los casos la adquisición es una inversión grande, con pocas posibilidades de reventa y/o mejora a mediano plazo, y que con seguridad será mucho menos rápido y eficiente a más tardar en seis meses. Injusto, innecesario pero por ahora innevitable.
Notas
[1] De momento conviene manter un poco de distancia sobre las implicaciones del Larrabee porque existe demasiada información disponible y mucha es contradictoria, incompleta o confusa. Baste decir que es multi-core y presentará varias y novedosas tecnologías de Intel adecuadas a diferentes mercados como ser videojugadores, uso estándar de una PC, servidores, etcétera. Donde la idea se vuelve difusa es con su denominación de "visual computing". Según se mire es una tarjeta de apoyo para 3D, o un procesador de soporte para operaciones afines a los engines 3D. Espero que en su momento lo aclaren bien.
[2] A pesar de lo que cada año se dice que la Ley de Moore ya no da para más, se descubren nuevos materiales y/o métodos de fabricación que permiten reducir el tamaño de los transistores, incrementar su cantidad y, como extras modernos, bajar su consumo de energía y minimizar su generación de calor.
[3] Multi-hilo nace como un concepto lógico que permite a los programas trabajar de tal manera que se acelera su ejecución en procesadores rápidos, la idea básica era crear un paralelismo virtual aprovechando que un CPU ejecuta miles de millónes de instrucciones por cíclo. Esto afin a la noción de que a ojos del usuario más de una aplicación siempre parecen ejecutar simultáneamente. Con la aparición de los CPU multi-core el paralelismo se vuelve real, al punto que una aplicación multi-hilo puede en verdad y físicamente tener a uno o más de sus hilos ejecutando concurrentemente en otro núcleo (con todas las ventajas, problemas y complicaciones que esto implica).
[4] El diseño de software concurrente, y/o en tiempo real, es toda una rama especializada por la complejidad agregada que implica mantener sincronización, evitar la corrupción de la información y los datos, etcétera. También se puede convertir en el santo grial de nuestro siglo una vez se investigue nuevas maneras de realizar las mismas tareas pero aprovechando ejecución en paralelo; éste sería el caso con el floreciente interes por el método de Ray Tracing para engines gráficos en tiempo real, se adecua muy bien a ejecución concurrente.
[5] Vale comentar cómo tanto AMD-ATI como Nvidia están planeando la manera más óptima, realista y eficiente de incluir en sus controladores, o productos, la alternativa de que los programadores puedan acceder al poder de procesamiento que poseen sus GPU para tareas afines a la manipulación intensiva de números con punto flotante (i.e. números reales), y no sólo a su uso como procesadores de imagen. Ejemplos incluyen ciertas funciones de IA y procesos de simulación. Con la reciente movida a las tarjetas gráficas con más de un GPU y/o la continua evolución de sus plataformas multi-GPU, SLI y Crossfire, la necesidad de dar un uso alternativo adicional a sus productos se hace cada vez más indispensable (aunque honestamente el tema y la prácticidad en si están abiertos a debate).
[6] SIMD = Single Instruction, Multiple Data; Instrucción Única, Datos Multiples. Este tipo de microinstrucción permite realizar una misma operación sobre una colección de datos, lo que acelera las cosas. En otras palabras reemplaza lo que tendría que ser un cíclo (repetir lo mismo n veces) y lo hace en una sóla ejecutada.
[7] El razonamiento aquí no es complicado: a medida que la arquitectura multi-core se torna más capaz en computar las necesidades de un engine gráfico (sin por ello perder calidad o descuidar sus otras tareas), la utilidad de estos "aceleradores gráficos" se va volviendo redundante al extremo de convertirse en innecesaria. Además, desde finales del 2007 se siente como una paranoia tanto en AMD-ATI como en Nvidia por lanzar producto tras producto, y hacerlo sin que importen mucho las ventajas entre uno y otro modelo. Durante los últimos seis meses han lanzado casi a 5 o 6 modelos por compañía, uno por mes, ¡por favor!. Llegar al extremo de ofrecer una versión con costo de venta al público de 105,00 $us sólo porque la competencia tiene una de 100,00 $us o 110,00 $us bordea casi lo absurdo, por no decir otra cosa.
[8] En su visión hacia la Era de Tera, al respecto Intel respalda su extensión al lenguaje de programación C++ denominada Ct que permite, en lenguaje simplificado, la gestión directa de estructuras complejas como vectores y matrices, entre otros.
[9] Una anécdota reciente es como AMD-ATI prácticamente ni se inmuto cuando su generación 2000 de tarjetas de vídeo resulto menos de lo esperado y fue totalmente reemplazada poco tiempo después por la 3000. Vaya uno a saber cuantas centenas o miles de personas tuvieron que desechar lo que tenían y adquirir algo nuevo. Su programa de intercambio apenas retorna 50,00 $us por cualquier modelo no muy antiguo, y al principio esas tarjetas rondaban desde 150,00 a casi 400,00 - 500,00 $us..
Artículos y Material de Referencia/Biografía
Intel Offers Peek at Nehalem and Larrabee, por Jason Cross, 17 de Marzo 2008, ExtremeTech(com).
Alex St. John: "Consoles as We Know Them are Gone", por Joel Durham Jr., 20 de Marzo 2008, ExtremeTech(com).
Alex St. John: "Vista Blows", por Joel Durham Jr., 21 de Marzo 2008, ExtremeTech(com).
Creative Labs Evolves Beyond Hardware, por Loyd Case, 26 de Marzo 2008, ExtremeTech(com).
The Coming Processor War, por Loyd Case, 31 de Marzo 2008, ExtremeTech(com).
The Coming Processor War: Opening Salvo, por Loyd Case, 14 de Abril 2008, ExtremeTech(com).
Larrabee won't sell on ray-tracing, por Wily Ferret, 25 de Abril 2008, TheInquirer(net).
Larrabee and raytracing, por Tom Forsyth, 18 de Abril 2008, Blog Técnico de TomF.
AMD Sees Future in Accelerated Computing, por Scott Ferguson, 06 de Febrero 2008, Eweek(com).
Accelerating Innovation, por Tom Farre, Invierno 2007, AMD Accelerate Magazine (artículo encontrado suelto en Internet).
Extending the World's Most Popular Processor Architecture, White paper, Intel, 2006.
From a Few Cores to Many: A Tera-scale Computing Research Overview, White paper, Intel, 2006.
Introducing the 45nm Next-Generation Intel Core Microarchitecture, White paper, Intel, 2007.
Intel News Fact Sheet - Intel Corporation's Multicore Architecture Briefing, Intel, March 17, 2008.
First the Tick, Now the Tock: Next Generation Intel Microarchitecture (Nehalem), White paper, Intel, 2008.
Intel QuickPath Architecture, White paper, Intel, 2008.
Artículos afines al tema expuesto encontrados en la Wikipedia(com).
Sitios Web Útiles
Sitio Web oficial de AMD-ATI, www.amd.com.
Revista digital de tecnología ExtremeTech, www.extremetech.com.
Sitio Web oficial de Intel, www.intel.com.
Revista digital de tecnología PC Perspective, www.pcper.com.
Sitio Web con terminología de la industria IT y otros, What Is?, www.whatis.com.