Meta CRAM: la tecnica segreta di Linux che raggiunge il 99% della DRAM
CRAM consente a Linux di utilizzare memoria compressa da hardware con prestazioni fino al 99% rispetto alla DRAM convenzionale. L’informazione proviene dalla presentazione di Gregory Price, ingegnere di Meta, durante la Linux Plumbers Conference 2026 tenutasi a Praga. Per il lettore che lavora con server, la chiave non sta semplicemente nell’aggiungere RAM fisica, ma nell’ampliare la capacità logica che il sistema può gestire senza pagare il costo abituale della decompressione via software.
Cosa cambia con CRAM in Linux
Come fa a sembrare che ci sia più memoria?
CRAM, acronimo di Compressed RAM Service (servizio di RAM compressa), è un sottosistema del kernel di Linux, la parte centrale del sistema operativo che gestisce le risorse del computer. La sua funzione consiste nell’integrare moduli di memoria con compressione hardware e permettere al processore di accedere direttamente ai dati compressi.
La differenza sembra piccola sulla carta, ma modifica una regola basilare della gestione della memoria. In Linux, ogni pagina di memoria, un’unità che il sistema usa per organizzare i dati, è associata alla capacità fisica reale della RAM. CRAM rompe questa corrispondenza: l’hardware comunica una capacità logica superiore a quella fisicamente esistente.
Così, un server può lavorare come se avesse più memoria disponibile. L’espressione chiave è “come se”. La capacità aggiuntiva non appare fisicamente; dipende dal fatto che i dati possano ridursi di dimensione tramite compressione. Se il contenuto occupa poco dopo la compressione, il sistema guadagna margine. Se occupa quasi lo stesso spazio, quel margine scompare.
Perché è importante per i server di intelligenza artificiale?
La memoria RAM è uno dei grandi costi dei data center, sia per il prezzo dell’hardware sia per il consumo energetico associato. Nelle infrastrutture che gestiscono carichi di intelligenza artificiale, dove la capacità di memoria può diventare un limite operativo, ogni aumento logico senza una penalizzazione elevata risulta particolarmente interessante.
Meta afferma che i suoi test interni hanno collocato CRAM tra il 98% e il 99% delle prestazioni di una memoria DRAM non compressa. Questo dato non significa che il server abbia fisicamente il doppio di RAM in tutti gli scenari. Significa che l’accesso ai dati compressi può avvicinarsi molto al comportamento della memoria tradizionale, a condizione che la compressione mantenga un tasso favorevole.
Qui sta la sfumatura da conservare. La proposta può virtualmente raddoppiare la memoria, secondo la fonte, ma non elimina i limiti fisici dell’hardware. Per un amministratore di sistema, questa differenza separa un miglioramento utile da una promessa fraintesa.
La differenza rispetto a zram e zswap
Quali problemi cerca di evitare CRAM?
CRAM cerca di evitare che il processore debba fermare un’esecuzione per recuperare e decomprimere una pagina memorizzata. In questo contesto, una pagina è un blocco di memoria che contiene dati di un processo; quando non è disponibile come previsto, si verifica un page fault, cioè un’interruzione che obbliga il sistema a cercarla e prepararla.
Linux dispone già di zram e zswap, due meccanismi di compressione della memoria. Tuttavia, la fonte spiega che funzionano in maniera diversa e possono introdurre limitazioni nelle prestazioni finali. Quando un processo richiede un dato compresso, la CPU può ricevere un page fault, mettere in pausa il thread in esecuzione, decomprimere la pagina via software e copiarla poi in una zona di DRAM tradizionale.
Questo percorso aggiunge lavoro proprio nel momento in cui il processo ha bisogno del dato. Non è una differenza puramente tecnica: se le richieste sono numerose, ogni pausa può influire sulla risposta del sistema. CRAM sposta il punto in cui avviene la decompressione, perché la esegue il modulo hardware e permette di consultare i dati direttamente.
Che cosa rende diverso l’accesso di CRAM?
Con CRAM, il processore può leggere i dati mappati nelle tabelle delle pagine, strutture che collegano gli indirizzi usati dai programmi alle posizioni della memoria, senza generare quei page fault e senza eseguire routine di decompressione via software. L’accesso può avvenire a livello di linea di cache o di byte, secondo la presentazione citata.
La differenza, detto senza giri di parole, è chi si sobbarca il lavoro. In zram e zswap, la CPU partecipa al recupero e decompressione dei dati. In CRAM, il modulo di memoria compressa offre l’accesso diretto dall’hardware, così che il sistema operativo può trattare l’informazione tramite una via più simile a quella della RAM convenzionale.
| Meccanismo | Come gestisce i dati | Limitazione descritta |
|---|---|---|
| zram | Usa compressione della memoria all’interno del sistema. | Può causare page fault e decompressione via software. |
| zswap | Funziona come un altro meccanismo di compressione del kernel. | Può aggiungere pause e lavoro per la CPU nel recupero dei dati. |
| CRAM | Accede a dati compressi tramite moduli hardware. | La capacità fisica può esaurirsi se la compressione peggiora. |
Prestazioni, limiti e disponibilità
Quali risultati ha ottenuto Meta?
Meta ha testato CRAM nella propria infrastruttura e ha comunicato prestazioni collocate tra il 98% e il 99% rispetto a quelle ottenute con DRAM convenzionale non compressa. Per capire l’entità del risultato, la perdita indicata rispetto alla memoria tradizionale è ridotta in questi test: si aggira approssimativamente tra uno e due punti percentuali.
Gregory Price, ingegnere di Meta e creatore della proposta, ha chiarito durante la presentazione che non aveva inventato una tecnologia completamente nuova. Il suo lavoro consiste nell’integrare funzionalità già presenti nel kernel di Linux per affrontare l’esaurimento dello spazio fisico di memoria.
La soluzione riunisce varie componenti: protezione in scrittura nelle tabelle di pagina, gestione delle pagine in cache non modificate, scaling dinamico per adattare la proporzione secondo la compressione reale e politiche controllate per assegnare la memoria compressa. Ogni elemento mira a fare in modo che la capacità logica annunciata dall’hardware non si discosti troppo da quella che può sostenere la memoria fisica.
Quale limite deve monitorare un amministratore?
Il problema si presenta quando il tasso di scrittura è elevato o quando i dati smettono di comprimersi bene. In quello scenario, la memoria fisica disponibile può scomparire anche se il kernel continua a comunicare che rimangono gigabyte da assegnare. Il sistema non crea spazio dal nulla: calcola una capacità logica basata su una compressione che può cambiare.
Ecco perché CRAM non deve essere interpretato come una sostituzione universale della DRAM. Il suo vantaggio dipende dal tipo di informazione, dal modello di utilizzo e dalla capacità dell’hardware di mantenere l’accesso compresso. La stessa fonte riconosce che esistono ancora barriere nell’assegnazione della memoria quando la compressione cala, soprattutto in ambienti con molte scritture.
- Verifica innanzitutto la portata: la fonte presenta CRAM come un sottosistema per il kernel di Linux, ma non indica una modalità di attivazione per gli utenti né una disponibilità generale.
- Separa capacità logica e fisica: che il sistema comunichi più memoria non significa che il server abbia fisicamente più moduli installati.
- Controlla il modello di lavoro: gli ambienti con alto tasso di scritture sono proprio quelli che la fonte identifica come più problematici quando la compressione diminuisce.
- Confronta le prestazioni: il dato comunicato da Meta proviene da benchmark effettuati sulla loro infrastruttura e si colloca tra il 98% e il 99% della DRAM non compressa.
- Segnale positivo: i dati mantengono una compressione sufficiente e le prestazioni si avvicinano a quelle della DRAM convenzionale.
- Segnale di rischio: la memoria fisica si esaurisce mentre il kernel indica ancora capacità logica disponibile.
- Limitazione delle informazioni: il materiale originale non fornisce versioni specifiche del kernel, istruzioni di installazione, produttori di moduli compatibili né una data di arrivo su dispositivi di uso generale.
Finché non esistono questi dettagli, CRAM deve essere inteso come una proposta tecnica presentata da Meta, non come una funzione che ogni utente possa attivare da un menu di Linux. La fonte però consente di individuare il suo obiettivo, la differenza rispetto a zram e zswap, i risultati interni e il limite principale legato alla compressione.
Per i responsabili dei data center, la lettura pratica è chiara: CRAM può ridurre la pressione sulla memoria fisica e avvicinare la capacità logica alle necessità dei carichi di intelligenza artificiale, ma richiede di misurare come si comportano i dati reali. Conviene mantenere il sistema aggiornato quando esiste una versione compatibile, controllare l’uso della memoria, conservare copie di backup e monitorare gli avvisi di assegnazione. Se si manifestano blocchi, errori persistenti o mancanza di memoria senza spiegazione chiara, la revisione deve essere affidata a un amministratore specializzato.
CRAM non aggiunge RAM fisica, ma può far lavorare Linux con una capacità logica superiore grazie alla compressione hardware. I suoi test di Meta raggiungono tra il 98% e il 99% delle prestazioni della DRAM convenzionale, sebbene il vantaggio dipenda dal fatto che i dati restino ben compressi. Per i server di intelligenza artificiale, l’idea è promettente; per qualsiasi distribuzione reale, il comportamento sotto intensa scrittura sarà l’esame decisivo.
Domande frequenti
- Cos’è CRAM per Linux?
- CRAM significa Compressed RAM Service ed è un sottosistema del kernel di Linux che permette di accedere a dati compressi tramite moduli hardware. Il suo obiettivo è offrire una capacità logica di memoria superiore a quella fisica installata.
- CRAM raddoppia fisicamente la memoria RAM?
- No. CRAM può virtualmente raddoppiare la memoria quando i dati si comprimono bene, ma la capacità fisica non cambia. Se la compressione peggiora, lo spazio reale può esaurirsi anche se Linux mostra memoria disponibile.
- CRAM è migliore di zram e zswap?
- La proposta evita parte del lavoro che zram e zswap lasciano alla CPU, come i page fault e la decompressione via software. Meta ha comunicato prestazioni dal 98% al 99% rispetto alla DRAM convenzionale nei suoi test.
- Posso attivare CRAM sul mio computer?
- La fonte non include istruzioni di installazione, versioni compatibili né una modalità di attivazione per gli utenti. Per ora, presenta CRAM come una proposta per il kernel e per infrastrutture server.