AMD chiplet对于核心数有限制吗?

发布于 2021-10-13 08:21



我们



在最近召开的Hot Chips会议上,AMD就其最新Zen 3微架构做了一次演讲,这次演讲包含了一个之前没有披露过的信息,该信息对于AMD的增长战略非常重要。

 

在讨论这个重要信息之前,我们先来了解连接两个元素(如CPU/CPU core或GPU)有哪些不同方法。

 

连接方法:Ring, Mesh, Crossbar, All-to-All

 

对于两个元素,最简单的方法是直接连接。同样对于三个元素,每个元素都可以直接连接到另一元素。 

     

当元素数量增长到四个时,开始有了不同的选择。它们可以以一种all-to-all的结构排列,也可以排列成一个环(ring)。

两者之间的区别体现在延迟、带宽和功耗等方面。

 

在右侧all-to-all连接的情况下,每两个元素之间都可以直接连接,实现最大连接带宽和最低延迟;然而,由于每个元素都有三个连接,功耗是比较大的。对比之下,环形互联每个元素只有两个连接,功耗相对较低,但是因为两个元素之间的距离不再是常数,根据数据的路线不同会导致延迟和带宽的变化。

 

对于环形互联,我们还需要考虑它是否只能单向发送数据,还是双向都可以。

现在几乎所有环形设计都是双向的(本文后续假设所有环都是双向的)。英特尔某些CPU有两个双向环,以两倍功耗来换取双倍带宽,其中一个环可以在带宽够用的情况下“关闭”以节省功耗。

 

考虑这两个四元素设计的最佳方法是比较连接的数量和到其他元素的平均跳数:

  • 4元素all-to-all:3个连接,平均跳数为1;

  • 4元素双向环  :2个连接,平均跳数为1.3。

 

下面让我们把元素数量提升到6个:

这里,带宽和功耗之间的平衡更为极端:

  • 6元素all-to-all:5个连接,平均跳数为1;

  • 6元素双向环  :2个连接,平均跳数为1.8。

 

我们可以无限扩展上面两种连接方式,但是在现代CPU设计中,如果不断增加功耗去维护all-to-all设计,那么在性能上会大打折扣。对于环形互联,我们还要考虑到在设计中可能会有其他元素——如英特尔台式机CPU采用环形互联,它会把DRAM控制器,IO和集成GPU放在环上,所以一个8核设计不仅仅是一个8元素环:

上面是一个简单的模型,包括DRAM和集成GPU。其实英特尔并没有披露参与环形互联的所有元素,但是通过测试,我们可以看到环跳的平均延迟。

 

事实上,英特尔已经开发出一种架构,将8个元素不以单环方式连接在一起,也不是all-to-all连接,而是如下图所示让每个元素都有3个连接。这里以有限功耗为代价来提高带宽、减少延迟:

这类似于取一个立方体的八个角,在相对的两个侧面上创建环形连接,然后在正交的面上执行交替的连接策略。即每个元素都与三个元素直接相连,与其他所有元素都是两跳之遥:

  • 8元素TwistedHypercube:3个连接,平均跳数为1.57。

 

在下一代Sapphire Rapids中,英特尔为每个CPU提供4个连接,平均跳数为1.43。

 

如果一个环形连接中超过10个元素,在现代核心架构中会因为延迟出现问题。除了延迟之外,更多的核心通常意味着需要更多的带宽,最终会给环形总线施加越来越大的压力。英特尔和其他大型单芯片人工智能公司通过二维网格(mesh)来解决这个问题。

网格设计牺牲了一些元素连接,以获得更好的延迟和连通性。在数据流拥挤的情况下,数据可以通过多条路径到达目的地。

 

二维网格在布局上是最简单。但是当使用到芯片堆叠技术时,我们需要利用三维技术,在这个方向其实已经做了很多工作。下面有一个例子,说明为什么网状网络在插入层实现时使用ButterDonut是个最优选择(此选项平均跳数最小)。

还可以选择采用交叉开关矩阵(Crossbar)。Crossbar是一种仅为单个连接实现有效全连接拓扑的连接方法;根据不同的带宽、延迟和功率需求,可以分为多种不同的Crossbar形式。

 

当不同芯片需要连接起来时,可能需要一个插入器,或通过PCB来实现;在相同封装内通常需要一个外部Crossbar来简化连接。例如,NVIDIA允许8个Tesla GPU通过NVSwitch以一种all-to-all方式连接,NVSwitch实际上就是一个Crossbar。

 

下图是一个切换Crossbar的示意图,它充当一个内部网格,管理数据流向。

虽然Crossbar连接下每个元素看起来只有“一个”连接,但是带宽可能是直接连接的两到三倍。这意味着Crossbar下每个元素有一个以上的有效连接,而且在必要情况下可以享有成倍带宽。

 

AMD为何受限?

 

当AMD从Zen 2转移到Zen 3时,增加了CCX(核心复合体)内的核心数量。在Zen 2中,一个8核的chiplet有两个4核CCX,每个CCX都连接到主IO芯片;但在Zen 3中,一个CCX增长到8核,并且每个chiplet仍然是8核。

 

当每个CCX有四个核心时,很容易实现一个全连接的四核拓扑。现在每个CCX有8个核心,自发布以来,AMD一直不愿公开告知这些核心是如何连接在一起的。在发布会上,当被问及Zen 3八核CCX的核心是否完全连接时,AMD的总体态度是“没有完全连接,但已经足够接近了”。这意味着这种连接介于环形连接和all-to-all设计之间,且更接近后者。

 

在Hot Chips大会上,AMD的Zen 3首席架构师Mark Evers展示了下面这张幻灯片:

鉴于AMD之前对拓扑结构的遮遮掩掩,看到如此清晰的表述让人有点震惊。同样令人震惊的是,在这次演讲中还披露了一些新的内容。

 

每个CCX超过8核会怎样?

 

AMD一直在缓慢增加其处理器的核心数,通常有两种方法:更多的chiplet或每个chiplet包含更多核心。本文我们主要考虑后者,即每个chiplet有更多核心。

 

前面我们讨论了环形连接如何以延迟和带宽为代价来换取较低功耗,以及环形连接成为明显限制之前可以放置的元素数量。例如,英特尔的10核处理器使用双环连接,但它最多在一个环中添加了12个核(Broadwell服务器系列的处理器最终使用了双12核环)。注意,由于有额外功能,每个环上不止12个元素。

除了12个核心外,还有两个用于环对环连接,一个用于DRAM,一个用于芯片间连接,还有一个用于PCIe接口;即每个环都有17个元素。在这之后,英特尔开始使用网络拓扑(mesh)连接。

 

再看AMD:如果AMD的Zen 3每个CCX的内核数量从8个增加到12个或16个。用环形连接来实现,看起来不是很明智。

 

AMD的替代方案是简单将CCX的数量增加一倍。就像Zen 2一样,它有两个4核,未来的产品可能会有两个8核,这将很容易扩展到16核芯片。

 

值得注意的是,AMD的下一代服务器平台Genoa预计将拥有比AMD当前64核更多的内核。这64个核是8个chiplet,每个chiplet有一个8核CCX。据透露,Genoa只是增加了更多的chiplet,然而这一策略不能无限扩展。

 

此外,考虑到AMD的IO芯片是EPYC。它实际上是一个Crossbar,所有的chiplet都是连接在一起的,然而AMD的IO芯片本身就是一个环形Crossbar设计。

事实上,这个环形连接要复杂一些:

AMD的IO芯片是一个大的外圈,上面有八个元素,有些元素在环上有额外连接。它可以被认为是一个网格,或者是一个等分环,如下图所示:

对于等分环,每个元素的连接数和平均延迟存在不均匀——有些元素有两个连接,有些元素有三个。还有一点要注意,一个等分环可以有一个、两个或更多的内部连接。

 

AMD的Zen3 8核CCX真的是一个环形连接吗?

 

AMD透露,它的八核CCX结构是一个双向环。如果是这样的话,AMD将很难在每个CCX 8核基础上继续增加核心数。它可以很容易地通过增加CCX数量来增加每个chiplet的核心数,但除此之外,需要找到一种连接方法来替代环形连接。

 

有测试结果显示,虽然AMD的CCX不是一个all-to-all连接,但它在延迟方面也不符合环形连接。简单地说,它不只是一个简单的环。AMD一直没有公开CCX互连的确切细节,只说是一个强化的环形连接,不难猜想这应该是一种等分环。

 

最后:超越环形连接

 

在x86领域,AMD开创了不需要太多IO的2D“CPU chiplet”,现在AMD还在推进去年宣布的垂直3D堆叠V-Cache技术。前面我们谈到了不同类型的网格互连,继续推进需要一个插入器。考虑每个chiplet下面都放一个插入器,V-Cache技术下芯片堆叠如下图所示:

插入器可以在较大的工艺节点上生产(如65nm),并将一些逻辑从核心芯片挪到插入器上,使核心芯片有更多空间可以用于更创新的设计。这里的关键问题是数据和电源所需的通道,但AMD在其需要插入器的GPU方面有着丰富经验。

 

更进一步——插入器是为多个chiplet设计的。如果一个65纳米的高产量插入器可以很容易地安装两到三个chiplet,那么只需在上面放置多个chiplet,它们就可以成为一个大chiplet,所有chiplet之间都有一个统一的缓存。AMD还表示,它的V-Cache延迟只会随着导线长度的增加而增加,因此IO芯片两侧的2 / 3 / 4片chiplet插入不会给缓存增加明显的延迟。

chiplet的出现意味着,半导体公司开始将他们的知识产权分解成单独的硅片,封装技术变得更便宜、更高产,我们将在一些开始成为瓶颈的领域看到更多的创新,比如环形互连。

原文链接:

https://www.anandtech.com/show/16930/does-an-amd-chiplet-have-a-core-count-limit


高端微信群介绍

创业投资群


AI、IOT、芯片创始人、投资人、分析师、券商

闪存群


覆盖5000多位全球华人闪存、存储芯片精英

云计算群


全闪存、软件定义存储SDS、超融合等公有云和私有云讨论

AI芯片群


讨论AI芯片和GPU、FPGA、CPU异构计算

5G群


物联网、5G芯片讨论

第三代半导体群

氮化镓、碳化硅等化合物半导体讨论

储芯片群

DRAM、NAND、3D XPoint等各类存储介质和主控讨论

汽车电子群

MCU、电源、传感器等汽车电子讨论

光电器件群

光通信、激光器、ToF、AR、VCSEL等光电器件讨论

渠道群

存储和芯片产品报价、行情、渠道、供应链

加入上述群聊


带你走进万物存储、万物智能、

万物互联信息革命新时代

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材