×
首页 › 首页 › IT数码› 软件和游戏 ›查看内容
发表文章
分享

Meta 展示 CRAM 内存压缩方案:只读性能接近原生 DRAM,探索替代 ZRAM

发布者: IT007编辑01| 2026-10-8 12:13| 查看: 91| 评论: 0|原作者: 问舟|来自: IT之家

摘要: 该方案压缩数据仍保留内存属性,可直接读取解压,纯只读场景性能远超 ZRAM,目前仍是原型方案,仍在研发讨论中。

10 月 8 日消息,Meta 工程师在 10 月 5 日于捷克布拉格举行的 Linux Plumbers Conference 2026(LPC 2026)上展示了名为 CRAM(Compressed RAM)的实验性内存压缩方案。


该方案的目标并非简单替代 ZRAM 或 zswap,而是让压缩后的数据继续以“内存”的形式存在,从而避免传统 Swap 路径中的软件开销。LPC 官方资料显示,CRAM 已经完成实际测试,在 TAOBench 和 FIO 基准测试中可以达到接近原生 DRAM 的性能。


Meta 展示 CRAM 内存压缩方案:只读性能接近原生 DRAM,探索替代 ZRAM


众所周知,目前 Linux 常见的内存压缩方案包括 ZRAM 和 zswap。ZRAM 会在内存中创建压缩块设备,内核需要按照 Swap 路径处理其中的数据;而 CRAM 的设计则不同,压缩数据仍可保持页表映射和页缓存状态,并支持 Cacheline 及 Byte 级访问,因此读取数据时无需像传统方案一样通过缺页异常触发软件解压流程。LPC 官方介绍称,这也是 CRAM 区别于 ZRAM、zswap 的关键特征。


CRAM 的核心思路是将硬件压缩后的内存作为一种特殊的 NUMA 内存提供给 Linux,而不是模拟成块存储设备。


LPC 资料显示,CRAM 会使用一个严格控制的私有 NUMA 节点,让内核能够继续使用现有的内存管理机制,包括内存迁移、回收、降级、内存气球机制、空闲页报告以及 NUMA 内存均衡等。


这一设计针对的是传统内存压缩方案中的软件路径开销。对于只读数据,CRAM 可以直接从压缩内存中读取,而无需先将数据换入普通内存再解压。在这种模式下,CRAM 的表现可以接近原生 DRAM 水平。


Meta 展示 CRAM 内存压缩方案:只读性能接近原生 DRAM,探索替代 ZRAM


根据此次演示披露的测试数据,在纯读取场景下,CRAM 最差情况下可达到每秒约 4.89 亿次操作,而 ZRAM 约为每秒 110 万次操作。按照这组数据计算,两者差距约为 444 倍,并非 452 倍,因此官方“提升 452 倍”的说法可能需要在理想环境中才能实现。


当工作负载包含写入操作时,CRAM 的优势会明显收窄。由于压缩数据无法直接在原位置进行修改,写入时需要通过缺页处理将对应 Folio 迁移回原生 NUMA 节点,再完成修改。


即便如此,素材所述最差情况下 CRAM 仍达到 ZRAM 约 5.4 倍的性能,但这一数字同样应理解为特定基准测试结果,而非通用性能结论。


Meta 展示 CRAM 内存压缩方案:只读性能接近原生 DRAM,探索替代 ZRAM


LPC 官方资料显示,CRAM 目前仍属于经过测试的内核服务原型,并非已经进入 Linux 主线的成熟功能。


Meta 工程师 Gregory Price 介绍称,实现 CRAM 所需的大部分 Linux 内核基础机制已经存在,目前需要进一步解决的是如何让这种“实际容量与物理容量不一致”的内存设备符合 Linux 现有的内存模型。


我们提醒:目前 CRAM 仍处于研发和社区讨论阶段,尚不能视为即将进入 Linux 主线的正式功能。Meta 此次公开的重点是探索如何利用现有 Linux 内存管理机制支持这种新型压缩内存,而非宣布一项已经完成标准化或商业化部署的产品。

AI 解读

CRAM 强在只读,写入是代价

  • CRAM 让压缩数据保留页表映射和页缓存,读取时无需缺页异常触发解压,这是它区别于 ZRAM 的关键。
  • 纯读取场景下 CRAM 最差约每秒 4.89 亿次操作,ZRAM 约 110 万次,差距约 444 倍,官方 452 倍说法可能需理想环境。
  • 写入时压缩数据无法原地修改,需把 Folio 迁回原生 NUMA 节点再改,优势收窄到约 5.4 倍。
  • CRAM 仍是内核服务原型,未进入 Linux 主线,Meta 公开重点是探索现有内存管理机制如何支持它。


CRAM 的思路是把硬件压缩后的内存做成一个私有 NUMA 节点交给 Linux,而不是模拟成块设备。这样内核现有的内存迁移、回收、降级、气球机制和 NUMA 均衡都能继续用,省掉了传统 Swap 路径里的软件开销。对只读数据,它能直接从压缩内存里读,所以性能接近原生 DRAM。


但写入是硬伤。压缩数据不能原地改,必须迁回原生节点再写,优势就掉到约 5.4 倍。而且这个数字来自特定基准测试,不是通用结论。目前 CRAM 只是经过测试的原型,没有价格、没有上市时间,也还没进 Linux 主线。


对普通用户来说,这项技术短期内不会出现在你手里的设备上。它更像是在为未来内存紧张的场景探路,重点在只读数据,写入场景的代价还需要继续解决。


CRAM 的看点是只读接近原生 DRAM,写入仍是短板,离落地还早。

以上内容由 AI 依据原文补充生成,不代表本站观点,仅供参考。

本文导航

最新评论(0)
IT007 APP下载
扫码下载 IT007 App