La memoria HBM es bien conocida en la actualidad, ya que es un tipo de memoria RAM que aporta un mayor ancho de banda, con las ventajas que esto supone. Ahora también se está pensando en proyectos HBM-PIM, donde la lógica y la memoria se mezclan en un mismo dispositivo para beneficiarse aún más de las ventajas que estas memorias aportan. ¿Quieres saber qué es y qué relación guarda con In-memory/Near memory computing? Vamos allá…
¿Qué es HBM?
La memoria HBM (High Bandwidth Memory) es un tipo de memoria de alto rendimiento utilizada en algunas tarjetas gráficas (sustituyendo a la GDDR) y, en ocasiones, en sistemas HPC. Se diferencia de la memoria RAM tradicional (como la DDR4 o DDR5) en varios aspectos clave y ofrece ventajas significativas en términos de rendimiento y eficiencia energética.
Aunque también tiene sus desventajas, como un proceso de fabricación más complejo al estar apiladas, o limitaciones en cuanto a su capacidad, tienen también algunas ventajas como:
- Alto ancho de banda: la memoria HBM proporciona un ancho de banda extremadamente alto en comparación con la memoria RAM tradicional. Esto se logra mediante el apilado vertical de múltiples chips de memoria en una sola estructura, lo que permite que los datos se transfieran rápidamente entre estas capas. El resultado es una memoria que puede manejar grandes volúmenes de datos a velocidades excepcionalmente altas.
- Menor consumo de energía: a pesar de su alto rendimiento, la memoria HBM tiende a ser más eficiente energéticamente en comparación con las memorias DDR tradicionales. Esto se debe en parte a la naturaleza apilada de la memoria, que reduce la distancia que los datos deben recorrer para ser procesados, lo que ahorra energía.
- Menor huella física: la estructura apilada de la memoria HBM permite que se coloque más memoria en un espacio físico más pequeño en comparación con las memorias RAM convencionales. Esto es especialmente valioso en aplicaciones donde el espacio es limitado, como en tarjetas gráficas de bajo perfil o en servidores con densidad de almacenamiento elevada.
- Menor latencia: la memoria HBM tiende a tener una latencia más baja en comparación con la memoria RAM tradicional. Esto significa que los datos se pueden acceder y procesar más rápidamente, lo que es especialmente beneficioso en aplicaciones que requieren un rendimiento instantáneo, como juegos y tareas de cómputo intensivas.
Más información sobre la HBM aquí
¿Qué es PIM / PNM?
PIM son las siglas de processing-in-memory, es decir, un nuevo concepto en el que están trabajando varias compañías para llevar la lógica a la propia memoria, permitiendo realizar ciertos procesos de cómputo en los chips de memoria, mejorando la eficiencia energética al reducir las transferencias y también aumentando el rendimiento.
Por otro lado, tenemos PNM, que es muy similar al anterior concepto, pero en este caso se trata de un sistema Processing-Near-Memory.
Ahora bien, ¿qué pasa si unimos la HBM y PIM? Pues que tenemos un In-memory computing con ventajas, como explicaré en el siguiente apartado…
¿Qué es HBM-PIM? La nueva esperanza para acelerar la IA
Samsung Electronics anunció el desarrollo de una innovadora memoria de alto ancho de banda, denominada HBM-PIM (High Bandwidth Memory with Processing-in-Memory), que incorpora capacidades de procesamiento de inteligencia artificial (IA) dentro del propio chip de memoria. Esta nueva arquitectura, dota de potencia de cómputo de IA directamente en la memoria de alto rendimiento, lo que permite acelerar las cargas en centros de datos, sistemas de alto rendimiento (HPC) y aplicaciones móviles impulsadas por IA.
En los sistemas convencionales basados en la arquitectura von Neumann, se emplean unidades de procesador y memoria separadas para llevar a cabo tareas de procesamiento de datos, como ya sabes. Este enfoque secuencial implica movimientos constantes de datos, lo que puede ocasionar cuellos de botella y ralentizar el sistema, especialmente al tratar con grandes volúmenes de datos. Y no solo eso, también implica mayores consumos de energía al tener que llevar los datos de un lugar a otro.
La HBM-PIM introduce una capacidad de procesamiento directamente en la memoria, gracias a un motor de IA optimizado para DRAM en cada banco de memoria. Esto permite un procesamiento paralelo y minimiza la necesidad de transferir datos continuamente. Utilizando la solución HBM Aquabolt de Samsung, esta arquitectura puede duplicar el rendimiento del sistema y reducir el consumo de energía en más del 70% en su generación HBM2, pero puede seguir escalando en futuras implementaciones.
Además, una ventaja significativa es que la memoria HBM-PIM se puede integrar en sistemas existentes sin necesidad de realizar cambios de hardware o software, lo que agiliza su adopción. Por tanto, la tecnología de Samsung aborda las crecientes demandas de memoria que plantean las aplicaciones de IA a gran escala, al reducir la necesidad de mover datos constantemente y al mejorar la eficiencia energética y de datos en sistemas aceleradores de IA.
Este nuevo avance tecnológico ha sido probado en tarjetas AMD Instinct, en 2023, como una prometedora solución para optimizar sistemas futuros, al lograr un impresionante ahorro de hasta el 85% en el movimiento de datos en el procesamiento de memoria. Esto multiplicado por la cantidad de memoria y movimientos de datos que se producen en un supercomputador, es un avance más que significativo…
Samsung ha decidido construir un supercomputador con 96 tarjetas AMD Instinct MI100 a las que se les ha reemplazado su HBM2E por HBM-PIM del mismo ancho de banda y con ello han conseguido duplicar el rendimiento y triplicar la eficiencia en lo que al ancho de banda se refiere. Para ello han usado el llamado Mixture of Experts, un algoritmo que consiste en dividir un problema de forma simétrica entre los diferentes procesadores en los módulos HBM.
Otras tecnologías
Además de la HBM-PIM, también se puede agregar esta lógica a otras tecnologías de memorias diferentes:
¿Qué es CXL-PIM? Para acelerar ChatGPT e IA
El Compute Express Link (CXL) ofrece la ventaja de consolidar todo el espacio de memoria entre la RAM y los dispositivos PCI Express sin requerir la intervención de la CPU. Esto ha posibilitado la introducción de expansiones de memoria RAM a través de tarjetas PCI Express. Sin embargo, se enfrenta a un desafío importante: una mayor latencia en comparación con la memoria DDR convencional que se instala en zócalos DIMM.
Para abordar este desafío, Samsung ha desarrollado lo que se conoce como CXL-PNM (Compute Express Link with Processing Near Memory), un concepto similar al procesamiento en memoria (PIM). La diferencia clave radica en que el procesador no se encuentra dentro de la misma RAM, pero sí mucho más cerca de la ubicación convencional.
En concreto, la propuesta implica la incorporación del conjunto sistólico encargado de ejecutar algoritmos de inteligencia artificial (IA) dentro del chip controlador del módulo de memoria CXL. Este chip funciona de manera similar al controlador flash de un SSD. Es importante recordar que el controlador de memoria en las CPU está diseñado para interactuar con los módulos DIMM tradicionales, lo que hace necesario un controlador de memoria dentro de la tarjeta de expansión de memoria a través de Compute Express Link.
El resultado de este desarrollo es una tarjeta CXL-PNM con una capacidad de 512 GB y un ancho de banda total de 1.1 TB/s. Esto representa un avance significativo en la capacidad de procesamiento y almacenamiento, lo que permite abordar los desafíos de latencia y mejora la eficiencia en la ejecución de algoritmos de IA en sistemas de alto rendimiento.
¿Qué es LPDDR-PIM? Para acelerar los dispositivos móviles y PCs
La LPDDR-PIM es una variante de la LPDDR5 actual que incorpora la capacidad de procesamiento en memoria. La premisa principal es integrar una unidad de procesamiento en cada banco de memoria, o en cada dos bancos, de manera específica. Estas unidades están compuestas por una unidad SIMD de 256 bits y sus registros asociados, que cuentan con un tamaño de 640 bytes por unidad PIM. Además, estas unidades tienen la capacidad de ejecutar diversas operaciones matemáticas con diferentes niveles de precisión, incluyendo FP32, FP16 e INT8. Es importante mencionar que la configuración de los bancos de memoria en LPDDR5 es variable y puede alcanzar hasta 16 bancos por chip de memoria.
En conjunto, esto proporciona una capacidad de procesamiento de 102.4 GFLOPS en FP16 por chip LPDDR-PIM. Aunque esta cifra está considerablemente por debajo de lo que las Unidades de Procesamiento Neural (NPU) y las Unidades de Procesamiento Gráfico (GPU) de los diferentes sistemas en chip (SoC) pueden ofrecer, tiene la ventaja de poder operar con una mayor cantidad de memoria directamente en el chip. Esto la hace ideal para aplicaciones que no requieren una gran potencia de cálculo, pero sí necesitan una considerable cantidad de memoria. No obstante, es importante destacar que, por ahora, esto es más un concepto y aún está por verse si algún fabricante de teléfonos móviles adoptará esta tecnología o si seguirá siendo un experimento de laboratorio, como ocurrió en el pasado con la HBM-PIM.
La idea subyacente detrás de la LPDDR-PIM es permitir que ciertos algoritmos, o al menos partes de ellos, se ejecuten directamente desde una lógica en memoria, dentro de la LPDDR-PIM. El objetivo principal sigue siendo reducir al máximo la cantidad de transferencias de datos desde la memoria RAM hacia el procesador central, lo que a su vez disminuiría el consumo de energía. Esto también evita que el SoC del teléfono móvil quede inactivo mientras espera la llegada de datos, lo que contribuye a una mayor eficiencia en el uso de recursos.