AMD用AI把一半内存换成闪存,称性能留99%

示意图:内存条与闪存间的接力光线,象征 AMD 提前调回数据、减少内存用量

AMD 开始推销一套叫 Mext 的软件:在 Epyc 服务器上用 NVMe 闪存顶替一部分 DRAM,靠 AI 模型预测哪些内存页马上要用,抢在操作系统和应用察觉之前把它们搬回内存。AMD 的说法是,一半 DRAM 换成闪存后,部分负载仍能保留最高 99% 的性能,企业服务器成本最多可降 83%。

Mext 原本是一家独立公司,AMD 在今年 6 月收购了这项技术。Mext 前 CEO Gary Smerdon 现任 AMD 业务拓展副总裁,他在接受 The Register 采访时说,软件目前已部署在首批 145 台系统上,按他的估算,客户已经省下约 500 万美元的 DRAM 采购。

老办法 swap 为什么没人敢开

服务器里”被占用”的内存,很多时候并没有在用。Smerdon 引用 Meta 的一篇研究称,50% 到 80% 的内存页在五分钟、十分钟甚至更久的时间里都没被访问过。他的原话是:“五分钟对 Epyc 来说就是永恒。”

把冷页挪到便宜介质上,思路和操作系统的 swap、Windows 的页面文件一样。麻烦在速度:按 Smerdon 给的数字,闪存每比特比 DRAM 便宜约 50 倍、功耗低约 30 倍,但慢约 500 倍。传统 swap 等程序要用某一页时才去硬盘里取,延迟一下子拉高,服务等级协议也跟着失守,所以运维一般能关就关。

Mext 的做法是赶在需求之前把页搬回来。“我们透明地让闪存看起来就是 DRAM。“Smerdon 这样概括。照他的例子,原本要给一台 Epyc 服务器配 2TB 内存,现在可以只买 1TB,另外 1TB 由 Mext 用闪存补上。

预测模型在 CPU 上现训现用

负责预测的主力模型是 Transformer 的衍生结构。Smerdon 的类比是:大语言模型预测下一个词,它预测下一个要用到的内存页。只要页面在被访问前已经回到 DRAM,顺序乱一点也没关系。

内存访问模式因负载而异,预训练一个通用模型不现实。Mext 的办法是拿一个 Epyc 核心在一秒之内训出初版模型,之后边跑边重训,直到预测足够准。整个过程只用 CPU,不需要 GPU,所以理论上任何 Epyc 客户都能用。

开销也在这里。The Register 指出,在虚拟化环境里,这套软件每个虚拟机要占一个核心,虚拟机越多,占掉的核心越多;容器场景是否同样如此,AMD 尚未回复该媒体的询问。

性能数字要分负载看

Smerdon 说冷页挪走后”对性能完全没有影响”,AMD 自己给出的实测数字要保守一些:

  • Synopsys PrimeTime(芯片设计用的 EDA 工具):一半内存换成闪存,性能为纯 DRAM 的 95%;DRAM 只留 25%、闪存占 75% 时,降到 80%。
  • Apache Spark:一半 DRAM 换成闪存,性能保留 99%。

EDA 软件吃内存很凶,但某一时刻实际被计算核心处理的数据往往只有几 MB,这是 Mext 最早拿它开刀的原因。后来支持范围扩到数据库和智能体推理流水线这类对延迟敏感的场景,后者的数字这次没有公布,第三方复测也还没有出现。

粗算一笔整机账

Smerdon 称,大内存服务器的成本里,内存保守估计占六到七成,超大内存机器能到八九成。按他的 2TB 例子粗算:假设内存占整机成本 70%,砍掉一半 DRAM、换上单价约为其五十分之一的闪存,不算 Mext 授权费,整机成本大约降三成多。83% 这个上限,应当对应内存占比更高、换出比例更大的配置,AMD 没有公布具体算法。

授权费目前是空白。Mext 只能跑在 AMD 硬件上,将通过 HPE 等 OEM 以授权形式随 Epyc 服务器一起卖,价格尚未公布。Linux 系统只需装一个内核驱动;AMD 另提供名为 RAM View 的工具,帮企业判断哪些机器和负载适合打开 Mext。

AI 数据中心扩建让内存持续紧缺,AMD 押的是客户愿意拿几个百分点的性能换一大截内存预算。按它的规划,现在处于第一阶段,先和 OEM 一起把机器做到”Mext ready”;第二阶段才开卖授权,并在出厂的 Epyc 机器上预装 RAM View。

参考来源:The Register 对 Gary Smerdon 的专访、CocoLoop、Meta 内存访问研究;性能比例、145 台部署量与 83% 成本降幅均为 AMD 口径。