Simple Science

Ciência de ponta explicada de forma simples

# Informática# Computação distribuída, paralela e em cluster

Memória CXL: Uma Nova Abordagem em HPC

Investigando o papel da memória CXL em melhorar sistemas de computação de alto desempenho.

― 10 min ler


Memória CXL em HPCMemória CXL em HPCmais eficiente.memória persistente para uma computaçãoA memória CXL transforma as opções de
Índice

Na área de Computação de Alto Desempenho (HPC), encontrar soluções de memória melhores e mais eficientes é essencial. Um novo método chamado Compute Express Link (CXL) mostra promessas para fornecer Memória Persistente em sistemas que trabalham juntos. Este artigo fala sobre como a memória CXL pode agir como memória persistente, apoiada por testes realizados em sistemas de computação avançada.

Nossa pesquisa envolveu a configuração de um protótipo CXL usando uma placa especial que atende aos padrões CXL. Executamos testes utilizando programas de benchmark para medir quão bem a memória CXL funciona. Os resultados mostram que a memória CXL pode ter um desempenho semelhante ao da memória persistente tradicional, especialmente para tarefas de computação específicas, enquanto também proporciona uma ótima largura de banda com os processadores mais recentes da Intel.

Os benchmarks que usamos ajudaram a perceber que a memória CXL pode imitar as qualidades da memória persistente quando usada em diferentes modos, obtendo resultados impressionantes em velocidade de transferência de dados. Nossas descobertas indicam que esse tipo de memória pode superar tecnologias passadas, oferecendo uma excelente alternativa para soluções de memória persistente.

Limitações das Soluções de Memória HPC Atuais

À medida que avançamos em direção a sistemas de computação mais avançados, a necessidade de lidar com grandes quantidades de dados cresce. Espera-se que esses sistemas desempenhem muitos tipos diferentes de tarefas, desde simulações até aprendizado de máquina. A memória desempenha um papel fundamental em manter o desempenho alto e suportar a carga de trabalho.

Os sistemas de memória tradicionais em HPC têm limites claros. Embora consigam armazenar muitos dados, sua velocidade e tempos de acesso podem desacelerar o desempenho. Problemas surgem quando há necessidade de recuperar dados após falhas, já que os sistemas tradicionais podem não ser rápidos o suficiente para ajudar.

Tecnologia de memória como DRAM, embora rápida, pode ser limitada em capacidade. Por outro lado, dispositivos de armazenamento, apesar de poderem comportar grandes quantidades de dados, podem ser lentos para acessar. Isso cria uma lacuna em fornecer acesso de alta velocidade aos grandes conjuntos de dados necessários para cálculos científicos avançados.

A Memória de Alta Largura de Banda (HBM) foi desenvolvida para contornar isso, mas não resolve completamente o problema. A HBM fornece melhor velocidade empilhando chips de memória, mas ainda assim não consegue atingir a capacidade encontrada em tipos de memória comuns, limitando sua usabilidade em algumas aplicações. Apesar de a HBM melhorar a largura de banda, a forma como os processadores acessam a memória ainda pode introduzir atrasos que afetam o desempenho geral.

Em resumo, manter a memória próxima aos processadores apresenta desafios para os sistemas HPC. Essa configuração pode limitar a largura de banda devido ao número reduzido de conexões disponíveis entre processadores e módulos de memória. Como resultado, isso pode desacelerar as transferências de dados, prejudicando o desempenho geral do sistema.

Para uma maior capacidade de memória, ferramentas de comunicação avançadas como o Acesso Direto Remoto à Memória (RDMA) são sugeridas para otimizar a comunicação entre diferentes nós. No entanto, usar essas ferramentas sofisticadas pode apresentar desafios, como atrasos no envio de mensagens e a crescente complexidade de gerenciar recursos em clusters maiores.

Memória Persistente em HPC

A Memória Persistente (PMem) é uma tecnologia desenvolvida para ajudar a preencher a lacuna entre memória e armazenamento. Ela combina qualidades de ambos, permitindo acesso rápido aos dados enquanto mantém esses dados mesmo quando a energia é cortada. Esse novo tipo de memória traz um novo nível de organização para como memória e armazenamento trabalham juntos.

Embora existam soluções PMem mais antigas, elas vêm com limitações, como dependência de baterias para retenção de dados durante quedas de energia. Essas desvantagens dificultam sua escalabilidade e confiabilidade. No entanto, avanços recentes na tecnologia PMem, como o Intel Optane, surgiram, oferecendo maiores capacidades de armazenamento e velocidades de acesso rápidas mesmo quando a energia é cortada.

Existem duas principais utilizações para PMem: uma como extensão da memória principal para lidar com grandes tarefas de computação e outra como uma opção de armazenamento rápido acessada através de sistemas de arquivos especiais. Usando o Kit de Desenvolvimento de Memória Persistente (PMDK), os programadores podem gerenciar esse tipo de memória de forma mais fácil.

Nos últimos anos, a PMem ganhou espaço em aplicações HPC, mostrando promessas em resolver grandes problemas científicos e apoiar um processamento de dados mais rápido, tornando-a valiosa para várias tarefas científicas.

Embora a PMem ofereça um grande potencial, também tem suas falhas. Geralmente tem uma largura de banda menor em comparação com tipos de memória tradicionais, o que pode limitar sua eficácia em ambientes exigentes. Além disso, a forma como a PMem está fisicamente ligada aos processadores pode restringir a expansão e criar gargalos no desempenho.

À medida que tecnologias PMem tradicionais enfrentam descontinuações, a busca por novas opções de memória está se tornando cada vez mais popular.

Memória Desagregada com CXL

O conceito de memória desagregada está ganhando atenção, visando separar a memória dos recursos de computação para melhorar o uso de recursos e escalabilidade. Essa mudança é apoiada por tecnologias como CXL.

O CXL é um padrão aberto projetado para ajudar diferentes dispositivos a se comunicarem de forma eficiente. A introdução do CXL permitiu uma mudança na forma como a memória é conectada, facilitando sistemas que podem se adaptar de forma mais eficaz a várias cargas de trabalho.

Essa tecnologia suporta três principais tipos de dispositivos: aqueles que apenas armazenam em cache, aqueles que armazenam em cache com memória extra e aqueles destinados à expansão de memória. À medida que o CXL continua a se desenvolver, recursos como agrupamento de memória e gerenciamento aprimorado estão sendo adicionados, visando melhorar como a memória é acessada e compartilhada.

Vários fornecedores estão entrando no mercado CXL, trabalhando em produtos que implementam essa tecnologia promissora. A esperança é que, conectando nós de memória com links de alta velocidade, os sistemas possam atender melhor às demandas de aplicações que precisam de acesso eficiente à memória.

Embora a ideia de memória desagregada com CXL seja empolgante, ainda existem desafios a considerar. Softwares e modelos de programação precisam evoluir para aproveitar completamente essa abordagem. As aplicações precisam ser projetadas para funcionar de forma integrada em memória compartilhada.

Estratégias eficientes de colocação e movimentação de dados são essenciais para minimizar atrasos e garantir que tarefas que exigem muitos dados possam fazer o melhor uso da memória desagregada do CXL.

Comparando a memória CXL com abordagens anteriores de PMem, parece que o CXL pode oferecer melhor largura de banda, escalabilidade e capacidades de integração, tornando-o uma opção favorável para tarefas HPC.

Configuração Experimental e Resultados

A configuração experimental envolveu dois nós equipados com processadores Intel e um protótipo CXL. Os testes foram realizados usando diferentes configurações de memória e programas de benchmark para avaliar quão bem a memória CXL se saiu em comparação com opções de memória tradicionais.

Para a primeira configuração, um nó conteve dois poderosos processadores Intel com memória DDR5, e uma segunda configuração tinha processadores mais antigos com memória DDR4. A memória protótipo CXL foi implementada em uma placa FPGA, permitindo testes flexíveis.

Os benchmarks usados incluíram o programa STREAM, que mede a largura de banda de memória sustentável para operações básicas. Através de vários testes, conseguimos demonstrar quão bem a memória CXL pode atuar como PMem tradicional, enquanto fornece resultados de desempenho impressionantes.

Os testes envolveram uma gama de condições para mostrar como a memória CXL se comportou sob diferentes cenários. Os resultados indicaram que o acesso local à memória rendeu o melhor desempenho, enquanto acessos remotos mostraram uma diminuição na velocidade em comparação com a memória conectada diretamente.

Embora o desempenho da memória CXL tenha apresentado algumas quedas em comparação com opções locais, ainda se saiu bem em comparação com soluções PMem passadas. Os resultados destacaram o potencial da memória CXL para servir como uma opção prática para memória persistente em futuros sistemas HPC.

O módulo de memória CXL foi encontrado mantendo suas propriedades não voláteis enquanto oferecia métricas de desempenho competitivas. Os testes mostraram que a memória CXL poderia alcançar velocidades significativas enquanto se mostrava econômica em comparação com outras configurações de memória tradicionais.

Conclusão

Em resumo, este estudo mostra grande promessa para a memória CXL na computação de alto desempenho. Ela pode fornecer as qualidades necessárias para memória persistente enquanto alcança resultados de desempenho impressionantes. Ao realizar testes em sistemas avançados, demonstramos que a memória CXL pode superar opções de memória persistente mais antigas, oferecendo uma solução confiável e eficiente para o futuro.

Através de experimentos reais, destacamos a capacidade da memória CXL de imitar as características da memória persistente, enquanto também permite uma migração sem problemas dos modelos de programação. Essa vantagem chave sugere que adotar a memória CXL pode beneficiar os desenvolvimentos futuros em HPC.

O protótipo CXL prático fornece uma visão de como essa tecnologia pode ser aplicada em situações do mundo real, abrindo caminho para avanços em soluções de memória. À medida que o campo continua a crescer, pesquisas adicionais se concentrarão em otimizar as capacidades da memória CXL para enfrentar os desafios das demandas modernas de computação.

Trabalho Futuro

Pesquisas futuras devem considerar várias áreas para aprimorar ainda mais o uso da memória CXL na computação de alto desempenho. Isso inclui investigar quão bem a memória CXL se escala em configurações maiores. Investigar diferentes métodos de comunicação e padrões de acesso à memória pode aprimorar ainda mais seus benefícios.

Outra área a explorar envolve a criação de sistemas de memória híbridos que incorporem diferentes tecnologias, misturando CXL com tipos de memória tradicionais para uma abordagem equilibrada. Além disso, avaliar a memória CXL com aplicações do mundo real além dos benchmarks irá ajudar a entender seu desempenho prático nas tarefas diárias.

Adicionalmente, focar na tolerância a falhas e confiabilidade usando a memória CXL, especialmente em ambientes de grande escala, é crucial. Aprender com sistemas passados construídos em torno de memória persistente pode fornecer insights para criar sistemas mais robustos.

Em resumo, a memória CXL mostra grande potencial como uma solução de memória persistente para computação de alto desempenho, oferecendo oportunidades empolgantes para exploração e desenvolvimento futuro.

Fonte original

Título: CXL Memory as Persistent Memory for Disaggregated HPC: A Practical Approach

Resumo: 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 atualização: 2023-08-21 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2308.10714

Fonte PDF: https://arxiv.org/pdf/2308.10714

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes