¿Por qué actualmente cuesta más mover datos que procesarlos en CPU/GPU?

Una de las cosas que se dice entre bambalinas dentro de la industria es que podríamos ver un estancamiento del rendimiento del hardware en los próximos años. ¿La causa del fenómeno? El movimiento de datos se ha convertido en un cuello de botella, producto de que el coste energético de hacerlo no ha escalado como es debido. Veamos cuáles son las consecuencias

En los últimos años ha habido un cambio de paradigma en el diseño, el coste de procesar un dato se ha vuelto realmente irrisorio por la creciente subida en potencia de CPUs y GPUs, pero esta mejora continua tiene una contrapartida y es el coste del transporte de los datos o movimiento de la información, la cual se ha ido encareciendo. A día de hoy es mucho más caro mover un dato para procesar una instrucción con este que la ejecución de la propia instrucción.

Cuando en el año 2005 Intel dio el salto de los procesadores con un solo núcleo a los multinúcleo, el motivo que esgrimieron para ello fue el rendimiento por vatio. El consumo energético pasó a ser crucial en el diseño de nuevos procesadores, lo que permitió el advenimiento de la era de los ordenadores portátiles, los cuales a partir de ese momento dejaron de estar una generación por debajo en cuanto a arquitectura. Pero, por aquel entonces el problema del coste energético del movimiento de los datos no existía, pero se empezó a hacer patente a medida que ha ido pasando el tiempo, para convertirse en la mayor pesadilla de los diseñadores.

El problema del movimiento de datos está en el cableado

Velocidad Datos

Si miráis la jerarquía de memoria de un procesador os daréis cuenta qué el ancho de banda de los diferentes niveles de caché es distinto, siendo mucho más alto en los primeros niveles y más bajo en los niveles sucesivos de la jerarquía hasta llegar a la memoria RAM. ¿Por qué no tenemos procesadores con un ancho de banda igual a la caché L1 en la memoria? Por dos motivos, el primero de ellos es por la interfaz, pero el segundo tiene que ver con el hecho con que a medida que aumenta la distancia en el cableado que comunica el procesador con las diferentes memorias más aumenta la energía consumida.

Por eso el procesador ideal sería uno que tuviese la memoria RAM pegada al procesador, algo que a nivel de integración y fabricación es imposible de realizar a día de hoy. Ya que los procesos de fabricación son demasiado caros y lentos para producir en masa. Son caros por el hecho que añaden nuevos pasos en la fabricación que aumentan el margen de error y hacen que salgan menos unidades. Por lo que los sistemas en desarrollo que buscan solventar este problema de manera «exótica» se están centrando en el mercado de la computación de alto rendimiento, donde el dinero que mueven los grandes contratos gubernamentales y con las grandes empresas pagan el despliegue de esta tecnología.

En cuanto al mercado doméstico, el mayor problema está en el desarrollo de nuevos tipos de memoria que tengan un consumo por datos transmitidos, medida en pJ/bit, cada vez más bajo. Y no solo de memoria, sino también para la intercomunicación de diferentes procesadores entre sí. Para ello se están buscando tipo de soluciones, desde interfaces ópticas que no gastan más con la distancia, hasta el uso de interfaces 3DIC, ya sea a través de vías o puentes de silicio. Todas ellas son soluciones no aptas para el mercado doméstico, lo que supone un posible estancamiento en el rendimiento para los años siguientes.

¿Qué partes del hardware se ven más afectadas?

Road Map GPUs 2021

Las GPU son lo que llamamos procesadores de caudal o stream processors, el motivo es que su rendimiento de todo chip gráfico contemporáneo depende del caudal de datos que recibe para procesar. Si nos encontramos que el cuello de botella actualmente está en el movimiento de datos y la energía que consumen, entonces nos encontramos que a medida que aumentamos la capacidad de cálculo de una GPU entonces como es obvio vamos a necesitar un volumen de datos cada vez mayor. El problema es que una tarjeta gráfica está limitada en cuanto al consumo energético compartido entre su VRAM y la GPU misma, el cual es otorgada por la fuente de alimentación del puerto PCI Express.

Para ello lo que está buscando es el añadido de nuevas ideas para paliar el problema para las GPU, una de ellas es el añadido de una caché de último nivel de gran capacidad. Con la capacidad de adoptar las líneas de datos descartadas por la caché L2 y evitar que la GPU tenga que acceder a la VRAM. La primera en hacerlo ha sido AMD con su Infinity Cache.

Memoria-RAM-LPDDR5

El otro problema lo tenemos en los dispositivos de muy bajo consumo, la LPDDR5 que es el último estándar empieza a promocionarse como memoria más allá de estos dispositivos. Pese a que han conseguido recortar el consumo en un 20% respecto a la LPDDR4X y situarse en una media de 4 pJ/bit, los mayores anchos de banda no suponen un ahorro energético en cuanto a la memoria. Lo que supone un desafío para el desarrollo de futuros SoC para móviles. Lo que ha llevado a ARM a evolucionar su ISA a mercados más allá de los dispositivos PostPC y es el motivo por el cual empezamos a ver núcleos ARM en diseños que van más allá de lo que habían estado hasta hace relativamente poco.

3 Comentarios