天天看点

存储器展望

作者:王树一

(本文编译自Semiconductor Engineering)

Semiconductor Engineering与Cadence产品管理集团总监Frank Ferro、Rambus杰出发明家Steven Woo、西门子EDA存储器技术专家Jongsin Yun、是德科技内存解决方案项目经理Randy White,以及Arteris负责解决方案和业务发展的副总裁Frank Schirrmeister讨论了片外存储器对功耗和散热的影响,以及如何优化性能的论题进行了讨论,以下是部分内容,以飧读者。

SE:CXL和UCIe将如何在未来的存储器中发挥作用,特别是考虑到数据传输成本?

White:UCIe主要实现的目标是互操作性,同时降低成本和提高良率。因此,从一开始,我们可以通过UCIe获得更好的总体指标,这不仅会针对存储器进行转换,还有其他的IP块。在CXL方面,随着许多不同的体系结构的出现,它们更适用于人工智能和机器学习领域,CXL将在管理和最小化成本方面发挥作用。总体拥有成本始终是JEDEC的首要指标,功耗和性能是次要指标。CXL基本上针对分解的、异构计算体系结构进行了优化,减少了过度工程化,并围绕延迟问题进行了设计。

Schirrmeister:以芯片上的网络为例,比如AXI、CHI或OCP,它们都是芯片上的连接协议。然而,当脱离晶圆或芯片时,PCIe和CXL是接口协议。CXL有各种使用模型,包括对不同零部件之间一致性的一些理解。在Open Compute Project论坛上,当谈论CXL时,都是关于存储器相关的使用模型。UCIe始终是芯片和芯片连接的选项之一。在存储器环境中,UCIe可以在小芯片环境中使用,在该环境中,有一个启动器和一个目标,该目标具有附加的内存。UCIe及其延迟在如何进行连接和如何构建架构以及时获取数据方面发挥着重要作用。AI/ML体系结构非常依赖于数据的输入和输出。我们还没有弄清楚内存墙,所以从系统的角度来看,必须从架构整体上考虑将数据保存在哪里。

Woo:最难的挑战之一是数据集变得越来越大,因此,CXL可以帮助解决的问题之一是能够在节点本身添加更多内存。这些处理器的核心数量越来越多。每个核心又都希望拥有一定的自有内存容量。除此之外,数据集越来越大,因此每个节点需要更多的内存容量。现在使用的模型又非常繁多。而且我们看到人们在多个节点之间传递数据和进行计算,尤其是在人工智能应用中,需要在许多不同处理器上训练大模型。CXL和UCIe等协议提供了帮助处理器灵活更改访问数据方式的途径。这两种技术都将使程序员能够灵活地实现和访问跨多个节点的数据共享,这种方式对他们来说最具意义,同时也解决了内存墙以及电源和延迟问题。

Ferro: 从存储池方面对CXL的阐述已有很多。从更实际的成本水平来看,由于数据中心的服务器和机箱的大小,尽管可以在那里集成更多的内存,但这也是一个成本负担。利用现有的基础架构并在进入CXL 3.0时具备继续扩展的能力对于免受这些过时存储场景的影响变得非常重要,因为在这些场景中,处理器无法访问内存。CXL还增加了另一层内存,因此无需再使用存储/SSD,这也能将延迟降至最低。至于UCIe,有了高带宽存储器和非常昂贵的2.5D结构,UCIe可能是一种帮助分离这些结构并降低成本的方法。例如,如果一个大处理器——GPU或CPU——想要把存储器尽可能地离它近一些,比如高带宽内存,就必须在硅中介层或一些中介层技术上预留相当大的面积,这将提高整个系统的成本,因为必须有一个硅中介层来容纳CPU、DRAM和可能需要的任何其它零部件。有了小芯片,可以将内存放在其自己的2.5D上,然后可以把处理器放在更便宜的基板上,然后通过UCIe进行连接。这是一个可以降低成本的使用模型。

Yun: 在IEDM上,进行了大量关于人工智能和不同存储类型的讨论。人工智能的处理参数一直在快速增长,在不到五年的时间里增长了约40倍。因此,人工智能需要处理大量的数据。然而,DRAM的性能和板内通信并没有达到那么大的提升,每两年只有1.5到2倍的提升,这远远低于人工智能增长的实际需求。这是我们试图改善存储器和芯片之间通信的一个例子。内存的数据供应与人工智能计算能力的数据需求之间存在巨大差距,这一问题仍需解决。

SE:存储器将怎样帮助我们解决功耗和散热问题?

White: 功耗是存储器面临的问题。数据中心50%的成本来自存储器,无论是I/O还是刷新管理和冷却维护。我们谈论的是易失性存储器,特别是DRAM。正如我们所讨论的,数据量越来越大,工作量越来越多,处理速度也需越来越快,这一切都意味着更高的能耗。随着规模的不断扩大,许多举措被用来支持不断增加的核心数量所需的带宽,功耗也相应地增加了。在这一过程中,我们玩了一些小手段,包括减少电压摆动,可改善I/O平方函数的电源轨。我们也正在努力提高内存刷新管理的效率,使用更多的Bank Group,这也提高了整体的吞吐量。几年前,一位客户找到我们,想让JEDEC做一个重大改变,根据温度范围规定存储器。LPDDR的范围更广,温度分类也不同,但在大多数情况下,我们谈论的都是商用DDR,因为它具有容量优势,而且它是数据中心最常用的存储器。该客户想向JEDEC提出,如果我们能将DRAM的工作温度提高五度——尽管我们知道这样刷新率也会随着温度的升高而增加——这将反过来实现减少每年三个燃煤发电厂的发电需求。因此,在设备层面上所做的事情转化为全球范围内、发电厂层面的宏观变化。此外,在相当长的一段时间里,在系统架构级别上,存储器设计中存在过度供应的问题。我们推出了PMIC(电源管理IC),因此电压调节是在模块级别完成的。我们有内置温度传感器,所以系统不需要监测机箱内的温度。现在有了特定的模块和设备温度和散热管理,使其更加高效。

Schirrmeister: 如果DRAM是一个人,它肯定会被社会孤立,因为别人都不想和它说话。尽管它很重要,但没有人愿意和它说话——或者尽可能少地和它说话,因为这涉及到延迟和功耗的成本。例如,在AI/ML架构中,大家都希望避免增加大量成本,这也是为什么每个人都在问数据是否可以存储在本地或以不同的方式四处移动。我是否可以系统地安排我的体系结构,以便计算时能够在正确时间接收数据?这就是为什么存储器很重要,因为它拥有所有的数据。但是,当您对延迟进行优化时,您也需要对功耗进行优化。从系统的角度来看,您实际上希望最大限度地减少访问。这对NoC的数据传输体系结构有着非常有趣的影响,比如人们想随身携带数据,将数据保存在各种本地缓存中,并在设计他们的体系结构时,最大限度地减少对DRAM的访问。

Ferro: 当我们审视不同的人工智能架构时,大多数人的第一个目标就是尽可能多地在本地进行保存,甚至完全避免DRAM。有些公司将此作为他们的价值主张。如果不必在芯片外进行存储,就可以在功耗和性能上获得数量级的提升。我们已经讨论了数据模型的大小,它们会越来越大,越来越笨重,很可能还不是很实用。但你在芯片上做得越多,你就越能节省功耗。即使是HBM的概念,其意图也是进行更广泛和更缓慢的存储。如果观察前几代的HBM,他们的DDR速度大约是3.2GB。现在它们已经达到了6GB,但对于一个非常宽的DRAM来说仍然相对较慢,这一代他们甚至将I/O电压降低到0.4,以试图降低I/O。如果能让DRAM的运行慢一点,也可以节省功耗。现在要采用存储器,把它放在离处理器很近的地方。那么,在更小的区域内会有更大的热足迹。我们或许改善了某些方面,但在其他方面却面临更艰巨的挑战性。

Schirrmeister:基于Frank的观点,IBM的North Pole人工智能架构就是一个有趣的例子。如果从能效的角度来看,大多数存储器基本上都是片上存储器,但这不适用于每种情况。从本质上讲,这是一种极端的情况,让我们尽可能少地进行破坏,尽可能多地提供片上存储器。IBM的研究表明这是可行的。

Woo: 当考虑采用DRAM时,必须要具有策略性。必须仔细考虑存储层次结构中位于上方的SRAM和位于下方的磁盘层次结构之间的相互作用。对于存储层次结构中的任何一个元素,如果可以避免的话,都不想移动大量数据。当确实需要移动它时,就需要确保尽可能多地使用这些数据来分摊开销。存储行业一直以来都非常善于应对一些关键需求。如果观察低功耗DRAM和HBM等产品的演变,它们都是由因为对标准存储器不满足某些性能参数(如功耗)而推动的。人们正在谈论的一些前进道路,特别是在人工智能成为一个大驱动因素的情况下,它们不仅可以提高性能,还可以提高电源效率——例如,尝试将DRAM直接堆叠在处理器上,这将有助于提高性能和功耗。展望未来,存储行业将通过关注架构的变化来进行演变,不仅是像低功耗路线图这样的增量变化,还有其它更大的变化。

SE:除了上述我们已经讨论的,存储器还能以其它方式帮助解决延迟问题吗?

White:我们正在增加计算,这将解决边缘计算的许多需求。此外,CXL具有的一个明显优势是,目前我们可以将指针而非数据传递到内存地址,这样更高效,同时也能减少总体延迟。

Schirrmeister: 还有一个功耗问题。CXL、CHI、PCIe——所有这些器件都必须一起集成在芯片上和芯片间,尤其是在小芯片环境中。想象一下,在后台,数据通过AXI或CHI在芯片上传递,现在突然要从一个小芯片到另一个小芯片传递数据,就不得不开始进行转换。从功耗的角度来看,这是有影响的。每个人都在谈论构建一个开放的小芯片生态系统,并在不同的玩家之间进行转换。为了实现这一点,就需要确保不必一直进行转换。这让我想起了以前,有五种不同视频格式,三种不同的音频格式的时候,都需要进行转换。我们都希望避免这样的情况,以增加能耗和延迟。从NoC的角度来看,如果试图从内存中读取数据,并且需要在某个地方插入一个块,因为需要通过UCIe到另一个芯片来获得连接到另一芯片的内存,这会增加时间周期。正因为如此,架构师的作用越来越重要。从延迟和低功耗的角度来看,我们都希望避免转换。这只是一扇没有添加任何内容的大门,如果每个人都具备同样的语言就好了。

END

继续阅读