高性能计算中的芯片架构设计探索

描述

朝着多芯片集成和新型内存处理的演进标志着一种范式转变,其中灵活性、效率和对各种工作负载的优化变得至关重要。   亚马逊、谷歌、Meta、微软、甲骨文和Akamai等世界领先的超大规模云数据中心公司正在推出专门针对云计算的异构多核架构,这对整个芯片行业的高性能CPU开发都产生了影响。

这些芯片都不太可能进行商业销售。它们针对特定的数据类型和工作负载进行了优化,设计预算庞大,但可以通过提高性能和降低功耗来节省成本。行业的目标是在更小的面积上容纳更多的计算能力,同时降低冷却成本,而实现这一目标的最佳途径就是采用定制化架构、紧密集成的微架构和精心设计的数据流。

这一趋势始于近十年前,当时 AMD 开始采用异构架构和加速处理单元,取代了过去的同质多核 CPU 模式,但起步较慢。此后,异构架构开始兴起,紧随为移动消费设备设计的脚步,这些设备需要处理非常紧凑的占地面积以及严格的功耗和散热要求。

Quadric市场营销副总裁Steve Roddy说:“英特尔等行业巨头的单片硅几乎在每一个产品代码中都有人工智能NPU。当然,人工智能先驱英伟达长期以来一直在其大获成功的数据中心产品中混合使用 CPU、着色器(CUDA)内核和张量(Tensor)内核。未来几年转向芯片片组将巩固这一转变,因为系统购买者可以根据设计插槽的特定需求选择计算和互连类型,从而确定芯片片组的组合。”

这在很大程度上是物理学和经济学造成的。随着扩展优势的缩小,以及先进封装技术的成熟--它允许在设计中添加更多的定制功能,而过去这些功能受限于网罩尺寸--每瓦特和每美元性能的竞争已进入白热化阶段。

西门子 EDA IC 部门市场总监 Neil Hand 说:“如今,每个人都在构建自己的架构,尤其是数据中心企业,而处理器架构的很大一部分取决于工作负载的外观。与此同时,这些开发人员也在探索加速的最佳路径,因为加速的方式有很多种。你可以选择并行处理的方式,这对某些任务效果不好,但在其他任务下很有效。与此同时,应用对内存带宽的限制越来越大,因此你会发现一些高性能计算公司开始把所有精力投入在内存控制器上。还有一些公司会说:‘这实际上是一个分解问题,我们要走加速器路线,拥有独立的内核。’但我不认为存在一刀切的做法。“

Roddy指出,这些新型超级芯片内的CPU内核仍然遵循久经考验的高性能CPU设计原则:快速、深度流水线,追逐指针的效率极高,但这已不再是设计团队关注的唯一焦点。他说:”这些大型CPU现在与其他可编程引擎共享空间 — 如GPU和通用可编程NPU,用于加速AI工作负载。与大众消费设备中高度专业化的 SoC 相比,一个显著的区别是,AI 工作负载中的视频转码或矩阵加速等任务避免了硬连逻辑块(加速器)。为数据中心设计的设备需要保持可编程性,以应对各种工作负载,而不仅仅是消费类设备中的单一已知功能。“

然而,所有这些都需要更多的分析,而设计界正在继续推动流程中更多的步骤。Hand说:”无论是通过工具,还是通过仿真或虚拟原型,你都拥有了帮助了解数据的工具。此外,该行业已经发展壮大,其专业化程度足以证明所花费用的合理性。第一部分是为了降低制造新硬件的风险,因为你有工具来了解情况,就不必保守行事。现在,市场已经开始分化,因此它的重要性值得资金投入。此外,现在也有了实现这一目标的方法。过去,当英特尔推出处理器时,要想与英特尔竞争,几乎是不可能的。现在,通过生态系统、技术和其他因素的综合作用,竞争变得容易多了。对于高性能计算公司来说,最初的低悬果实是:'我们只需获得一个良好的平台,让我们可以按照自己的方式对其进行维度化,然后再放入一些加速器。所以我们开始看到人工智能加速器和视频加速器,然后一些更深奥的公司开始追求机器学习。这意味着什么?这意味着他们需要非常高的 MAC 性能。他们会将处理器架构聚焦于此,并通过这种方式让自己脱颖而出。"

再加上 RISC-V、可重复使用的芯片组和硬 IP,架构开始变得与几年前大不相同。Hand说:“如果你看看现在的数据中心和数据中心中的整个软件堆栈,在堆栈中添加一些东西并不像以前那样困难,你不必重建整个数据中心。如今变得重要的是进行系统级分析的能力,应用的系统级协同设计已变得非常重要,而且更加容易,这就是一个移动的数据中心。”

许多人认为,应该开发新的架构来克服几代 CPU 所面临的内存挑战。Fraunhofer IIS 自适应系统工程部高效电子学部门主管 Andy Heinig 说:“对 AI/ML 的需求将加速开发新的特定应用架构的进程。传统的 CPU 如果能提供更好的内存接口来解决内存问题,就能成为这场革命的一部分。如果 CPU 能够提供这种新的内存架构,那么 AI/ML 加速器就能与 CPU 一起成为数据中心的最佳解决方案。CPU 负责需要灵活性的经典任务,而加速器则为特定任务提供最佳性能。”

例如,Arm 直接与多家超大规模云供应商合作开发基于 Neoverse 的计算解决方案,以实现高性能、定制灵活性以及强大的软件和硬件生态系统。这已经产生了公开发布的芯片,如 AWS 的 Graviton 和 Nitro 处理器、谷歌的 Mt.Evans DPU、微软 Azure 的 Cobalt 100、英伟达的 Grace CPU 超级芯片以及阿里巴巴的Yitian 710。

Arm基础架构业务线产品管理高级总监Brian Jeff说:“我们从这些和其他设计合作伙伴身上学到了很多东西。我们塑造高性能 CPU 和平台开发的主要方式之一是通过对基础设施工作负载的深入了解,实现特定的架构和微架构增强,尤其是对 CPU 管线前端和 CMN 网状结构的增强。”

但捕捉到这种工作负载并为其开发芯片架构并不总是这么简单。对于AI训练和推理来说尤其如此,因为算法的改变可能会导致工作负载发生变化。

Synopsys接口IP首席产品经理Priyank Shukla表示:“目前正在训练不同的模型,例如Meta公司公开的Llama模型和Chat GPT模型。所有这些模型都有一个模式和一定数量的参数。以 GPT-3 为例,它有 1,750 亿个参数,每个参数的宽度为 2 字节,即 16 位。你需要在 2 个字节中存储这么多信息--1750 亿个参数,相当于 3500 亿字节的内存。该内存需要存储在所有共享该模型的加速器中,而该模型需要放置在加速器的结构中,参数需要放置在与该加速器相关的内存中。因此,你需要一个能接收更大模型并对其进行处理的结构。你可以以不同的方式实现该模型,即实现该算法的方式。有些工作可以串行方式进行,有些工作可以并行方式进行。以串行方式进行的工作需要与高速缓存保持一致,并将延迟降到最低。这种以串行方式进行的工作将在一个机架内进行分工,以便将延迟降到最低。以并行方式进行的工作将通过扩展网络在不同机架之间进行分配。我们看到系统人员正在创建这一模型和算法,并在定制硬件中加以实现。

cpu 图1:针对机器学习优化的服务器机架。来源:Synopsys

组装各种处理元件并非易事。Synopsys公司ASIP工具产品经理Patrick Verbist说:"它们是异构多核架构,通常是通用CPU和GPU的混合,具体取决于公司的类型,因为它们偏好其中一种。然后是具有固定功能的RTL加速器,它们与这些异构多核架构混合在一起。这些加速器运行的应用负载类型一般包括数据操作、矩阵乘法引擎、激活函数、参数压缩/解压缩、图形权重等。但所有这些应用都有一个共同点,那就是需要进行大量运算。通常,这些计算是在标准或自定义数据类型上完成的。许多处理架构都支持Int 16,但如果只需要处理16位数据,则没有必要在32位数据路径中浪费16位。对此必须进行定制。因此,加速器不仅需要支持浮点 32 数据类型,还需要支持 int 8 和/或 int 16、半精度浮点、自定义 int 或自定义浮点类型的数据类型,而功能单元、运算器通常是矢量加法器、矢量乘法器、加法器树和激活函数的组合。这些激活函数通常是指数或双曲函数、平方根、大除法等超越函数,但都是矢量化的,而且具有单周期吞吐量要求,因为每个周期都要对这些东西进行新的运算。对于这类加速器,在异构性方面,我们看到许多客户在异构空间中使用 ASIP(特定应用指令处理器)。ASIP 允许定制运算器,因此数据路径和指令集只能以比常规 DSP 更有效的方式执行有限的一组操作。”

DSP 通常不够灵活,因为它太通用了。另一方面,固定函数 RTL 可能不够灵活,这就为“是的,我们需要比固定函数 RTL 更灵活、比通用 DSP 更不灵活的东西”的需求创造了空间。如果你看一下 GPU,在某种程度上,GPU 也是通用的。它必须支持各种工作负载,但不是所有的工作负载。这就是 ASIP 的作用所在,它支持灵活性和可编程性。你需要这种灵活性来支持一系列计算算法,以适应不断变化的软件或人工智能图的要求,以及人工智能算法本身不断变化的要求。"

西门子的 Hand 认为,考虑工作负载是一项艰巨的挑战。

“为了解决这个问题,垂直整合的公司正在以这种方式投资于高性能计算,因为高性能计算并不比AI有什么不同,你只能根据你所看到的数据模式来工作,”Hand说道。“如果你是亚马逊或微软这样的公司,那么你拥有大量的追踪数据,而且不需要侵入任何数据,你知道你的机器存在哪些瓶颈。你可以利用这些信息,说‘我们发现我们得到了内存带宽,我们必须对此做些什么,或者这是一个网络带宽问题,或者这是一个AI吞吐量问题,我们在这些领域遇到了问题。’这与边缘上发生的挑战没有什么不同。边缘的目标是不同的,我们经常在思考‘我可以摆脱什么?我不需要什么?’或者‘我可以在哪里缩小功率范围?’而在数据中心,你会问,‘我如何能够通过更多的数据,并且以一种不会烧毁设备的方式来做?随着设备越来越大,我如何以可扩展的方式做到这一点?’”

Hand 认为,转向多芯片封装将推动许多有趣的发展,AMD 和英伟达等公司已经在使用这种技术。“现在,你可以开始为这些高性能计算应用提供一些有趣的即插即用组件,在很大程度上,你可以开始说,'这个应用需要什么互连芯片?这个应用的处理芯片是什么?'它提供了一个介于构建标准计算机与不做太大改动之间的中间地带。我能做什么?我可以安装不同的进程、不同的网卡、不同的 DIMM。作为云计算服务提供商,我所能做的有限。在另一端,微软和 Azure 等大型云提供商会说,’我可以构建自己的完整 SOC,做我想做的任何事情。‘ 但你现在可以在中间地带,比方说,你认为生物计算数据中心有市场,有足够多的人进入这个领域,你可以赚到一些钱。你能组装一个3D IC并使其在该环境中正常工作吗?看到会有什么样的东西出现会很有趣,因为这将降低进入门槛。我们已经看到像苹果、英特尔、AMD和Nvidia等公司正在使用它作为一种加快产品开发速度、提供更多样化而不必测试庞大芯片的方式。当你开始将它们与诸如环境的全数字孪生之类的东西结合起来时,你就可以开始理解环境中的工作负载,理解瓶颈,然后尝试不同的分区,然后推进。”

Arm 的 Jeff 还认为,数据中心芯片架构也在发生变化,以适应 AI/ML 功能。“CPU上的推理非常重要,我们看到合作伙伴正在利用我们的SVE管道和矩阵数学增强功能以及数据类型来运行推理。我们还看到,通过高速相干接口紧密耦合的人工智能加速器正在发挥作用,DPUs 正在扩展其带宽和智能,以便将节点连接在一起。"

多芯片集成是不可避免的

芯片行业非常清楚,对于许多计算密集型应用而言,单芯片解决方案已变得不现实。过去十年的最大问题是,向多芯片解决方案的转变何时才能成为主流。Synopsys 研发总监 Sutirtha Kabir 说:”整个行业正处于一个拐点,你不能再回避这个问题了。我们谈论着摩尔定律和'SysMoore',但设计人员必须在 CPU 和 GPU 中增加更多功能,而由于版图尺寸限制、产量限制等原因,他们根本无法做到这一点。多芯片在这里是不可避免的,这带来了一些有趣的考虑。首先,拿一张纸对折。这基本上就是多芯片的一个例子。你拿一块芯片,把它折叠起来,如果你能巧妙地进行设计,你就能想到可以大大缩短时序。如果你要从顶部芯片到底部芯片,你可能只经过一小部分芯片的布线,但它们大多是芯片之间的球形焊点或焊丝焊点。“

多芯片设计所面临的挑战包括:确定有多少条路径需要同步、时序应放在两个芯片之间还是单独关闭、L1 应放在顶部芯片还是底部芯片上,以及是否可以增加 L4。

Kabir解释说:"从三维角度来看布局设计变得非常有趣。你可以把一栋单层房屋改建成三层或四层,但随之而来的还有其他设计挑战。你不能再忽视散热问题了。散热曾经是PCB的事,而现在系统设计师们认为这些芯片非常热。黄仁勋(Jensen Huang)最近在 SNUG 上说,你在一端送入室温水,另一端就会出来温泉温度。他是在开玩笑,但事实是,从温度的角度来看,这些芯片确实非常热,如果你在布局设计时不考虑到这一点,你的处理器就会被烧毁。这意味着你必须更早地开始这样做这些工作。在三维布局设计方面,当涉及到工作负载时,你如何确保已经分析了多芯片的不同工作负载,并确保即使在没有电路原理图的情况下也能考虑到红外、热和时序等关键影响?我们称之为零电路图原理阶段。这些考虑因素都变得非常有趣,因为你再也无法避免做多芯片,所以从晶圆厂的角度、从 EDA 的角度,这些都是生态系统的前沿和中心,而设计人员则处于中间位置。

与数据中心芯片的散热问题相关的是低功耗设计问题。

Ansys 产品营销总监 Marc Swinnen 说:“这些数据中心耗电量巨大。我参加了旧金山 ISSCC,我们的展台就在英伟达旁边,英伟达正在展示其人工智能训练箱--一个装有八个芯片、大量风扇和散热片的大箱子。我们问它的耗电量有多大,他们说:'哦,最高时有 1 万瓦,但平均也有 6000 瓦。'功率真是越来越疯狂了。”

Arm公司的Jeff也认为,应对数据中心芯片新挑战的最佳方法是采用全系统方法,包括指令集架构、软件生态系统和特定优化、CPU微架构、互联结构、系统内存管理和中断控制,以及封装内和芯片外I/O。”完整的系统方法使我们能够与合作伙伴合作,根据现代工作负载和工艺节点定制 SoC 设计,同时利用基于芯片组的设计方法。”

这种定制芯片设计方法使数据中心运营商能够优化其功耗成本和计算效率。Jeff 说:”我们 Neoverse N 系列的高效率使每个插槽的内核数达到 128c 到 192c 甚至更高。这些相同的 N 系列产品可以在更小的空间内扩展到 DPU 和 6g L2 设计以及边缘服务器。我们的 V 系列产品面向云计算,具有更高的单线程性能和更高的矢量性能(用于人工智能推理和视频转码等工作负载),同时仍然提供高效率。加速器附件的广泛选择使我们的合作伙伴能够将定制处理和云原生计算的正确组合集成到根据其工作负载定制的SoC中。“

结论

由于高性能计算的演进性质,以及数据中心优化的不同方面,最终结果几乎无法预测。西门子的Hand说:”在网络技术爆炸式发展的初期,人们开始在数据中心内部建立南北和东西的路由,这改变了所有的网络交换架构,因为这是一大瓶颈。这导致了对数据中心的整体重新思考。类似的事情也发生在内存方面,当你开始集成光学技术和一些更智能的内存时,你会发现这将会是非常有趣的事情。”

Hand 提到了几年前的一次英特尔开发者大会,当时该公司解释了如何利用硅光子学中的表面发射光学技术将内存与数据中心机架中的存储分离开来。他说:“他们有一个统一的内存结构,可以在服务器之间共享,也可以从不同的服务器分配内存。因此,数据中心的拓扑结构开始变得非常有趣。即使在机架中,你也可以看到像NVIDIA这样的公司拥有的AI系统结构。最大的变化是,人们可以看看它,如果有市场需求,你就可以构建它。我们一直认为,架构的关键在于核心是否快速。我们从’内核快不快?’过渡到’我有足够的内核吗?’但问题远不止于此。一旦开始打破冯-诺依曼架构,开始使用不同的内存流,开始关注内存内计算,它就会变得非常酷。然后你会思考,‘高性能计算到底意味着什么?”

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分