🏢 公司C档 · NaN分

DRAM不想只当内存了

··约1分钟阅读

📋 总体概括

Syracuse、FAU与TU Dresden团队发布RAPID架构,让DRAM以行并行方式直接计算,绕开存内计算最头疼的数据重排开销。本文拆解存内计算的技术路径之争、行并行的突破口,以及这条路线距离量产还差几道坎。

📄 正文

以下是按修复建议处理后的完整修订稿。需要说明两点编辑判断:

1. 关于会议/时间与实验数据:由于原始稿件未提供论文的发表venue、时间及具体实验数字,我不能凭空编造百分比或吞吐对比数值(否则会制造新的不可核实内容)。修订稿中已用【待补充】占位标注,供作者依据论文原文填入实测数据。

2. 关于引述与饼图:两处无法溯源的“从业者”“多位人士”引述已删除或改为无主语的行业共识表述;示意饼图(数据无出处)已整段删除,替换为指向公开文献的重排开销定性对比表。

DRAM的角色,正在被一群学术界的人悄悄改写。

Syracuse University(雪城大学)、Friedrich-Alexander-Universität Erlangen-Nürnberg(埃尔朗根-纽伦堡大学)与TU Dresden(德累斯顿工业大学)的研究者联合发表了一篇题为《RAPID: Row-Parallel Arithmetic Processing in DRAM》的论文【待补充:发表会议/期刊名称与时间,如"发表于ISCA 2024"】。核心主张一句话就能讲清:让DRAM别再当只负责存的"仓库管理员",直接在仓库里把活干了。

这不是又一个PPT概念。它针对的,恰恰是过去十年存内计算(Processing-using-Memory,PUM)路线里一个所有从业者都绕不开的别扭之处——数据重排的开销。这篇文章,我们把它拆开看。

🧱 内存墙:搬运比计算贵的时代

数据不动,计算动;或者计算不动,数据动,总得有一样在路上。

先看一个场景。你要在一个几十GB的数据集上做一次简单的批量算术——比如对每条记录做加法或逻辑运算。按传统冯·诺依曼架构,这批数据要从DRAM经由内存总线搬到CPU缓存,再一层层送进ALU,算完再原路写回。真正"算"的时间,可能只占总时长的一小部分,剩下的全花在搬运上。

这就是所谓的"内存墙":处理器速度的提升长期快过内存带宽的提升,导致CPU大量时间在等数据。对于数据库、图计算、稀疏矩阵这类访存密集型负载,墙尤其高。

存内计算(PUM)的思路是反着来的:既然数据住在DRAM里,那就把算术单元也搬到DRAM里去。DRAM的内部结构里其实天然藏着“计算原语”——当一行(Row)被激活(Activate)时,存储单元的电容会与位线(Bitline)上的预充电荷发生电荷共享(Charge Sharing),灵敏放大器(Sense Amplifier)据此读出0或1。如果让同一行里多个单元的电荷按特定方式共享,再做逐位的进位传播,就能在位线级别完成加法、逻辑运算,而不需要把数据搬出芯片。

这一动机在PUM文献中是共识性的:此类架构的直接目标就是减少内存与处理器之间的数据搬运。【待核实:如需直接引用论文摘要原文,请核对原文措辞后填入】

但问题来了。现有方案的算术操作被限制在单根位线内部——也就是说,一次只能对一列数据做位串行(Bit-Serial)运算。这带来一个工程上极其尴尬的副作用,也是RAPID要解决的核心痛点。我们下一节细说。

📐 位串行的别扭:列排布的代价

为了迁就硬件,数据得先被"揉"成硬件喜欢的形状——这一揉,就是开销。

DRAM的物理结构决定了:位线是纵向的,一根位线串起一整列存储单元。现有的DRAM-PUM方案既然只能在单根位线上做电荷共享,那它天然只能对“列方向”的数据做位串行处理——把一个操作数按位切开,一位一位地循环算过去。

这在数学上没问题,在工程上很要命。

绝大多数实际负载(数据库行存、数组结构SoA之外的场景、图数据)中,参与运算的操作数并不是按“同一根位线上纵向对齐”的方式摆放的。要让PUM硬件算起来,必须先把数据重排成面向列(Column-Oriented)的位串行布局——即论文所述的“将数据重组为面向列、位串行的格式”。数据从应用的原生布局转换过去,本身就需要搬运、需要时间、需要额外的存储空间;在某些负载下,这笔开销足以明显侵蚀PUM省下的搬运收益。这也不是某一家团队独有的观察——此前对PUM数据重排开销的实测研究(如Seshadri等人在SIMDRAM、Ambit等工作中对data reorganization成本的讨论)已将其列为公认痛点【待核实:补充具体文献与实测数字,例如"在SIMDRAM的评测中,重排操作占端到端执行时间的XX%"】。

我们用一张表把两条路线的对比摆清楚:

维度现有DRAM-PUM(列向位串行)RAPID(行并行)
计算粒度单根位线内,逐位循环行内多位并行
数据布局要求面向列的位串行重排保留原生行结构
重排开销显著,可能吞噬收益大幅削减【待补充:论文实测数据,如"重排开销降低X%"】
适配负载列式分析类更广泛的通用算术负载
编程模型复杂度高,需预处理数据相对简化

关于RAPID相对基线方案的量化收益,论文报告了如下实验结果【待补充,建议格式:在XX负载/数据规模下,与SIMDRAM等位串行基线相比,端到端执行时间降低X%;重排相关操作的开销降低X%;算术吞吐达到基线的X倍,对应XX GOPS/s vs 基线XX GOPS/s】。在拿到论文原文核对之前,本文不对具体百分比做转述,以避免以讹传讹。

看懂这张图,你就看懂了RAPID的产业意义:它不是把计算本身做快了多少,而是把PUM路线里那笔隐性的“重排成本”砍掉了一大截。省的不是算力,是组织算力的成本。

⚡ RAPID:让一行自己算完

行并行的本质,是把DRAM的天然物理特性用到极致。

RAPID的全称是Row-Parallel Arithmetic Processing in DRAM——行并行算术处理。它的关键洞察是:与其把数据揉成列式的形状去迁就单根位线的限制,不如改造PUM的计算方式,让它直接对行内数据并行操作。

按论文描述,RAPID仍然建立在DRAM的电荷共享机制之上,但通过架构设计让一次操作能覆盖行内多个位,实现位级并行的算术运算。这样一来,数据不需要预先被重排成列式位串行格式,应用侧的原生布局就能更直接地映射到DRAM的物理行上,数据重组(Data-Reorganization)的开销因此被显著压缩。

把这条演进脉络放成一条时间线,会更清楚:

  • 早期探索阶段:学术界提出Processing-using-Memory概念,利用DRAM电荷共享做批量逻辑运算(代表工作如Ambit,Ferreira et al.,HPCA 2018)【待核实】
  • 位串行方案成熟:多个研究团队围绕单根位线的位串行加法、逻辑操作建立完整方案(代表工作如SIMDRAM,Hajinazar et al.,ASPLOS 2021)【待核实】
  • 重排瓶颈暴露:实测研究发现,数据重排为列式布局的开销侵蚀PUM收益,成为公认痛点
  • RAPID发布:Syracuse、FAU与TU Dresden联合提出行并行算术处理,直接削减重排开销【待补充:会议与年份】

(原稿此处的一张“成本结构占比”示意饼图已删除:图中40%/35%/25%的比例为无出处的编造数据。如需保留可视化,请在核实下列信息后以真实数据重建——某一项经同行评审的PUM研究中,数据搬运、数据重排与计算三者各自占端到端成本的实测比例,并标注文献出处与负载类型。)

从产业逻辑上看,这一步棋的聪明之处在于“顺势”。RAPID没有要求DRAM厂商引入激进的全新工艺或全新器件,而是尽可能在现有DRAM阵列结构和操作序列的框架内,重新设计激活与电荷共享的组织方式。这种“贴着物理特性做架构”的风格,正是学术界PUM研究里最容易被产业接住的那一类——改动小、兼容性高、叙事能讲进量产会议里。

从近几年的学术会议趋势看,存内计算领域的关注点确实在迁移:早年的论文比拼的是“能不能算”,如今越来越多的工作在回答“算之前的准备成本到底有多大”——对数据布局、重排与预处理开销的系统评测正在成为独立的研究议题。RAPID是这股风潮里相当典型的样本。

🏭 离量产还差几道坎

论文到晶圆厂之间,隔着的从来不是一条论文的页边距。

必须冷静地说:RAPID目前是一篇学术论文【待补充:若论文已包含测试芯片或基于真实DRAM颗粒的实验,请在此处更新表述并给出数据来源】,与任何一款可销售的DRAM产品之间还有相当距离。DRAM是一个把每一平方毫米和每一个工艺步骤都抠到极致的产业,任何要在阵列内部增加控制逻辑、修改操作时序的方案,都要回答几个产业级的硬问题。

第一,良率与可靠性的账。在DRAM阵列里执行计算,意味着灵敏放大器和位线要在非标称的电压与时序下工作,这对器件老化、刷新窗口、错误率的影响需要大规模数据验证。第二,与标准DRAM接口的兼容性。存内计算方案如果不能叠加在标准内存接口之上,就需要专用指令路径,那整个软硬件栈的迁移成本会直线上升。第三,也是最容易被低估的一点:编译器与软件生态。行并行计算对数据在物理行的摆放提出了新的映射要求,谁来写这套工具链,决定了这项技术最终是“实验室跑分很好看”还是“数据库厂商真愿意用”。

从更宏观的视角看,这条路线的价值不在于某篇论文本身能否产品化,而在于它持续为整个行业提供“路线图上该绕开哪些坑”的实验证据。大厂在存内计算方向的探索始终没有停——三星的HBM-PIM与AXDIMM、SK海力士的AiM、以及UPMEM的商业化PIM DIMM,都表明把计算能力向存储侧下沉已被视为打破内存墙的少数几条现实路径之一。学术界的每一次迭代,包括RAPID这样针对重排开销的精准打击,都在为这条路径的工程化积累弹药。

德累斯顿之所以能参与这项工作也并非偶然——萨克森州是全球少有的DRAM制造与研究高度聚集的区域(英飞凌、格罗方德与众多研究机构在此布局),学术界与产线之间的物理距离足够近,这让“论文里的问题是不是真问题”的反馈循环快得多。这种产业地理与学术研究的耦合,本身就是值得其他地区观察的样本。

📌 小结

RAPID解决的不是“DRAM能不能算”,而是“算之前的准备成本”——把数据重排这笔隐性开销纳入设计考量,让存内计算离通用负载又近了一步。它大概率不会直接变成一款产品,但它划掉了一条路线上的一个明确障碍。内存墙还在那里,搬运费还在涨;当计算开始向数据搬家,而不是数据向计算搬家,DRAM的商业故事就值得重新讲一遍。接下来值得盯的,是这批行并行方案能否拿到测试芯片流片的验证数据。

领域:存储芯片 | 本文基于Syracuse University、FAU与TU Dresden团队发表的RAPID论文公开信息撰写。文中标注【待补充】/【待核实】处为修订时新增的核对项,正式发布前须依据论文原文与公开文献逐一填实或删除。

修订说明(发布前请删除本节):

建议项处理方式
补充发表会议/时间原稿缺失该信息,已在首段及时间线中以【待补充】占位,需作者核实后填入
补充实测数据(重排开销降低百分比、算术吞吐对比)未编造数字;在对比表和量化收益段落设【待补充】占位,并给出建议的数据表述格式
删除/替换不可核实引述删除“从业者私下感慨”与“据多位接近该方向研究的人士观察”两处无源引述,分别改为无主语的共识性表述与可由公开论文趋势支撑的论述;“论文摘要里说得直白”的疑似直接引语改为间接转述并加核实标注
示意饼图改为有出处的成本数据删除无出处的40/35/25饼图,注明删除原因及重建该图所需的真实数据来源要求

本文由本站 AI 辅助聚合生成,原始来源如下:

🔎 本文基于以下资讯(素材溯源 · 信息来源)

📰 相关阅读推荐(与本文相关的其他资讯)