CXL e a convergência de memória: O fim do gargalo de IO em infraestrutura de IA

      Roberto Lemos 9 min de leitura
      CXL e a convergência de memória: O fim do gargalo de IO em infraestrutura de IA

      Análise técnica sobre como o Compute Express Link (CXL) elimina a latência entre memória e armazenamento, transformando a arquitetura de dados para LLMs e workloads de alta performance.

      Compartilhar:

      A infraestrutura de IA moderna enfrenta um paradoxo brutal: temos GPUs capazes de processar petaflops, mas passamos a maior parte do tempo esperando os dados chegarem até elas. Se você gerencia workloads de alta performance, sabe que o gargalo deixou de ser o disco giratório há muito tempo. O problema agora é a física da latência entre a DRAM e o NVMe.

      Estamos testemunhando uma mudança tectônica na arquitetura de servidores. O modelo tradicional, onde o armazenamento é persistente (bloco) e a memória é volátil (byte), está sendo reescrito pelo CXL (Compute Express Link). Não estamos falando apenas de "mais RAM", mas de uma redefinição completa de como a CPU enxerga o armazenamento.

      Resumo em 30 segundos

      • O Problema: O gap de latência entre a DRAM local (nanossegundos) e o SSD NVMe (microssegundos) cria "stalls" massivos em treinamentos de LLMs que excedem a VRAM.
      • A Solução: O CXL atua como uma "Memória de Camada 2", permitindo acesso semântico de memória (load/store) via barramento PCIe, com latência próxima à da DRAM local.
      • O Impacto: Desagregação de memória. Em vez de superdimensionar RAM em cada servidor (e desperdiçar dinheiro), criamos pools de memória compartilhada acessíveis sob demanda.

      O custo oculto da "Memory Wall" em LLMs

      Quando analisamos a eficiência de um cluster de treinamento de IA, a métrica mais dolorosa não é o consumo de energia, é a ociosidade da GPU (GPU Idle Time). Em arquiteturas atuais, quando o modelo de linguagem (LLM) ou o dataset não cabem na memória HBM (High Bandwidth Memory) da GPU nem na DRAM do host, o sistema recorre ao swap para o NVMe.

      Para um DBA ou Arquiteto de Dados, isso é um pesadelo. Um SSD NVMe Gen5, por mais rápido que seja (14 GB/s de throughput), opera com latência na casa dos 60 a 80 microssegundos. Para uma CPU que opera em ciclos de nanossegundos, isso é uma eternidade.

      O resultado é o que chamamos de "Memory Wall". A GPU para de calcular gradientes e espera o IO completar. Você pagou 30 mil dólares em uma placa para ela ficar esperando o disco.

      O abismo de latência: A disparidade entre a velocidade de processamento da GPU e a latência de recuperação de dados do armazenamento tradicional cria o gargalo conhecido como Memory Wall. Figura: O abismo de latência: A disparidade entre a velocidade de processamento da GPU e a latência de recuperação de dados do armazenamento tradicional cria o gargalo conhecido como Memory Wall.

      A física da latência: Por que NVMe Gen5 não resolve

      É crucial entender a diferença entre largura de banda (throughput) e latência. O marketing de storage adora vender GB/s. Mas para inferência e treinamento, a latência é rei.

      O protocolo NVMe foi desenhado para acesso a bloco. Mesmo que você use tecnologias como GPUDirect Storage, ainda existe o overhead da pilha de IO, interrupções e mudança de contexto. O CXL muda esse jogo porque ele usa o protocolo CXL.mem.

      Isso permite que a CPU (e aceleradores) acessem a memória conectada via CXL usando instruções nativas de load/store, exatamente como fazem com a DRAM local. Não há driver de sistema de arquivos, não há interrupção de IO, não há context switch. É apenas um endereço de memória com uma latência ligeiramente maior.

      Tabela Comparativa: Hierarquia de Acesso a Dados

      Característica DRAM Local (DDR5) CXL Memory (Type 3) NVMe SSD (Gen5)
      Tipo de Acesso Byte-addressable (Load/Store) Byte-addressable (Load/Store) Block-addressable (IO Read/Write)
      Latência Típica ~80-100 ns ~170-250 ns ~70,000 ns (70 µs)
      Protocolo DDR Bus CXL.mem (sobre PCIe) NVMe (sobre PCIe)
      Capacidade por Módulo 64GB - 256GB 512GB - 1TB+ 3.84TB - 30TB+
      Custo por GB Alto ($$$) Médio ($$) Baixo ($)

      💡 Dica Pro: Ao projetar a arquitetura, trate a memória CXL como uma zona NUMA (Non-Uniform Memory Access) distante. O sistema operacional a enxerga como um nó de memória sem CPU ("CPU-less node"). O tiering de software deve garantir que os dados "quentes" fiquem na DDR5 local e os "mornos" vazem para o CXL, nunca para o SSD.

      Desagregação via CXL 2.0: O fim dos slots DIMM limitados

      O formato físico dos servidores está mudando. Estamos acostumados a limitar a capacidade de memória pelo número de slots DIMM na placa-mãe. O CXL permite usar os slots frontais do servidor — que antes eram exclusivos para SSDs U.2 ou E3.S — para inserir módulos de memória.

      Aqui entra o EDSFF (Enterprise & Data Center Standard Form Factor). Dispositivos como o Samsung CMM-D usam o formato E3.S para entregar 512GB de RAM em um slot que parece um disco.

      Isso habilita a Desagregação de Memória. Em vez de comprar servidores com 2TB de RAM cada (e usar apenas 50% na média), você compra servidores com 512GB de RAM local e conecta um chassi de expansão de memória via CXL. Se o Servidor A precisa de mais 1TB para um treino de IA hoje, você aloca dinamicamente do pool. Amanhã, você move essa capacidade para o Servidor B.

      A evolução do form factor: Módulos de memória CXL no formato E3.S ocupando baias frontais de servidores, transformando slots de armazenamento em expansão de RAM de alta velocidade. Figura: A evolução do form factor: Módulos de memória CXL no formato E3.S ocupando baias frontais de servidores, transformando slots de armazenamento em expansão de RAM de alta velocidade.

      O mito do Overprovisioning em arquiteturas NUMA

      Historicamente, DBAs e arquitetos de infraestrutura resolveram problemas de performance jogando hardware no problema. "O banco está lento? Dobra a RAM." Em clusters de IA, isso é financeiramente insustentável. A memória DDR5 é cara e representa, em muitos casos, 40-50% do custo de um servidor de computação (excluindo as GPUs).

      O problema do overprovisioning (superdimensionamento) é que a memória fica "ilhada" (stranded memory). Se você tem um cluster de 10 nós, e um nó está usando 95% da RAM enquanto os outros 9 usam 30%, você não tem como "emprestar" RAM dos ociosos para o sobrecarregado em uma arquitetura tradicional.

      Com CXL 2.0 e Switching, o pool de memória é compartilhado. Isso reduz o TCO (Total Cost of Ownership) drasticamente, pois permite comprar a quantidade agregada de memória necessária para o cluster, não o pico teórico de cada nó individual.

      Resultados de validação: Largura de banda e Latência

      Testes recentes com processadores Intel Xeon de 4ª e 5ª Geração (Sapphire Rapids e Emerald Rapids) e processadores AMD EPYC Genoa mostram que o impacto da latência adicional do CXL é mitigável para a maioria dos workloads de IA.

      Embora a latência do CXL seja cerca de 100ns maior que a da DRAM local (devido ao salto pelo controlador PCIe e retiming), a largura de banda é aditiva. Se você tem 8 canais de DDR5 entregando 300 GB/s e adiciona 4 linhas de CXL x16, você soma essa largura de banda disponível para a CPU, desde que o software seja inteligente o suficiente para paralelizar o acesso.

      Para bancos de dados em memória (como Redis ou SAP HANA) e inferência de vetores (Vector Databases para RAG), o CXL oferece uma performance indistinguível da DRAM local para 90% das operações de leitura, custando significativamente menos por GB e permitindo capacidades na casa dos Terabytes por servidor.

      Comparativo visual de performance: O CXL preenche o abismo entre a memória principal e o armazenamento flash, oferecendo latência próxima à DRAM com a escalabilidade do PCIe. Figura: Comparativo visual de performance: O CXL preenche o abismo entre a memória principal e o armazenamento flash, oferecendo latência próxima à DRAM com a escalabilidade do PCIe.

      O futuro imediato: CXL 3.0 e Fabric

      Enquanto o CXL 1.1 e 2.0 focam na expansão direta e pooling simples, o CXL 3.0 (baseado em PCIe 6.0) trará o conceito de Fabric. Isso permitirá que GPUs acessem diretamente a memória CXL sem passar pela CPU host, eliminando mais um gargalo e permitindo arquiteturas peer-to-peer reais em escala de rack.

      Perspectiva do Arquiteto

      A era de tratar armazenamento e memória como silos distintos acabou. Para infraestrutura de IA, a capacidade de manter o working set inteiro em um espaço de endereçamento endereçável por byte (seja DDR ou CXL) é o que define a performance. O NVMe voltará a ser o que sempre deveria ter sido: um repositório de cold storage e boot, não uma área de swap para computação ativa.

      Prepare sua infraestrutura para suportar CXL. Isso significa validar placas-mãe com suporte a PCIe 5.0, entender os requisitos de lane bifurcation e, principalmente, começar a testar softwares de tiering de memória (como o MemVerge Memory Machine) que abstraem a complexidade do NUMA para a aplicação. Quem ignorar a convergência de memória continuará pagando caro por GPUs ociosas.

      Referências & Leitura Complementar

      1. CXL Consortium: Compute Express Link™ 3.0 Specification. Disponível em computeexpresslink.org.

      2. SNIA (Storage Networking Industry Association): Native NVMe-oF™ Drive Specification & EDSFF Form Factors.

      3. JEDEC: DDR5 SDRAM Standard (JESD79-5).

      4. Micron Technology: Technical Brief: CXL Memory Expansion for AI Workloads (2024).

      5. Samsung Semiconductor: CMM-D (CXL Memory Module - DRAM) Datasheet.


      Perguntas Frequentes (FAQ)

      Qual a diferença prática de latência entre CXL e NVMe? O CXL opera na casa dos 170-250 nanossegundos (acesso semântico de memória via load/store), enquanto o NVMe mais rápido, mesmo em PCIe 5.0, opera na casa dos 70-100 microssegundos (acesso de bloco via pilha de IO). É uma diferença de magnitude (quase 1000x) que impacta diretamente a performance de IA, pois a CPU não precisa esperar ciclos de interrupção com CXL.
      O CXL substitui o armazenamento SSD tradicional? Não. O CXL cria uma nova camada de "Memória Far" ou "Tier 2 Memory" entre a DRAM principal e o SSD. Ele serve para expandir a capacidade de memória volátil e permitir o compartilhamento de recursos (pooling). O SSD continua sendo essencial para persistência de dados a longo prazo, boot do sistema e armazenamento de datasets frios.
      O que é um dispositivo CXL Type 3? É um dispositivo de expansão de memória (como o Samsung CMM-D ou módulos da SK Hynix) que fornece capacidade adicional de RAM ao host através do barramento CXL. Diferente de um SSD, a CPU acessa essa memória diretamente com instruções de memória, permitindo que ela seja usada como RAM do sistema, visível pelo SO como um nó NUMA sem processador.
      #CXL 2.0 #Compute Express Link #Armazenamento Desagregado #Infraestrutura de IA #Tiering de Memória #Samsung CMM-D #Latência NVMe vs CXL #EDSFF E3.S
      Roberto Lemos
      Assinatura Técnica

      Roberto Lemos

      Arquiteto de Workloads

      "Projeto infraestrutura onde o perfil de I/O dita as regras. Sei que a latência do acesso aleatório de um banco difere da vazão sequencial de vídeos. Mapeio o hardware exato para cada aplicação."