PRAGA — Um método de compressão de memória para Linux, chamado CRAM, mantém os dados comprimidos dentro da própria RAM. Em testes de leitura, a tecnologia chegou a ser 452 vezes mais rápida que o ZRAM.
O projeto foi apresentado por Gregory Price e sua equipe na Meta durante a Linux Plumbers Conference. A proposta muda o caminho usado pelos dados: enquanto ZRAM e zswap funcionam como camadas de swap, o CRAM trata a memória comprimida como parte da RAM.
Como funciona
No modelo tradicional, a memória comprimida se comporta como um disco. Cada acesso passa por uma falha de página, processo que acrescenta tempo à operação. O CRAM elimina essa etapa e permite que o Linux continue usando sua semântica normal de memória, incluindo migração e ballooning.
A tecnologia se apresenta ao kernel como um nó NUMA privado, e não como um dispositivo de bloco. Os dados podem ser lidos por linha de cache ou byte, com o custo da descompressão por hardware.
Nos testes de leitura pura, o CRAM alcançou 489 milhões de operações por segundo, contra 1,1 milhão do ZRAM. Gregory Price afirmou na apresentação: “O CRAM roda na velocidade da DRAM.”
Desempenho em escritas
A vantagem diminui quando há gravações. Como não é possível escrever diretamente em dados comprimidos, a página precisa gerar uma falha e migrar de volta ao nó NUMA original.
No pior cenário testado, com 20% de escritas, o CRAM foi 5,4 vezes mais rápido que o ZRAM. A compressibilidade também varia conforme o conteúdo: um bloco de zeros pode encolher quase completamente, enquanto dados já comprimidos podem não diminuir.
Por isso, ainda não está claro quanta memória lógica o sistema tem nem quando ela termina. Os slides da apresentação tratam essa questão como pesquisa em andamento.
O CRAM ainda não faz parte do kernel Linux. Também não há previsão de quando ou se a tecnologia será incorporada. O projeto foi criado pela Meta e pode interessar primeiro a data centers, antes de chegar a computadores domésticos.








