Los avances en cómputo paralelo y heterogéneo han hecho que las arquitecturas de cómputo vengan evolucionando desde hace varios años, con una integración de componentes cada vez mayor, con el énfasis en las capacidades de cómputo, simplificación o unificación de diseño, reducción de latencias, acceso etc. En este contexto AMD hace otro apronte más con Heterogeneous Uniform Memory Access (hUMA) en virtud de optimizar el proceso y acceso de datos a la memoria de sus arquitecturas de CPU y GPU.
Esta tecnología permitirá a AMD impulsar su iniciativa llamada Heterogeneous Systems Architecture (HSA) y construir desde los avances que ya tiene en el cálculo de propósito general mediante GPU o GPGPU a avanzar aun más en el cómputo paralelo, implementando una “coherencia” en el acceso a datos a memoria que deben ser procesados por la CPU/GPU y otros componentes de cálculo de un procesador, APU o SoC.
En términos técnicos, con hUMA, tanto la CPU como la GPU comparten un espacio comun de memoria, permitiendo a la GPU acceder directamente a las direcciones de memoria de la CPU, eliminando con esto las latencias de los sistemas tradicionales. Esto permite a la GPU leer y escribir datos que la CPU está también procesando mediante un lugar en común. Es más, tomando en cuenta que hUMA es una sistema de cache coherente, la CPU y GPU siempre verán los datos en la memoria RAM, lo que significa que si la GPU cambia algo allí (en la RAM), la CPU lo sabrá y viceversa.
La arquitectura de memoria hUMA permite también administrar más inteligentemente los recursos de proceso, enviando las tareas al mejor lugar de procesamiento (GPU o CPU) según el tipo de tarea de que se trate. Por ejemplo aplicaciones que demanden un gran poder de cómputo paralelo (virtualizacion por ejemplo) serán enviados a la GPU, mientras que tareas más livianas (cómputo serial) serán enviadas a la CPU.
A continuación una ilustración que gráfica más claramente las distintas implementaciones en el acceso a memoria como UMA, NUMA y hUMA.
AMD hace años atrás con sus primeros procesadores AMD Athlon 64 ya implementó un sistema de arquitectura UMA (Uniform Memory Access) integrando el controlador de memoria en el propio procesador lo que le dio una gran ventaja frente a los antiguos Pentium 4, que utilizaban un controlador externo administrado por el chipset, posteriormente con la llegada de las APU AMD implemento NUMA (Non-Uniform Memory Access) donde tanto la GPU como la GPU tienen acceso a direcciones de memoria por separado, sin “coherencia” entre ambos, nada nuevo de todos modos.
Ahora con hUMA el asunto cambia ya que ambos componentes tendrán acceso a un lugar común con plena coherencia en los accesos que realiza tanto la CPU como la GPU, sin la necesidad de externalizar datos para su procesamiento, es decir, con sistemas como UMA, la información debe ser copiada desde la memoria de la CPU a la memoria de la GPU, antes de que esta última pueda hacer algo con dicha información, originando latencias que en ambientes críticos de procesamiento de datos e información (como servidores y entornos virtualizados) por ejemplo, puede repercutir negativamente en el rendimiento.
AMD en una presentación nos indica 10 puntos respecto a las ventajas de esta implementación, que permitirá en resumidas cuentas un cambio mucho más rápido entre el cómputo realizado por la CPU y realizado por la GPU.
Tal como lo indica en esta presentación el tener hardware totalmente coherente, tiene varias ventajas como hacer la tarea mas fácil para los programadores, no se necesitan API especiales, se pueden mover algoritmos multi-núcleos de CPU a la GPU sin mayores complicaciones, entre otras como ser una implementación óptima para computación heterogénea en las APU y SoC de AMD.
AMD implementará esta tecnología con la segunda mitad de este 2013 con la introducción de sus APU Kaveri, las primeras que implementarán hUMA y los primeros productos que se basarán en la arquitectura Steamroller, lo que coincide con la información que dimos previamente.
La aplicación de hUMA abarca un vasto rango de mercado, entre el mercado de escritorio, móvil, servidores, industria, computación de alto rendimiento, etc, impulsado también con el apoyo de todas las empresas que forman parte de la HSA Fundation, que lógicamente también podrán acceder a esta tecnología para sus respectivos productos ya que una de las características de HSA es su carácter abierto.
[nggallery id=1077]
[AMD]