Memória e SSD

CRAM da Meta: como funciona a proposta de RAM comprimida

Entenda como o CRAM da Meta propõe acessar RAM comprimida no Linux, o limite do teste de 452 vezes e por que isso não significa memória grátis.

Voltar ao blogCRAM da Meta: como funciona a proposta de RAM comprimida

A Meta apresentou uma proposta para o Linux aproveitar memória comprimida sem interromper cada leitura para recuperar os dados. O nome é CRAM, de Compressed RAM, e um gráfico da apresentação marca 452 vezes o desempenho do zram em uma condição específica: leitura aleatória, sem escrita, usando RAM comum para simular a camada comprimida. O hardware especializado não estava nesse teste.

É um resultado que chama atenção, mas deixa uma pergunta mais interessante do que a velha promessa de baixar RAM: quanto custa ao sistema operacional acessar aquilo que ele comprimiu? É nesse caminho que o CRAM tenta mexer. Para entender a proposta, primeiro precisamos separar espaço economizado de velocidade de acesso.

Por que comprimir memória tem um custo

A compressão tenta representar os mesmos dados ocupando menos espaço. Isso permite guardar mais informação na memória física disponível, desde que aqueles dados comprimam bem. Não aparecem chips novos dentro do computador. O sistema passa a aproveitar de outro jeito os chips que já existem.

No Linux, o zram cria um dispositivo de bloco dentro da própria RAM e armazena dados comprimidos nele. A documentação do kernel descreve vários usos, incluindo swap, uma área para onde o sistema pode deslocar páginas de memória. Página, aqui, é uma unidade de dados administrada pelo sistema operacional.

Quando o zram funciona como swap, a página enviada para ele deixa de estar diretamente mapeada para o programa. Se a aplicação precisar daquele conteúdo, ocorre uma falta de página: o acesso precisa esperar enquanto o kernel recupera e descomprime os dados. Essa espera não significa necessariamente que o programa inteiro vai congelar de maneira perceptível.

O detalhe é que descomprimir representa apenas parte do trabalho. Nos slides apresentados pela Meta, uma medição atribuída a Kairui Song mostra a descompressão respondendo por menos de 10% do custo no melhor caso citado. O restante envolve o atendimento da falta de página e o caminho do swap. Acelerar só o descompressor, portanto, deixa boa parte da espera intacta.

Como o CRAM muda o caminho da leitura

Gregory Price, da Meta, apresentou o projeto em 5 de outubro de 2026, na Linux Plumbers Conference, em Praga. O resumo oficial da palestra descreve memória cuja compressão é feita pelo hardware e que pode continuar mapeada para acesso direto de leitura.

O CRAM é a parte do Linux que administra essa memória. Na proposta, páginas chegam à camada comprimida pelo mecanismo que recupera espaço e transfere dados entre camadas de memória. Elas ficam disponíveis para leitura, mas protegidas contra escrita. Assim, consultar uma página nessa camada não exige a mesma recuperação por software usada no swap.

E se o programa quiser alterar os dados? A escrita gera uma falta de página e o sistema promove o conteúdo de volta à DRAM convencional. A diferença entre ler e escrever está no centro do projeto: a leitura pode seguir diretamente; a alteração exige voltar para a camada que aceita escrita normal.

A proposta técnica enviada à lista do kernel explica também por que essa proteção existe. Escritas livres poderiam mudar a compressibilidade dos dados depressa demais e esgotar a capacidade física do dispositivo. Controlar a escrita ajuda o sistema a acompanhar a ocupação real, em vez de descobrir tarde demais que o espaço acabou.

Há um driver de exemplo para memória comprimida conectada por CXL na série de patches. Isso mostra uma implementação prevista para esse tipo de hardware. Não significa que o gráfico de desempenho tenha medido um dispositivo CXL real comprimindo e descomprimindo dados.

O que significa o resultado de 452 vezes

O número de 452 vezes aparece no gráfico para leitura aleatória com 0% de escrita, em comparação com zram usando zstd. A apresentação informa que o experimento foi sustentado por DRAM comum para isolar o custo da falta de página. Ou seja, ele investiga o ganho de evitar esse caminho do sistema operacional.

O teste não inclui a descompressão em hardware nem a latência de uma conexão CXL. Por isso, não demonstra que um servidor equipado com memória comprimida real terá aquele ganho, muito menos que um jogo ficará centenas de vezes mais rápido. O resultado responde a uma pergunta específica sobre o gerenciamento da memória.

Quando entram escritas, o quadro muda. Com 20% de escrita, o gráfico marca 5,4 vezes no pior caso apresentado, o de acesso aleatório. Já no teste com distribuição Zipf, o zram foi encerrado por falta de memória com 10% e 20% de escrita. Esse segundo resultado não pode ser tratado como outra medição equivalente de velocidade.

A leitura útil desses números é que o padrão de acesso importa muito. Uma carga que consulta dados e outra que os modifica com frequência percorrem caminhos diferentes no CRAM. O próprio desenho explica por que um multiplicador isolado não serve como previsão geral de desempenho.

Capacidade extra ainda depende dos dados

Além da velocidade, existe uma conta pendente: a diferença entre a capacidade que o dispositivo apresenta e o espaço físico que realmente possui. Se a compressão render menos do que o esperado, parte daquela capacidade aparente deixa de caber. Nos slides, o dimensionamento dessa relação ainda aparece como trabalho não concluído.

O projeto prevê controle de novas alocações para lidar com essa pressão. O driver pode sinalizar que o sistema deve parar de enviar mais páginas à camada comprimida. É uma condição de funcionamento, não um detalhe que possa ficar para depois. Memória anunciada não guarda dados por força de vontade.

Então dá para baixar mais RAM? O material apresentado descreve uma proposta de gerenciamento associada a hardware especializado, não um download que amplia qualquer PC. Transformar isso em opção doméstica exigiria suporte de software, plataforma compatível e um produto disponível ao consumidor. A apresentação não estabelece um prazo para essa combinação.

Para quem está planejando uma máquina, as configurações de PCs precisam continuar partindo da memória física disponível e do uso pretendido. Se a dúvida é sobre o computador atual, uma avaliação de possibilidades de upgrade ajuda a decidir se existe necessidade de mudança. O CRAM merece acompanhamento pelo problema que tenta resolver; não precisa virar promessa de memória grátis para ser interessante.

Fontes

Temas deste artigo

Com esse problema no seu PC?

Tela azul, travando, lento ou não liga? A gente diagnostica de graça em Moema, conserta com garantia de 1 ano e você acompanha online — sem compromisso.

Blog

Mais sobre Memória e SSD

Ver o tema