对内存的重新思考
Semiconductor Engineering 与 Cadence 产品管理部门集团总监 Frank Ferro 讨论了日益异构的系统中内存的发展之路。参与讨论的还有:Rambus 的研究员和杰出发明家 Steven Woo;西门子 EDA 的内存技术专家 Jongsin Yun;是德科技内存解决方案项目经理 Randy White;以及 Arteris 解决方案和业务发展副总裁 Frank Schirrmeister。以下是这次谈话的摘录。
本文引用地址://www.cazqn.com/article/202402/455474.htmSE:在我们努力处理 AI/ML 和能源需求时,哪些配置需要重新思考?我们是否会看到从冯诺依曼结构向其他结构的转变?
Woo:关于系统架构,业界正在发生分歧。我们在基于 x86 的服务器上运行的传统应用程序负载着主要的工作,还不会消失。已经建立和发展了几十年的软件依赖于该架构才能发挥良好的性能。相比之下,AI/ML 属于一个新的类别。人们已经重新思考了架构,并构建了非常特定于领域的处理器。我们看到大约三分之二的能量用于处理器与 HBM(High Bandwidth Memory,高带宽存储器)之间移动数据,而仅有约三分之一的能量消耗在实际访问 DRAM 核心的数据位上。如今,数据迁移变得更具挑战性且成本更高。我们不会摆脱内存。随着数据集的不断扩大,我们需要内存。因此,问题是,「未来正确的发展方向是什么?」关于堆叠有很多讨论。如果我们将存储器直接放在处理器的顶部,它会完成两件事。首先,今天的带宽受限于芯片外围或边缘,那是 I/O(输入输出)的位置。但是,如果将存储器直接堆叠在处理器顶部,现在您可以将芯片的整个区域用于分布式互连,并且可以获得更多存储器本身的带宽,它可以直接输入到处理器中,链路变得更短了,功率效率可能提高 5 倍至 6 倍。其次,由于更多区域阵列互连到存储器,可获得的带宽也会提高数倍。将这两者结合起来可以提供更多带宽并提高功率效率。行业的发展需要满足各种需求,这肯定是未来我们会看到存储系统开始发展的方式之一,以使其变得更节能并提供更多带宽。
Ferro:当我大约在 2016 年开始研究 HBM 时,一些思想先进的客户询问是否可以将其堆叠。他们已经研究了一段时间如何在顶部堆叠 DRAM,因为这样具有明显的优势。从物理层来看,PHY 基本上可以忽略不计,这可以节省大量的能源和效率。但是现在,在顶部有存储器的处理器功率已经达到几百瓦。存储器无法承受热量。它可能是热链中最薄弱的环节,这又带来了另一个挑战。虽然有一定的好处,但仍然需要找出如何处理热量的问题。现在有更多动力推动这种新架构的发展,因为它在性能和功耗方面确实节省了总体成本,并提高了计算效率。但是还有一些物理设计挑战需要解决。正如 Steve 所说,「我们看到了各种各样的新架构」。我完全同意 GPU/CPU 架构不会消失,并且仍将占据主导地位。与此同时,全球每个公司都试图为他们的 AI 找到更好的方案。我们看到了片上 SRAM 和 HBM 的组合。如今,LPDDR 在数据中心中的应用日渐增多,原因是功耗问题。我们甚至看到 GDDR 被用于一些 AI 推理应用,以及其他所有的旧内存系统。现在他们试图尽可能在一个指定面积内挤压 DDR5。我已经看过你能想到的所有架构,无论是 DDR、HBM、GDDR 还是其他架构。这取决于你的处理器核心,你的整体附加值是多少,然后如何突破你特定的架构。与之相关的内存系统,这样你就可以根据可用的内容设计出 CPU 和存储器架构。
Yun:另一个问题是非易失性。例如,如果 AI 必须处理物联网(IoT)基础设施中运行的 AI 的电力间隔问题,那么我们就需要不断地关闭和启动电源,所有这些用于 AI 训练的信息都需要反复传输。如果我们有某种解决方案可以将这些权重数据存储到芯片中,我们就不必总是为相同的权重进行来回调整,那么它将为特别是基于物联网的 AI 节省大量的电力。还会有其他解决方案来帮助满足这些电力需求。
Schirrmeister:从 NoC(片上网络)的角度来看,我觉得非常有趣的是,你必须优化从处理器通过 NoC 访问存储器接口的路径,处理器可能通过 UCIe 将一个小芯片传递给另一个小芯片,这个小芯片中包含存储器。冯诺依曼架构并非已经消失。但现在有很多不同的变体,取决于你想计算的工作负载。它们需要在内存的背景下进行考虑,而这只是一个方面。数据在 DRAM 中如何安排?我们正在处理所有这些问题,比如存储器的性能分析,然后优化系统架构。这激发了很多新架构的创新,这是我在大学学习冯诺依曼架构时从未想过的。在另一端的极端,你会看到类似于网格的东西。现在有更多的架构需要在其中进行考虑,这是由存储器带宽、计算能力等不以相同速度增长所驱动的。
White:有一种趋势涉及到分解计算或分布式计算,这意味着架构师需要具备更多的工具。内存层次结构已经扩展了,语义也被纳入考虑,还有 CXL(Compute Express Link)和不同的混合存储器,这些混合存储器可用于闪存和 DRAM 中。数据中心的一个并行应用是汽车行业。汽车一直具有传感器计算和 ECU(电子控制单元)。我对它是如何演变到数据中心感到非常好奇。快进到今天,我们有分布式计算节点,称为域控制器。这与以往相同。它试图解决这样一个问题,即由于计算机的规模没有那么大,功率可能不是一个大问题,但延迟对于汽车来说肯定是一个大问题。ADAS(高级驾驶辅助系统)需要超高带宽,你会遇到不同的需要权衡的问题。你会有更多的机械传感器,但在数据中心有类似的限制。你可以拥有不需要低延迟的冷存储,还有其他高带宽应用。看到架构师的工具和选择是如何发展的,这确实令人着迷。行业在应对这些问题方面做得非常好,我们所有人都提供各种解决方案以满足市场需求。
SE:内存设计工具是如何发展的?
Schirrmeister:当我在 90 年代开始做我的第一批芯片时,最常用的系统工具是 Excel。从那时开始,我一直希望它能在某一点上系统级、内存、带宽分析等方面有所突破。这对我的团队影响很大。那时候这是非常先进的东西。但是,正如 Randy 所说,现在某些复杂的事物需要以之前在计算机上不可能实现的保真度进行模拟。举一个例子,DRAM 访问的某个延迟可能导致错误的架构决策,并可能错误地设计片上数据传输架构。从另一方面看也是这样的。如果你总是假设最坏的情况,那么你将过度设计架构。让工具执行 DRAM 和性能分析,并为控制器提供合适的模型,可以让架构师模拟所有这些,这是一个令人着迷的环境。我从 90 年代就希望 Excel 作为一个系统级工具在某一天会失效,这个梦想可能会成真,因为某些动态效果你无法再在 Excel 中实现,你需要模拟它们,特别是当您引入具有 PHY 特性的芯片间接口时,以及其他链路层特性,比如检查数据是否都正确并可能重新发送数据。不进行这些模拟将导致次优的架构。
Ferro:我们进行的大多数评估的第一步是提供内存测试台,让他们开始检查 DRAM 的效率。即使是执行像运行本地工具进行 DRAM 仿真的简单操作(但接下来会进入全面的仿真模拟),这也是一个巨大的步骤。我们发现越来越多的客户要求进行这种类型的仿真。确保 DRAM 效率保持在 90% 以上是任何评估的非常重要的第一步。
Woo:全系统仿真工具兴起的部分原因是,DRAM 变得越来越复杂。现在,使用 Excel 等简单工具处理一些复杂的工作负载非常困难。如果你回顾 90 年代 DRAM 的数据表,可以发现那些数据表只有 40 页左右。现在,它们有数百页。这说明了为了获得高带宽输出,设备的复杂性急剧上升。再加上内存在系统成本方面是驱动力,以及与处理器性能相关的带宽和延迟。内存也是功耗的一个重要驱动因素,因此现在你需要进行更详细的仿真模拟。在工具流方面,系统架构师了解内存是一个巨大的驱动力。因此,工具需要更加复杂,并且需要与其他工具很好地配合,以便系统架构师能够获得最佳全局视角,了解正在发生的情况——特别是内存如何影响系统。
Yun:随着我们进入 AI 时代,使用了很多多核系统,但我们不知道哪些数据放在哪里。芯片也越来越与其并行。内存的大小要大得多。如果我们使用 ChatGPT 类型的 AI,那么模型的数据处理需要大约 350MB 的数据,仅作为权重就是大量的数据,实际的输入/输出则更大得多。所需数据量的增加意味着有很多我们以前没见过的概率效应。观察与这大量内存相关的所有错误是一项极具挑战性的测试。ECC(纠错码)已广泛应用,甚至在 SRAM(静态随机存取存储器)中也应用了 ECC,尽管传统上 SRAM 并未使用 ECC,但现在在大型系统中非常常见。测试所有这些非常具有挑战性,并需要由 EDA 解决方案提供支持,以测试所有这些不同的条件。
SE:工程团队日常面临哪些挑战?
White:在任何一天,你都会发现我在实验室。我卷起袖子,弄脏双手,戳线,焊接等等。我经常思考关于硅后验证的问题。我们讨论了早期模拟和片上工具——BiST(内建自检)等。归根结底,在出货前,我们要进行某种形式的系统验证或设备级测试。我们讨论如何克服内存墙。我们将内存、HBM 等进行了共同定位。回顾封装技术的演变,我们从铅封装开始。它们不能很好地保证信号完整性。几十年后,我们转向优化信号完整性,如球栅阵列(BGAs)。但我们无法访问它,这意味着无法对其进行测试。因此,我们提出了一种称为设备中介层(BGA 中介层)的概念,并允许我们在特殊夹具之间进行信号的层叠和外接。然后我们可以将其连接到测试设备。快进到今天,现在我们有了 HBM 和芯片。对于硅中介层之间的夹具,该如何层叠安装?我们无法做到,这确实是一个难题。这是一个让我彻夜难眠的挑战。当 OEM 或系统客户不能获得 90% 的效率时,如何在现场进行故障分析?链路中存在更多的错误,它们无法正确初始化,训练无法正常进行。这是系统完整性问题吗?
Schirrmeister:与其去实验室,你难道不更愿意在家使用虚拟界面完成这些工作吗?解决方案难道不是将更多分析技术构建到芯片中吗?通过芯片,我们将所有组件进一步集成在一起。将焊接铁放在这个地方并不现实,因此需要一种片上分析的方法。我们在 NoC 上也面临着同样的问题。人们查看 NoC,你发送数据后它们就消失了。我们需要将分析添加到其中,以便人们可以进行调试,并将这种分析扩展到制造水平,这样你最终就可以在家中通过芯片分析方法完成所有工作。
Ferro:尤其是在有高带宽存储器的情况下,你无法从物理上进入其中。当我们授权 PHY 时,我们还会提供一个与之搭配的产品,以便你可以关注其中的每一位数据(共 1024 位)。你可以用该工具开始读取和写入 DRAM,而无需在物理上进入其中。我喜欢中介层的想法。在测试过程中,我们确实从中介层中引出了一些引脚,但在系统中无法实现。进入这些 3D 系统确实具有挑战性。即使从设计工具流程的角度来看,似乎大多数公司都在很多 2.5D 工具上进行自己单独的流程。我们正在开始用一种更标准化的方式来构建一个 2.5D 系统,从信号完整性、功率到整个流程。
White:随着事物进入芯片内部,我希望我们仍能保持同样等级的准确性。我是 UCIe 格式合规小组的成员。我正在研究如何刻画一个可靠的优质芯片。最终,这需要更多的时间,但我们将在测试所需的性能和准确性以及固有的灵活性之间找到一个平衡点。
Schirrmeister:如果我考虑小芯片及其在更开放的生产环境中的应用,测试是使其正常工作的最大挑战之一。如果我有一家大公司并且我可以控制所有方面,那么我可以适当限制事物以使测试等变得可行。如果我想要遵循 UCIe 的口号,即 UCI 距离 PCI 只有一个字母之遥,我可以设想,从制造角度看,未来 UCIe 组件将变得像今天 PC 上的 PCI 插槽一样,那么测试方面确实具有很大的挑战性。我们需要找到解决方案。我们还有很多工作要做。
评论