Am 5. Oktober 2026 präsentierte Meta-Ingenieur Gregory Price auf der Linux Plumbers Conference in Prag einen getesteten Dienst für komprimierten Arbeitsspeicher: Compressed RAM (CRAM). Die Implementierung trägt den Namen mm/cram.c und befindet sich in Entwicklung. Price zufolge erreichte sie unter den Benchmarks TAOBench und FIO eine Leistung nahe an DRAM.
Wie CRAM komprimierten Speicher zugänglich halten soll
CRAM lagert die Kompression an Hardware aus. Anders als bei einem Zugriff, der erst eine ganze Speicherseite wiederherstellen muss, soll der komprimierte Speicher laut der vorgestellten Beschreibung weiterhin byte- und cachelineweise zugänglich sein. Eine Cacheline ist eine zusammenhängende Speichereinheit, die der Prozessor zwischen Arbeitsspeicher und Cache bewegt.
Die Daten können demnach in Seitentabellen abgebildet und im Page Cache geführt werden. Beim Lesen soll weder ein Page Fault ausgelöst noch eine softwareseitige Dekompression nötig sein. Der Ansatz zielt damit darauf, komprimierten Speicher ähnlich direkt zu adressieren wie gewöhnlichen Arbeitsspeicher.
Was die berichteten Leistungstests aussagen
Für TAOBench und FIO beschrieb Price die Leistung als nahezu DRAM-nah. Außerdem wurde CRAM mit den meisten im Kernel integrierten Dateisystemen auf Page-Cache-Korrektheit getestet.
Bei reinen Lesezugriffen lag CRAM den präsentierten Ergebnissen zufolge auf DRAM-Niveau. Eine Folie nannte für die gezeigten Schreibtests den 5- bis 37-fachen Durchsatz von ZRAM. Sie stellte dafür Schreiblasten mit schiefer Zipf-Verteilung (0,99) sowie gleichverteilte Zufallszugriffe dar. In der Lesegrafik waren die angezeigten Zswap-Werte von einem Reclaim-Stall betroffen.
Welche Linux-Speicherfunktionen CRAM berührt
Für den Dienst sind mehrere Bereiche der Linux-Speicherverwaltung relevant: anonymer Speicher, der Page Cache, Reclaim und Demotion, Speicher-Ballooning, die Meldung freier Speicherseiten, Speicher-Tiering sowie eine kontrollierte NUMA-Zuweisung. Reclaim und Demotion bezeichnen hier das Zurückgewinnen und Verlagern von Speicherseiten.
Laut der Vortragszusammenfassung waren alle bis auf eine der benötigten Kernel-Funktionen bereits vorhanden oder früher einmal vorhanden. Diese Funktionen bilden den Unterbau; sie sind nicht mit dem getesteten Dienst mm/cram.c gleichzusetzen.