Solución de memoria CXL: ¿qué es?

¿Alguna vez te has sentido frustrado porque se te ha quedado sin memoria el ordenador y no has podido ampliarla tan fácilmente como conectar un memoria USB? La tecnología CXL surgió para resolver este problema. Funciona como un “sistema de expansión externa” para la memoria, lo que permite a los servidores o estaciones de trabajo añadir de forma flexible grandes cantidades de memoria externa mediante cables específicos y tarjetas de expansión, e incluso permite que varias máquinas compartan un fondo común de memoria. Con la tecnología CXL, 1 TB de memoria del sistema —algo que antes solo era posible en costosos mainframes— se está volviendo cada vez más habitual en la informática de alto rendimiento y la inteligencia artificial.

¿Qué es la imagen de cabecera del artículo CXL? Solución de memoria CXL: ¿Qué es?

¿Por qué surgió CXL?

Podemos imaginar la memoria tradicional de un servidor como un gran edificio de apartamentos con trasteros individuales: cada habitación (cada servidor) tiene su propio espacio de almacenamiento, pero el tamaño de ese espacio es fijo desde el momento en que te mudas, y aunque el trastero de tu vecino esté vacío, no puedes utilizarlo. Con el crecimiento de la inteligencia artificial, la computación en la nube y el big data, este modelo ha comenzado a mostrar tres problemas graves.

Cuando se agoten las ranuras físicas, no se podrá añadir más memoria. El número de ranuras de memoria en cada placa base de servidor es limitado, normalmente ocho, doce o dieciséis. Aunque se llenen todas las ranuras con los módulos de memoria de mayor capacidad disponibles en el mercado, la capacidad total sigue teniendo un límite máximo. Cuando su aplicación necesita más memoria que ese límite, la única solución es comprar un servidor más caro y de gama alta, en lugar de limitarse a añadir más memoria a la máquina existente.

Los recursos de memoria no se pueden compartir, lo que genera un enorme desperdicio. En los grandes centros de datos, los distintos servidores suelen alcanzar su máxima carga en momentos diferentes. Sin embargo, en una arquitectura tradicional, los servidores que necesitan esos recursos de memoria inactivos no pueden “aprovecharlos”. Las estadísticas del sector muestran que la utilización de la memoria en los centros de datos suele estar por debajo del cincuenta por ciento, lo que significa que casi la mitad de la inversión en hardware permanece inactiva.

Para hacer frente a un aumento repentino de la demanda, las empresas se ven obligadas a invertir en exceso. Cuando un proyecto necesita ocasionalmente el doble de su capacidad de memoria habitual, la solución tradicional consiste en adquirir hardware que satisfaga esa demanda máxima. Ese dinero se destina a una capacidad que permanece sin utilizar la mayor parte del tiempo. Además, una vez instalados esos módulos de hardware, no es posible reasignarlos con flexibilidad entre diferentes proyectos ni ampliarlos fácilmente a medida que crece el negocio.

El objetivo era resolver los tres problemas a la vez – capacidad física limitada, incapacidad para compartir recursos y baja eficiencia de la inversión – que los ingenieros diseñaron la tecnología CXL. Esta tecnología cambia radicalmente la forma en que la memoria se conecta a las unidades de procesamiento, convirtiendo la memoria en un recurso que se puede conectar según las necesidades y asignar de forma dinámica.

¿Qué es CXL y cómo funciona?

CXL es un protocolo de comunicación abierto basado en la interfaz física estándar PCIe. Su nombre completo es Compute Express Link, y se puede considerar como un conjunto de “reglas de lenguaje” que permiten una comunicación de alta velocidad, coherente y de baja latencia entre la CPU y los dispositivos de memoria externos. Lo que hace que CXL sea único es que permite a la CPU tratar la memoria externa como si formara parte de su propio cuerpo, en lugar de como un periférico al que hay que acceder mediante un desvío.

Coherencia de la caché

Imagina la siguiente situación: tú y un compañero estáis editando el mismo documento en línea. Si cada uno guarda una copia local y luego realiza cambios, se producirán conflictos al fusionarlas: ¿qué cambios prevalecerán? La memoria del ordenador se enfrenta al mismo problema. Dentro de la CPU hay una zona de almacenamiento muy rápida y pequeña llamada “caché” que contiene copias de los datos utilizados recientemente en la memoria principal. Cuando la CPU accede a la memoria, lee primero desde la caché, lo cual es mucho más rápido. Pero si tanto la memoria DDR local como la memoria CXL externa contienen copias de los mismos datos, y se modifica una copia, la otra debe actualizarse en consecuencia. De lo contrario, la CPU podría leer datos incorrectos. Este problema se denomina “coherencia de caché”. CXL incluye un subprotocolo específico para gestionar esto, “comunicándose” constantemente entre la CPU y la memoria externa para garantizar que todas las copias se mantengan coherentes.

Agrupación de memoria y asignación flexible

Según el enfoque tradicional, cada servidor solo puede utilizar la memoria de sus propias ranuras. CXL presenta el concepto de “puesta en común”: se pueden conectar varios dispositivos de memoria CXL a un conmutador CXL, formando un único grupo de memoria de gran capacidad, y permitir que varios servidores “extraigan” memoria de este grupo según sea necesario. Es como si en un edificio de oficinas se sustituyeran los dispensadores de agua individuales de cada despacho por una estación de agua central en el pasillo, de la que todo el mundo se sirve agua cuando lo necesita. La capacidad total de la estación de agua puede ser menor que la suma de diez dispensadores individuales, pero aún así satisface las necesidades de todos porque sus horas de mayor uso no coinciden. De manera similar, un conjunto de memoria CXL permite a los gestores de centros de datos asignar memoria de forma dinámica en función de la carga en tiempo real de cada servidor —asignando más cuando está ocupado y recuperándola cuando está inactivo—, lo que permite realizar más tareas informáticas con menos hardware en total.

Banco de memoria CXL y conmutadores Solución de memoria CXL: ¿En qué consiste?

¿En qué consiste la tecnología CXL?

CXL es una solución de memoria completa que abarca desde el hardware físico hasta la configuración del software. Puede pensar en este sistema como una autopista: la carretera en sí (la conexión física) es solo la base; también se necesitan normas de tráfico (el protocolo de comunicación) para que los vehículos circulen de forma ordenada, y se necesita un sistema de gestión del tráfico (la configuración de software) para indicar a los vehículos adónde ir y qué carril utilizar. Si falta cualquiera de estas capas, la autopista no puede funcionar realmente.

Capa de hardware: los componentes visibles

La parte física de la tecnología CXL incluye varios tipos de dispositivos que, en conjunto, conforman la infraestructura para la ampliación de memoria. El hardware más habitual es la tarjeta de ampliación de memoria CXL, que tiene un aspecto similar al de una tarjeta gráfica y puede conectarse directamente a una ranura PCIe existente en la placa base de un servidor. Esta tarjeta cuenta con chips de memoria soldados o ranuras para módulos de memoria. Una vez insertada, el sistema reconoce la capacidad de memoria adicional. Otro formato de hardware es el módulo de memoria CXL, que es más pequeño —como una unidad de estado sólido compacta— y puede instalarse en bahías de unidad dedicadas del servidor, lo que lo hace adecuado para implementaciones de alta densidad.

Tipos de hardware CXL Solución de memoria CXL: ¿qué es?

Cuando es necesario conectar varios servidores o dispositivos de memoria, entra en juego un conmutador CXL. Se asemeja a un conmutador de red, pero en lugar de conmutar paquetes de red, conmuta las solicitudes de acceso a la memoria. A través de un conmutador CXL, los administradores pueden conectar varias tarjetas de memoria CXL entre sí para formar un grupo de memoria unificado de gran capacidad y, a continuación, permitir que varios servidores compartan los recursos de ese grupo simultáneamente. Para distancias más largas, los cables CXL específicos pueden mantener una transmisión de alta velocidad a lo largo de varios metros o incluso decenas de metros, lo que permite colocar los dispositivos de memoria en racks distintos de los servidores.

Capa de protocolo: las reglas lingüísticas de la comunicación

Solución de memoria CXL basada en el protocolo CXL: ¿en qué consiste?

Si el hardware es el esqueleto, el protocolo es el alma que hace que todo funcione. El protocolo CXL incluye tres subprotocolos paralelos, cada uno de los cuales se encarga de una tarea diferente. Pueden funcionar simultáneamente sin interferir entre sí.

  • El primer subprotocolo se denomina CXL.io, y su función es la detección e inicialización de dispositivos. Cuando se inserta una tarjeta de memoria CXL en un servidor, CXL.io se encarga de que la CPU reconozca el dispositivo, lea su información básica (como la capacidad y los modos compatibles) y le asigne un espacio de direcciones. Este proceso es muy similar al de conectar una tarjeta gráfica o una tarjeta de red.
  • El segundo subprotocolo se denomina CXL.cache, que es una de las características fundamentales de CXL. CXL.cache mantiene la coherencia de los datos entre la caché de la CPU y la memoria externa. Como se ha descrito anteriormente, cuando la CPU modifica un dato, CXL.cache garantiza que la copia correspondiente en la memoria externa también se actualice, y viceversa.
  • El tercer subprotocolo se denomina CXL.mem, que se encarga de las operaciones reales de lectura y escritura de datos. Cuando la CPU necesita leer un dato de la memoria CXL, CXL.mem transmite la solicitud y devuelve los datos; cuando la CPU necesita escribir datos en la memoria CXL, CXL.mem lleva a cabo la transferencia de forma similar.

Capa de software: configuración y gestión para que todo funcione

La configuración del software permite que el sistema operativo y las aplicaciones puedan utilizar efectivamente esta nueva memoria. En la BIOS, el administrador debe habilitar la funcionalidad CXL y asignar recursos. A nivel del sistema operativo, tomando Linux como ejemplo, la memoria CXL se reconoce como un nodo NUMA independiente, y el administrador puede utilizar comandos para especificar si un programa debe dar prioridad a la memoria local o a la memoria CXL. Los sistemas operativos modernos también admiten la jerarquización de la memoria, que mantiene automáticamente los datos más activos en la DDR local rápida y migra los datos menos activos a la memoria CXL. La gran mayoría de las aplicaciones no necesitan ninguna modificación del código para utilizar la memoria CXL, ya que el sistema operativo la gestiona igual que la memoria normal.

oscoo 2b banner 1400x475 1 Solución de memoria CXL: ¿Qué es?

CXL frente a las soluciones de memoria tradicionales

AspectoSolución DDR tradicionalSolución CXL
Límite máximo de capacidadLimitado por las ranuras de memoria de la placa base y la capacidad máxima de los módulos; no se puede ampliar más una vez alcanzado el límiteSe puede seguir añadiendo memoria mediante tarjetas de expansión CXL o conmutadores sin necesidad de sustituir la placa base
Flexibilidad de los recursosLa memoria de cada servidor es fija; no se puede reasignar entre servidoresAdmite la agrupación de memoria; varios servidores pueden compartir un grupo de memoria común según sea necesario
RentabilidadAdquisición de grandes cantidades de memoria para satisfacer los picos de demanda; la utilización diaria suele situarse por debajo del 50%Admite la misma carga de trabajo con menos memoria total; la utilización puede superar los 801 TP6T
Operación de expansiónRequiere apagar el sistema e insertar o extraer físicamente los módulos de memoria; puede implicar la sustitución de componentes de hardwareAdmite la conexión en caliente y la asignación dinámica; permite añadir o eliminar recursos de memoria sin interrumpir el servicio
Situaciones adecuadasImplementaciones a pequeña escala con requisitos de rendimiento extremos y cargas de trabajo establesCentros de datos a gran escala, entrenamiento de IA, computación en la nube y otros escenarios que requieren recursos elásticos

Como muestra la tabla, la solución DDR tradicional sigue ofreciendo ventajas en cuanto a rendimiento extremo y facilidad de implementación, pero a costa de un elevado coste y una gestión rígida de los recursos. Por el contrario, la solución CXL sacrifica una pequeña parte de la velocidad de acceso a cambio de enormes ventajas: capacidad ampliable, recursos compartibles y una mayor rentabilidad. En el funcionamiento real de los centros de datos, esta compensación suele merecer mucho la pena, ya que el desperdicio de memoria inactiva es mucho más perjudicial que una pequeña diferencia de velocidad.

Casos de uso de CXL

CXL no pretende sustituir a la memoria tradicional, sino resolver situaciones específicas en las que esta última tiene dificultades. Las tres áreas que se indican a continuación son aquellas en las que CXL cuenta con las implementaciones más consolidadas y ofrece un valor añadido más evidente.

Inteligencia artificial y entrenamiento de modelos a gran escala

El entrenamiento de un modelo de lenguaje de gran tamaño con cientos de miles de millones de parámetros requiere cargar en la memoria, al mismo tiempo, todos los parámetros del modelo, los datos de entrenamiento y los resultados de los cálculos intermedios. Cuando el tamaño del modelo supera la capacidad de memoria de un solo servidor, CXL permite que un servidor conecte directamente varios terabytes de memoria CXL, lo que permite almacenar todos los datos en un único nodo, simplificando enormemente el modelo de programación y mejorando la eficiencia del entrenamiento. Para equipos de tamaño medio que trabajan con modelos grandes, CXL ofrece una opción más económica que la compra de costosos mainframes.

Agrupación de memoria en centros de datos

En los grandes centros de datos en la nube, las cargas máximas de los distintos clientes y aplicaciones suelen producirse en momentos diferentes. Mediante la implementación de conmutadores CXL y un fondo común de memoria CXL, el centro de datos puede reunir toda la memoria inactiva en un fondo común compartido y asignarla dinámicamente según las necesidades en tiempo real de cada servidor. Las estimaciones del sector sugieren que este enfoque puede aumentar la utilización de la memoria del 40-50 % habitual a más del 80 %, lo que significa que la misma inversión en hardware puede soportar casi el doble de la carga de trabajo informática.

La computación en la nube y la densidad de máquinas virtuales

Los proveedores de servicios en la nube quieren ejecutar tantas máquinas virtuales (VM) como sea posible en un único servidor físico para aumentar sus ingresos. Pero a cada VM se le debe asignar una cantidad fija de memoria y, aunque esa memoria no se utilice mucho en la práctica, no puede ser ocupada por otras VM. Como resultado, los servidores suelen quedarse sin memoria mucho antes de que se agoten sus recursos de CPU, lo que limita el número de VM que se pueden crear. Un grupo de memoria CXL permite a la plataforma en la nube tratar la memoria como un recurso elástico para la sobresuscripción o el ajuste dinámico: cuando una VM utiliza menos memoria de la asignada, el excedente puede recuperarse y asignarse a otras VM. Esta tecnología permite a los proveedores de servicios en la nube alojar a más clientes en los mismos servidores físicos, lo que reduce los costes operativos.

Más allá de estos tres casos de uso principales, CXL también se utiliza en simulaciones a gran escala en el ámbito de la computación de alto rendimiento, en la ampliación de la capacidad de las bases de datos en memoria (como SAP HANA) y en la aceleración de motores de análisis de big data en tiempo real (como Apache Spark). Lo que estas aplicaciones tienen en común es una demanda muy elevada de capacidad de memoria combinada con una cierta tolerancia a la latencia, precisamente el ámbito en el que CXL destaca.

Situación actual y perspectivas de futuro de CXL

CXL ha pasado de la fase de laboratorio a su implementación real. En cuanto al hardware, los procesadores Xeon Scalable de 4.ª generación de Intel y los procesadores EPYC de 4.ª generación de AMD son compatibles de forma nativa con CXL 1.1 o 2.0. Los principales proveedores de servidores, como Dell, HPE, Inspur y Supermicro, ofrecen opciones de memoria CXL en sus gamas de gama alta. Samsung y Micron producen ahora en masa módulos de memoria CXL con capacidades que van desde los 128 GB hasta los 512 GB, algunos de ellos con soporte para conexión en caliente. En cuanto al software, el kernel de Linux es compatible de forma nativa con CXL desde la versión 5.18, y los principales sistemas operativos en la nube están mejorando gradualmente la gestión de memoria CXL.

De cara al futuro, CXL está evolucionando en dos líneas principales. La primera son las actualizaciones del protocolo. CXL 2.0 introdujo la agrupación de memoria y la compatibilidad con conmutadores, que ya se están probando. CXL 3.0 aumenta el ancho de banda a 64 GB/s y añade conmutación multinivel, cuya implantación se espera a partir de 2026. CXL 4.0, basado en PCIe 7.0, tiene previsto duplicar de nuevo el ancho de banda aproximadamente. La segunda vía es la evolución del despliegue. A corto plazo, CXL actúa como una memoria de “segundo nivel” que complementa a la DDR local. A medio plazo, la agrupación de memoria se convertirá en estándar en los grandes centros de datos, lo que hará que la memoria sea asignable dinámicamente, al igual que la computación y el almacenamiento. A largo plazo, es probable que CXL y DDR coexistan: DDR para cargas de trabajo centrales sensibles a la latencia, y CXL para memoria de expansión de gran capacidad y compartible.

La tecnología CXL surgió como respuesta a una pregunta que lleva mucho tiempo preocupando al sector informático: ¿por qué la memoria no se puede ampliar y compartir con la misma flexibilidad que el almacenamiento? La tecnología CXL, gracias a un elegante diseño de protocolo, incorpora capacidades clave como la coherencia de caché y la agrupación de memoria sobre la infraestructura PCIe existente. Desde el hardware hasta el software, desde la ampliación de una sola máquina hasta el uso compartido de recursos en todo el centro de datos, CXL está cambiando gradualmente nuestra forma de concebir la memoria. Por supuesto, esta tecnología se encuentra aún en sus primeras etapas; la madurez del protocolo, la completitud del ecosistema y la reducción de costes llevarán tiempo. Pero lo que es seguro es que, a medida que los modelos de IA sigan creciendo y el tamaño de los datos siga superando los límites físicos, CXL —que libera a la memoria de las ranuras fijas— se convertirá en una pieza cada vez más esencial de la infraestructura en el mundo de la computación de alto rendimiento.

Ir arriba

Contáctenos

Rellene el siguiente formulario y en breve nos pondremos en contacto con usted.

Formulario de contacto Producto