AMD usa IA para sustituir la mitad de la DRAM por flash y dice mantener el 99 %

AMD usa IA para sustituir la mitad de la DRAM por flash y dice mantener el 99 %

AMD ha empezado a promocionar un software llamado Mext: en servidores Epyc, usa flash NVMe para sustituir una parte de la DRAM y se apoya en un modelo de IA que predice qué páginas de memoria se van a necesitar enseguida y las devuelve a la RAM antes de que el sistema operativo y las aplicaciones lo noten. Según AMD, con la mitad de la DRAM sustituida por flash, algunas cargas siguen conservando hasta el 99 % del rendimiento, y el coste de los servidores empresariales puede bajar hasta un 83 %.

Mext era originalmente una empresa independiente; AMD adquirió la tecnología en junio de este año. Gary Smerdon, antiguo CEO de Mext y hoy vicepresidente de desarrollo de negocio de AMD, explicó a The Register que el software ya está desplegado en los primeros 145 sistemas. Según su estimación, los clientes ya han ahorrado unos 5 millones de dólares en compras de DRAM.

Por qué nadie se atreve a activar el swap de siempre

Buena parte de la memoria «ocupada» de un servidor en realidad no se está usando. Smerdon cita un estudio de Meta según el cual entre el 50 % y el 80 % de las páginas de memoria pasan cinco minutos, diez minutos o más sin ser accedidas. Sus palabras: «Cinco minutos son una eternidad para un Epyc».

Mover las páginas frías a un medio más barato responde a la misma idea que el swap de los sistemas operativos o el archivo de paginación de Windows. El problema es la velocidad: según las cifras de Smerdon, el flash cuesta unas 50 veces menos por bit que la DRAM y consume unas 30 veces menos energía, pero es unas 500 veces más lento. El swap tradicional solo va a buscar una página al disco cuando el programa la pide, la latencia se dispara y los acuerdos de nivel de servicio (SLA) dejan de cumplirse, de modo que los equipos de operaciones suelen desactivarlo siempre que pueden.

El enfoque de Mext consiste en devolver las páginas antes de que haga falta. «Hacemos que el flash parezca DRAM de forma transparente», resume Smerdon. En su ejemplo, un servidor Epyc que llevaría 2 TB de memoria puede comprar solo 1 TB, y el otro 1 TB lo completa Mext con flash.

El modelo de predicción se entrena sobre la marcha en la CPU

El modelo principal encargado de la predicción es una variante de la arquitectura Transformer. La analogía de Smerdon: un gran modelo de lenguaje predice la siguiente palabra y este predice la siguiente página de memoria que se usará. Mientras la página esté de vuelta en la DRAM antes de ser accedida, que el orden salga algo desordenado no importa.

Los patrones de acceso a memoria cambian según la carga, por lo que preentrenar un modelo genérico no es realista. Mext usa un núcleo Epyc para entrenar una primera versión en menos de un segundo y sigue reentrenándola mientras se ejecuta, hasta que las predicciones son lo bastante precisas. Todo el proceso emplea solo CPU, sin GPU, por lo que en teoría cualquier cliente de Epyc puede usarlo.

El coste también está aquí. The Register señala que, en entornos virtualizados, el software ocupa un núcleo por máquina virtual: cuantas más VM, más núcleos se pierden. Si en escenarios con contenedores ocurre lo mismo, AMD aún no ha respondido a la consulta del medio.

Las cifras de rendimiento hay que leerlas por carga de trabajo

Smerdon afirma que, una vez retiradas las páginas frías, «no hay ningún impacto en el rendimiento»; las mediciones que ofrece la propia AMD son más cautas:

  • Synopsys PrimeTime (herramienta EDA para diseño de chips): con la mitad de la memoria sustituida por flash, el rendimiento es el 95 % del de una configuración solo con DRAM; con solo un 25 % de DRAM y un 75 % de flash, baja al 80 %.
  • Apache Spark: con la mitad de la DRAM sustituida por flash, el rendimiento se mantiene en el 99 %.

El software EDA consume muchísima memoria, pero los datos que los núcleos de cálculo procesan realmente en un momento dado suelen ser apenas unos MB, y por eso Mext empezó por ahí. Más tarde el soporte se amplió a bases de datos y a canalizaciones de inferencia de agentes, escenarios sensibles a la latencia; las cifras de estos últimos no se han publicado esta vez y tampoco hay todavía pruebas de terceros.

Un cálculo aproximado del coste de la máquina completa

Smerdon sostiene que, en el coste de los servidores con mucha memoria, esta representa de forma conservadora entre seis y siete décimas partes, y en las máquinas de memoria enorme llega a ocho o nueve. Con un cálculo aproximado sobre su ejemplo de 2 TB: suponiendo que la memoria suponga el 70 % del coste de la máquina, que se elimine la mitad de la DRAM y se sustituya por flash a un precio unitario de aproximadamente una cincuentava parte, sin contar la licencia de Mext, el coste total baja algo más de un treinta por ciento. El techo del 83 % debería corresponder a configuraciones con mayor peso de la memoria y mayor proporción sustituida; AMD no ha publicado el cálculo concreto.

La licencia sigue siendo una incógnita. Mext solo funciona en hardware de AMD y se venderá como licencia junto con los servidores Epyc a través de OEM como HPE; el precio no se ha anunciado. En Linux basta con instalar un controlador de kernel; AMD ofrece además una herramienta llamada RAM View que ayuda a las empresas a decidir qué máquinas y cargas son adecuadas para activar Mext.

La expansión de los centros de datos de IA mantiene la memoria escasa, y AMD apuesta a que los clientes aceptarán perder unos puntos porcentuales de rendimiento a cambio de un gran recorte del presupuesto de memoria. Según su plan, ahora se está en la primera fase, trabajando con los OEM para dejar las máquinas «Mext ready»; solo en la segunda fase se venderán las licencias y se preinstalará RAM View en las máquinas Epyc de fábrica.

Fuentes: entrevista de The Register con Gary Smerdon, CocoLoop, estudio de Meta sobre accesos a memoria; las proporciones de rendimiento, los 145 despliegues y la reducción de costes del 83 % son cifras de AMD.