Memoria CXL: Un Nuevo Enfoque en HPC
Investigando el papel de la memoria CXL en la mejora de sistemas de computación de alto rendimiento.
― 10 minilectura
Tabla de contenidos
En el campo de la Computación de Alto Rendimiento (HPC), encontrar soluciones de memoria más eficientes es muy importante. Un nuevo método llamado Compute Express Link (CXL) promete ofrecer Memoria Persistente en sistemas que trabajan juntos. Este artículo habla de cómo la memoria CXL puede actuar como memoria persistente, respaldada por pruebas realizadas en sistemas de computación avanzados.
Nuestra investigación incluyó la configuración de un prototipo de CXL usando una tarjeta especial que cumple con los estándares de CXL. Realizamos pruebas usando programas de referencia para medir qué tan bien funciona la memoria CXL. Los resultados muestran que la memoria CXL puede rendir de manera similar a la memoria persistente tradicional, especialmente para tareas de computación específicas, y a la vez ofrecer un gran ancho de banda con los últimos procesadores de Intel.
Los benchmarks que usamos nos ayudaron a ver que la memoria CXL puede imitar las cualidades de la memoria persistente al ser usada en diferentes modos, obteniendo resultados impresionantes en velocidad de transferencia de datos. Nuestros hallazgos indican que este tipo de memoria puede superar las tecnologías anteriores, ofreciendo una excelente alternativa a las soluciones de memoria persistente.
Limitaciones de las Soluciones de Memoria HPC Actuales
A medida que trabajamos hacia sistemas de computación más avanzados, la necesidad de manejar grandes cantidades de datos crece. Se espera que estos sistemas realicen muchos tipos diferentes de tareas, desde simulaciones hasta aprendizaje automático. La memoria juega un papel clave en mantener alta el rendimiento y apoyar la carga de trabajo.
Los sistemas de memoria tradicionales en HPC tienen límites claros. Aunque pueden almacenar muchos datos, su velocidad y tiempos de acceso pueden ralentizar el rendimiento. Surgen problemas cuando hay que recuperar datos tras fallos, ya que los sistemas tradicionales pueden no ser lo suficientemente rápidos para ayudar.
La tecnología de memoria como DRAM, aunque rápida, puede tener un límite en capacidad. Por otro lado, los dispositivos de almacenamiento, aunque pueden contener grandes cantidades de datos, pueden ser lentos para acceder. Esto crea una brecha en ofrecer acceso de alta velocidad a los grandes conjuntos de datos necesarios para cálculos científicos avanzados.
La Memoria de Alto Ancho de Banda (HBM) se ha desarrollado para contrarrestar esto, pero no soluciona completamente el problema. HBM ofrece mejor velocidad al apilar chips de memoria, pero aún no puede alcanzar la capacidad que se encuentra en tipos de memoria regulares, limitando su utilidad en algunas aplicaciones. Aunque HBM mejora el ancho de banda, la forma en que los procesadores acceden a la memoria puede seguir introduciendo retrasos que afectan el rendimiento general.
En resumen, mantener la memoria cerca de los procesadores presenta desafíos para los sistemas HPC. Esta disposición puede limitar el ancho de banda debido a las pocas conexiones disponibles entre los procesadores y los módulos de memoria. Como resultado, esto puede ralentizar las transferencias de datos, obstaculizando el rendimiento general del sistema.
Para mayor capacidad de memoria, se sugieren herramientas de comunicación avanzadas como el Acceso Directo a la Memoria Remota (RDMA) para optimizar la comunicación entre diferentes nodos. Sin embargo, usar estas herramientas sofisticadas puede presentar desafíos, como retrasos en el envío de mensajes y la creciente complejidad de gestionar recursos en clústeres más grandes.
Memoria Persistente en HPC
La Memoria Persistente (PMem) es una tecnología desarrollada para ayudar a cerrar la brecha entre memoria y almacenamiento. Combina cualidades de ambos, permitiendo un acceso rápido a los datos mientras retiene esa información incluso cuando se pierde la energía. Este nuevo tipo de memoria aporta un nuevo nivel de organización a cómo trabajan juntos la memoria y el almacenamiento.
Aunque existen soluciones de PMem más antiguas, vienen con limitaciones, como la dependencia de baterías para la retención de datos durante cortes de energía. Estas desventajas obstaculizan su escalabilidad y fiabilidad. Sin embargo, avances recientes en tecnología de PMem, como Intel Optane, han surgido, ofreciendo mayores capacidades de almacenamiento y velocidades de acceso rápidas incluso cuando se corta la energía.
Hay dos usos principales para PMem: uno como extensión de la memoria principal para manejar tareas computacionales grandes y otro como una opción de almacenamiento rápido accesible a través de sistemas de archivos especiales. Usando el Kit de Desarrollo de Memoria Persistente (PMDK), los programadores pueden gestionar este tipo de memoria más fácilmente.
En los últimos años, PMem ha ganado terreno en aplicaciones HPC, mostrando promesas en abordar grandes problemas científicos y soportar un procesamiento de datos más rápido, haciéndolo valioso para diversas tareas científicas.
Si bien PMem ofrece un gran potencial, también tiene sus desventajas. Generalmente tiene un ancho de banda más bajo en comparación con los tipos de memoria tradicionales, lo que puede limitar su eficacia en entornos exigentes. Además, la forma en que PMem está físicamente conectado a los procesadores puede restringir la expansión y crear cuellos de botella en el rendimiento.
A medida que las tecnologías tradicionales de PMem enfrentan procesos de descontinuación, la búsqueda de nuevas opciones de memoria está creciendo en popularidad.
Memoria Desagregada con CXL
El concepto de memoria desagregada está ganando atención, buscando separar la memoria de los recursos computacionales para mejorar el uso de recursos y la escalabilidad. Este cambio está respaldado por tecnologías como CXL.
CXL es un estándar abierto diseñado para ayudar a diferentes dispositivos a comunicarse de manera eficiente. La introducción de CXL ha permitido un cambio en cómo se conecta la memoria, facilitando sistemas que pueden adaptarse de manera más efectiva a diversas cargas de trabajo.
Esta tecnología admite tres tipos principales de dispositivos: aquellos que solo almacenan en caché, aquellos que almacenan en caché con memoria adicional y aquellos destinados a la expansión de memoria. A medida que CXL continúa desarrollándose, se están añadiendo características como agrupación de memoria y gestión mejorada, con el objetivo de mejorar cómo se accede y comparte la memoria.
Varios proveedores están ingresando al mercado de CXL, trabajando en productos que implementan esta tecnología prometedora. La esperanza es que al conectar nodos de memoria con enlaces de alta velocidad, los sistemas puedan satisfacer mejor las demandas de aplicaciones que necesitan acceso a memoria eficiente.
Aunque la idea de la memoria desagregada con CXL es emocionante, todavía hay desafíos que considerar. Los modelos de software y programación deben evolucionar para aprovechar al máximo este enfoque. Las aplicaciones deben diseñarse para funcionar sin problemas en memoria compartida.
Estrategias eficientes de colocación y movimiento de datos son esenciales para minimizar retrasos y asegurar que las tareas intensivas en datos puedan hacer el mejor uso de la memoria desagregada de CXL.
Al comparar la memoria CXL con enfoques anteriores de PMem, parece que CXL puede ofrecer mejor ancho de banda, escalabilidad y capacidades de integración, convirtiéndolo en una opción favorable para tareas HPC.
Configuración Experimental y Resultados
La configuración experimental involucró dos nodos equipados con procesadores Intel y un prototipo de CXL. Las pruebas se realizaron utilizando diferentes configuraciones de memoria y programas de referencia para evaluar qué tan bien se desempeñó la memoria CXL en comparación con las opciones de memoria tradicionales.
Para la primera configuración, un nodo presentaba dos poderosos procesadores Intel con memoria DDR5, y una segunda configuración contaba con procesadores más antiguos con memoria DDR4. La memoria prototipo de CXL se implementó en una tarjeta FPGA, permitiendo pruebas flexibles.
Los benchmarks utilizados incluyeron el programa STREAM, que mide el ancho de banda de memoria sostenible para operaciones básicas. A través de diversas pruebas, pudimos demostrar qué tan bien la memoria CXL puede comportarse como la PMem tradicional mientras ofrece resultados de rendimiento impresionantes.
Las pruebas involucraron una variedad de condiciones para mostrar cómo se desempeñó la memoria CXL en diferentes escenarios. Los resultados indicaron que el acceso a memoria local daba el mejor rendimiento, mientras que los accesos remotos mostraron una disminución en la velocidad en comparación con la memoria conectada directamente.
Si bien el rendimiento de la memoria CXL tuvo algunas caídas en comparación con las opciones locales, aún mostró un rendimiento favorable frente a las soluciones anteriores de PMem. Los resultados destacaron el potencial de la memoria CXL para servir como una opción práctica para memoria persistente en futuros sistemas HPC.
Se encontró que el módulo de memoria CXL mantenía sus propiedades no volátiles mientras ofrecía métricas de rendimiento competitivas. Las pruebas mostraron que la memoria CXL podría lograr velocidades significativas a la vez que resultaba económica en comparación con otras configuraciones de memoria tradicionales.
Conclusión
En conclusión, este estudio muestra un gran potencial para la memoria CXL en computación de alto rendimiento. Puede proporcionar las cualidades necesarias para memoria persistente mientras logra resultados de rendimiento impresionantes. Al realizar pruebas en sistemas avanzados, demostramos que la memoria CXL puede superar las opciones de memoria persistente más antiguas, ofreciendo una solución confiable y eficiente hacia adelante.
A través de experimentos reales, destacamos la capacidad de la memoria CXL para imitar las características de la memoria persistente mientras también permite la migración fluida de modelos de programación. Esta ventaja clave sugiere que adoptar la memoria CXL puede beneficiar los desarrollos futuros en HPC.
El prototipo práctico de CXL proporciona una idea de cómo se puede aplicar esta tecnología en situaciones del mundo real, allanando el camino para avances en soluciones de memoria. A medida que el campo continúa creciendo, la investigación futura se centrará en optimizar las capacidades de la memoria CXL para abordar los desafíos de las demandas de computación modernas.
Trabajo Futuro
La investigación futura debería considerar varias áreas para mejorar aún más el uso de la memoria CXL en computación de alto rendimiento. Esto incluye investigar qué tan bien escala la memoria CXL en configuraciones más grandes. Investigar diferentes métodos de comunicación y patrones de acceso a memoria podría aumentar aún más sus beneficios.
Otra área a explorar implica crear sistemas de memoria híbridos que incorporen diferentes tecnologías, fusionando CXL con tipos de memoria tradicionales para un enfoque equilibrado. Además, evaluar la memoria CXL con aplicaciones del mundo real más allá de los benchmarks ayudará a entender su rendimiento práctico en tareas diarias.
Adicionalmente, centrarse en la tolerancia a fallos y la fiabilidad en el uso de la memoria CXL, especialmente en entornos a gran escala, es crucial. Aprender de sistemas pasados construidos alrededor de memoria persistente puede proporcionar ideas para crear sistemas más robustos.
En resumen, la memoria CXL muestra un gran potencial como solución de memoria persistente para computación de alto rendimiento, ofreciendo oportunidades emocionantes para futuras exploraciones y desarrollos.
Título: CXL Memory as Persistent Memory for Disaggregated HPC: A Practical Approach
Resumen: In the landscape of High-Performance Computing (HPC), the quest for efficient and scalable memory solutions remains paramount. The advent of Compute Express Link (CXL) introduces a promising avenue with its potential to function as a Persistent Memory (PMem) solution in the context of disaggregated HPC systems. This paper presents a comprehensive exploration of CXL memory's viability as a candidate for PMem, supported by physical experiments conducted on cutting-edge multi-NUMA nodes equipped with CXL-attached memory prototypes. Our study not only benchmarks the performance of CXL memory but also illustrates the seamless transition from traditional PMem programming models to CXL, reinforcing its practicality. To substantiate our claims, we establish a tangible CXL prototype using an FPGA card embodying CXL 1.1/2.0 compliant endpoint designs (Intel FPGA CXL IP). Performance evaluations, executed through the STREAM and STREAM-PMem benchmarks, showcase CXL memory's ability to mirror PMem characteristics in App-Direct and Memory Mode while achieving impressive bandwidth metrics with Intel 4th generation Xeon (Sapphire Rapids) processors. The results elucidate the feasibility of CXL memory as a persistent memory solution, outperforming previously established benchmarks. In contrast to published DCPMM results, our CXL-DDR4 memory module offers comparable bandwidth to local DDR4 memory configurations, albeit with a moderate decrease in performance. The modified STREAM-PMem application underscores the ease of transitioning programming models from PMem to CXL, thus underscoring the practicality of adopting CXL memory.
Autores: Yehonatan Fridman, Suprasad Mutalik Desai, Navneet Singh, Thomas Willhalm, Gal Oren
Última actualización: 2023-08-21 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2308.10714
Fuente PDF: https://arxiv.org/pdf/2308.10714
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.
Enlaces de referencia
- https://github.com/Scientific-Computing-Lab-NRCN/STREAMer
- https://dl.acm.org/ccs.cfm
- https://news.samsung.com/global/samsung-electronics-introduces-industrys-first-512gb-cxl-memory-module
- https://news.skhynix.com/sk-hynix-develops-ddr5-dram-cxltm-memory-to-expand-the-cxl-memory-ecosystem/
- https://www.asteralabs.com/products/cxl-memory-platform/
- https://www.montage-tech.com/Press_Releases/20220506
- https://arxiv.org/abs/2303.15375
- https://www.intel.com/content/www/us/en/products/docs/memory-storage/optane-persistent-memory-to-cxl-attached-memory.html
- https://dl.acm.org/doi/abs/10.1145/3329785.3329930?casa_token=S5GwqxeORZ4AAAAA:_74rRMyIv2sLvtRNeObKdTxlfwnmIOnqQl1a8PP1P5_o_1aeGlutpHPcBzmpHQfC0-x66Upcp4B3M8Q
- https://dl.gi.de/items/ba3b1c7a-a5bc-4424-89fd-d4b8caa278a8
- https://www.cs.utexas.edu/~rak/papers/Dissertation.pdf
- https://arxiv.org/abs/2306.04014
- https://arxiv.org/abs/2305.05033
- https://dl.acm.org/doi/abs/10.1145/3529336.3530817
- https://ieeexplore.ieee.org/abstract/document/10024061?casa_token=6QFBysJPup8AAAAA:LVfLp-LRXufhkl0-Pi1eIdWwewhApcHfOVqG8GrTljNTDkS5gsGZ_PddaE6EmhxnBnUHsBujGpUK
- https://arxiv.org/abs/2301.03592