非易失内存 - 总结篇

谨以此告别前半段研究生生涯。

该说点什么呢

整理无味,搁置可惜。

这个题目起的有些大了,实际上聚焦于讨论非易失内存的页面迁移算法。死课题,炒冷饭,加之学业以外的糟心事情,现在回想,没有轻舟已过万重山的如释重负,只觉荒唐。

附件自取。覆盖面较全了,只是不够详细。

有一论文,屡投不中。以后大概也会扔进附件里。

聊聊专业

行文至此,还是讲讲 NVM 吧。

为什么死了

聊聊我的看法。NVM 主打一个 memory 的名字,但当前的内存体系结构里根本没有「非易失」这一层,导致要么做 memory 牺牲持久性,要么做纯 storage,无非在内存映射时占点便宜。但你又不是一天没事干就在那 I/O,做 storage 和现有介质相比没有显著优势。

以 Optane 为例,是可以配置成好几个模式,比如做 storage 时可以作为块设备或字节设备 (驱动意义上),做 memory 时则和一般内存条没有太大区别,除了不能配进一个 NUMA 节点。容量和持久性对 memory 不可得兼。当然,配进 NUMA 后与原本的 DRAM 节点形成快慢内存,可以去炒另一个概念 Multi-Tiered Memory,但是这个方向又有另一个正主 CXL,地位尴尬。

最后,如果只当成 memory,则所谓大容量和单位成本低只能是画饼,要先大规模应用才有资格去谈,至少 Optane 活着那几年是一点不便宜。英特尔自己也在逐步转向 CXL。AI 时代看来,CXL 也快死了,也许工业界根本不需要什么 Emerging Memory Architecture。

关于存算

关于近存 / 存内计算。最初的模拟存算也是借着非易失存储介质 (MRAM,ReRAM) 火起来,本意是为解决冯诺伊曼架构下内存和带宽 roofline 而存在,具体可以看我另一篇文章。然而 NVM 尚不成熟,模拟存算又始终无法满足精度要求,转向数字存算又面临器件 - 电路 - 架构研究的脱节,几拨人各做各的事,文章从集成电路水到体系结构。

目前看来,CIM / PIM 面临与 NVM 相同的困境,无法完美融入生态,只能作为现有架构的补充。

附件

Page Migration.zip | 下载不了时自己去 url 框里打一遍链接