Ni RAM, ni caché, la usa tu CPU y no sabes que tipo de memoria es

Los avances en arquitectura de computadores no sólo traen consigo mejoras en los procesadores, sino también en las memorias utilizadas y muchas veces se acaban creando nuevos tipos de hardware. Uno de ellos es la Fabric Attached Memory, un tipo de memoria RAM que forma parte del nuevo paradigma del procesamiento en la memoria. ¿Qué es y qué características tiene este tipo de memoria?

Antes de empezar hay que aclarar que no vais a encontrar la Fabric Attached Memory en ningún PC que hay en el mercado a tiempo de escribir este artículo, incluso si estamos hablando de una estación de trabajo HEDT. ¿El motivo? Sencillo, la FAM es un tipo de memoria que tiene relación con la computación de alto rendimiento o HPC. ¿El objetivo del desarrollo de este tipo de memoria? Superar la potencia de cálculo del ExaFLOP y en este punto es muy importante la arquitectura de memoria que tengan los sistemas.

¿Qué es la Fabric Attached Memory?

Fabric Attached Memory

Entendemos como Fabric Attached Memory (FAM) o FAM a un tipo de memoria que puede ser accedida por uno o varios procesadores, los cuales pueden ser del mismo tipo o de diferente tipo. ¿En qué se diferencia de las memorias convencionales? En el hecho de que se puede acceder a ella a través de una interfaz de red y desde el momento en que las infraestructuras de interconexión están evolucionando a los llamados Network on a Chip se puede decir que esta memoria conectada a la interfaz es clave para acelerar los procesos en las CPU y las GPU del futuro.

Cuando hablamos de memoria RAM habitualmente en lo que pensamos es en una memoria externa al procesador, la cual se monta en chips aparte y se accede a través de una interfaz. Bajo esta definición podemos pensar que podemos definir como FAM los circuitos 3DIC con memoria conectada en vertical, pero la FAM como su nombre indica es memoria que se encuentra directamente conectada a lo que llamamos «Fabric». ¿Y a qué nos referimos con ese nombre? A lo que es el Northbridge, el cual es el elemento que comunica los diferentes procesadores entre sí y estos con la memoria RAM.

Pues bien, la Fabric Attached Memory, se encuentra en el Northbridge y por tanto antes de la memoria RAM, de ahí su nombre.

El concepto de la Scratchpad Memory

Cache Microscopio

Cuando hablamos de Scratchpad Memory nos referimos a un pozo de RAM alternativo, separado a lo que es la memoria convencional en lo que a su direccionamiento se refiere, por lo que esto supone que todo sistema con una Scratchpad Memory requiere dos sistemas de captación de datos. Claro está, que se nos ha olvidado decir que la Scratchpad Memory no suele encontrarse fuera del procesador, sino dentro del procesador. Lo cual tiene una serie de ventajas:

  • Los programas que se ejecutan dentro de la Scratchpad Memory se ejecutan de manera más rápida por la poca distancia respecto al procesador y con un consumo energético más bajo.
  • Debido a la cercanía con el procesador no se utiliza un sistema de cachés para acceder a dicha memoria.

Este tipo de memoria ha sido utilizada desde hace ya décadas y a día de hoy la podemos encontrar en las unidades shader de las GPU, por lo que no son una novedad. ¿Qué relación tiene con la Fabric Attached Memory? Pues el hecho que la FAM es un tipo de Scratchpad Memory, pero donde el uso de una interfaz de red para comunicarse la hace totalmente distinta en su acceso.

La Fabric Attached Memory se encuentra un nivel anterior a la jerarquía respecto a la RAM, pero su acceso se realiza como se realiza en un NoC donde los diferentes elementos funcionan como una red interconectada entre sí con el NoC en la parte central y cada elemento teniendo su enrutador. Es decir, para acceder a la FAM solo es necesario llamar a su dirección de red y esto es algo que pueden realizar todos los elementos del sistema.

La memoria es el mayor cuello de botella

Evolución cuello botella memoria

En el sistema ideal la memoria tendría el suficiente tiempo de respuesta para que el procesamiento de las instrucciones se hiciera a la mayor velocidad posible. Desgraciadamente la evolución de la memoria no ha ido al compás de la evolución de los procesadores y se ha convertido en un lastre que ha hecho que se hayan tenido que buscar soluciones a estos problemas.

Hay dos motivos por el cual la memoria no puede alcanzar la velocidad, pero el principal es que no podemos colocar grandes cantidades de memoria dentro de un procesador y por eso la tenemos que poner fuera del mismo en otro chip. El segundo se responde con la siguiente pregunta: ¿qué ocurre con las señales eléctricas cuando se aumenta la distancia del cableado? Su consumo energético crece. Y es ahí donde la Fabric Attached Memory coge toda su ventaja, ya que al ser una memoria cercana a las unidades de proceso puede alcanzar altos anchos de banda sin requerir un alto consumo.

Fabric Attached Memory Multiprocesador

Pero la Fabric Attached Memory no solamente es clave para comunicar elementos dentro de un mismo procesador, sino diferentes procesadores entre sí, por ejemplo si tenemos varios SoC que necesitan comunicarse habitualmente suelen escribir los datos en la RAM compartida por todos ellos para que luego es recuperada desde la misma RAM por el resto de procesadores para continuar con el trabajo. Con la Fabric Attached Memory no hace falta que los procesadores accedan a la RAM dado que los datos pueden ser escritos en la Fabric Attached Memory que se encuentra situada a un nivel de la jerarquía entre la caché de último nivel de los diferentes procesadores y la interfaz a la RAM de cada uno de ellos.

La FAM como futuro en el PC

CPU Chiplets CPU GPU AMD Intel

Al principio del artículo hemos hecho la afirmación que titula a esta sección, pero toda afirmación no deja de ser una respuesta a una pregunta que responde a un motivo. Y este no es otro que en los PC convencionales la cantidad de FAM necesaria para ser utilizada en el procesador sería limitada. Por lo que la mejor solución se traduce en un sistema basado en chiplets donde lo que es el Northbridge está desconectado del resto del sistema, como ocurre en las CPU Ryzen 3000 y Ryzen 5000 de AMD.

La FAM por su naturaleza dentro de la jerarquía de memoria ha de tener más capacidad que la caché más rápida pero menos que la memoria RAM. Con el Northbridge en un chip aparte se hace posible integrar la Fabric Attached Memory en el mismo, pero en un chip 2D es difícil hacerlo. En cambio en un chip 3D compuesto por varios niveles, con el Northbridge del sistema en un nivel y en los otros la memoria FAM. Gracias a ello buena parte de los procesos e incluso hilos de ejecución que ejecutan los procesadores en paralelo y de manera coordinada se ven acelerados y se evita así el enorme cuello de botella asociado con la RAM tradicional.

Hay una gran cantidad de aplicaciones que se han visto lastradas en rendimiento, no por falta de velocidad en el procesamiento, sino por falta en la velocidad de la memoria. El colocar un pozo de memoria más cerca del procesador palia buena parte de esos problemas y con el salto a los procesadores basados en chiplets donde un solo procesador se separa en varias piezas y el uso de nuevos sistemas de empaquetado va a permitir su implementación en el PC.

2 Comentarios