HBM-PIM, memoria RAM con procesador integrado para IA

HBM-PIM, memoria RAM con procesador integrado para IA

Josep Roca

La HBM-PIM es una variante de la llamada High Bandwidth Memory que ha sido presentada por Samsung en 2021, donde sus siglas PIM son traducidas como “Procesamiento en Memoria”, lo que significa que estamos ante una variante con un procesador integrado en su interior. ¿Qué tal se presenta este tipo de HBM con capacidad de proceso, a quién va dirigido y cuál es su utilidad?

Lo primero que tenemos que entender, al tiempo de escribir este artículo es que la HBM-PIM no es un estándar aprobado por la JEDEC, el cual es el comité de 300 empresas encargado de crear los diferentes estándares de memoria, sean estas volátiles o persistentes. Por el momento se trata de una propuesta y diseño de Samsung, el cual se podría convertir en un nuevo tipo de memoria HBM y ser fabricado por terceros o en su defecto en un producto exclusivo de la fundición surcoreana.

Samsung HBM-PIM

Se convierta en un estándar o no, la HBM-PIM se manufacturará para el Alveo AI Accelerator de Xilinx, empresa que recordemos que ha sido adquirida en su totalidad por AMD. Por lo que no se trata de un concepto sobre un papel y tampoco un producto de laboratorio, sino que este tipo de memoria HBM se puede fabricar en grandes cantidades. Eso si, la Xilinx Álveo es una tarjeta aceleradora basada en FPGA que se utiliza en centros de datos. No se trata de un producto para el mercado de masas, y hemos de tener en cuenta de que no es más que de una variante de la memoria HBM, la cual por si sola es muy cara y escasa de fabricar, lo que reduce su uso en productos comerciales como por ejemplo tarjetas gráficas gaming o procesadores.

El concepto de la computación en memoria

HBM-PIM Concepto

Los programas que ejecutamos en nuestros PC funcionan a través de un matrimonio entre la RAM y la CPU, el cual sería perfecto si pudiéramos colocar ambos en un solo chip. Por desgracia esto no es posible y lleva a una serie de cuellos de botella inherentes en la arquitectura de todo ordenador, producto de la latencia existente entre la memoria del sistema y la unidad central de proceso:

  • Al existir una mayor distancia los datos se transmiten de forma más lenta.
  • El consumo energético aumenta cuanto más espacio existe entre la unidad de procesamiento que ejecuta el programa y la de almacenamiento donde se encuentra el mismo. Esto significa que la velocidad de transferencia o ancho de banda es más baja que la de proceso.
  • La forma habitual de solucionar este problema es añadir una jerarquía de cachés en la CPU, GPU o APU; la cual copia datos de la RAM en su interior para un acceso más rápido a la información necesaria.
  • Otras arquitecturas utilizan lo se conoce como Scratchpad RAM, la cual recibe el nombre de RAM embebida, no funciona de forma automática y su contenido ha de ser controlado por el programa.

Por lo que la RAM integrada en el procesador tiene un problema y es su capacidad, donde almacena muy pocos datos en su interior por limitaciones físicas de espacio dado que la gran mayoría de transistores están dedicados al procesamiento de instrucciones y no al almacenamiento.

HBM-PIM Arquitectura General

El concepto de la computación en la memoria funciona a la inversa en comparación de la DRAM o la SRAM embebida dado que hablamos de RAM a la que le añadimos lógica donde las células de bit tienen mayor peso. No se trata por lo tanto de la integración de un procesador complejo, sino uno de dominio específico e incluso aceleradores de función fija o micro cableados por hardware.

¿Y qué ventajas tienen este tipo de memorias? Cuando ejecutamos un programa en cualquier procesador al menos por cada instrucción se hace un acceso a la RAM que tenga asignada dicha CPU o GPU. La idea de la computación en memoria no es otro que tener un programa almacenado en la memoria PIM y que la CPU o GPU solo tenga que utilizar una sola instrucción de llamada y esperar que la unidad de proceso en la computación en memoria ejecute el programa y devuelva la respuesta final a la CPU, la cual queda libre para otras tareas.

El procesador en la HBM-PIM de Samsung

HBM-PIM Arquitectura PCU

En cada uno de los chips de la pila de un chip HBM-PIM se ha integrado una pequeña CPU, por lo que la capacidad de almacenamiento de se ve afectada al dirigir transistores que irían a las células de memoria para asignarlos a las puertas lógicas que componen el procesador integrado y como hemos adelantado antes, se trata uno muy sencillo.

  • No utiliza ninguna ISA conocida, sino una propia con muy pocas instrucciones en total: 9.
  • Dispone de dos sets de 16 unidades de coma flotante con precisión de 16 bits cada uno. El primer conjunto tiene la capacidad de realizar sumas y el segundo de realizar multiplicaciones.
  • Una unidad de ejecución del tipo SIMD, por lo que estamos ante un procesador vectorial.
  • Sus capacidades aritméticas son: A+B, A*B, (A+B)*C y (A*C)+B.
  • El consumo energético por operación es un 70 % menor que si la CPU hiciese la misma tarea, aquí hemos de tener en cuenta la relación entre el consumo energético y la distancia con los datos.
  • Samsung ha bautizado este pequeño procesador bajo el nombre de PCU.
  • Cada procesador puede trabajar solo con el chip de memoria del que forma parte, o con toda la pila entera. También las unidades en la HBM-PIM pueden trabajar en conjunto para acelerar los algoritmos o programas que lo requieran.

Como se puede deducir dada su simpleza, no sirve para ejecutar programas complejos. A cambio, Samsung lo promueve bajo la idea de que lo relacionemos como una unidad que acelera los algoritmos de Machine Learning, pero tampoco puede manejar sistemas complejos al ser un procesador vectorial y no tensorial. Por lo que sus capacidades en dicho campo son muy limitadas y se centran en cosas que no requieren mucha potencia como, por ejemplo, el reconocimiento de voz, traducción de textos y audios, etcétera. No olvidemos que su capacidad de cálculo es de 1.2 TFLOPS.

¿Vamos a ver la HBM-PIM en nuestros PC?

Xilinx Alveo U280

Las aplicaciones que Samsung pone da como ejemplo de las ventajas de la HBM-PIM ya se encuentran aceleradas a mayor velocidad por otros componentes en nuestros PC, es más, el alto coste de fabricación de este tipo de memoria ya descarta su uso dentro de un ordenador doméstico. En el caso de que seáis programadores especializados en la inteligencia artificial lo más seguro es que tengáis hardware en vuestros ordenadores con una capacidad de procesamiento mucho más alta que la HBM-PIM de Samsung.

La realidad es que nos parece una mala elección por parte del departamento de marketing del gigante surcoreano hablar de la IA. Y sí, tenemos en cuenta que es la tecnología de moda en boca de todos, pero pensamos que la HBM-PIM tiene otros mercados donde puede llegar a explotar sus capacidades.

¿Cuáles son estas aplicaciones? Por ejemplo sirve para acelerar la búsqueda de información en grandes bases de datos que centenares de empresas utilizan a diario y creednos que es un mercado inmenso que mueve millones de dólares al año. En todo caso no la vemos siendo utilizada a nivel doméstico y en computación científica, aunque existe la posibilidad que la aún no terminada HBM3 herede parte de las ideas de la HBM-PIM.

1 Comentario