知名媒体nextplatform表示,仍在仔细研究最近在同一时间举行的 hot interconnects、hot chips、google cloud next 和 meta networking @ scale 会议上的大量演示。他们打算采取通常的、有条理的方法来寻找有趣的部分并对我们所听到和看到的内容进行一些分析。
这一次,其将目光投向了即将重新上市的 arm ltd. 正式推出的“demeter”neoverse v2 内核。
如果 demeter 核心设计发生在五年前,或者更好的是十年前,这将是一件非常大的事情,因为对于许多想要制造 arm 服务器芯片的组织来说,设计好的核心非常困难。正如今年 hot chips 发布的“genesis”计算子系统 (css) 所示,设计一款好的处理器也许也很困难。超大规模厂商和云构建者一直想做的是针对其工作负载大量定制处理器,而不是设计处理器。大型企业有时也希望如此,并且具有特定工作负载需求的各种规模的企业类别也希望如此。
但处理器销售商(并非所有销售商都是制造商,也并非所有制造商都是销售商)无法提供大规模定制,因为每一代制造多个变体的成本非常昂贵。我们确实看到的变化实际上是关于打开和关闭一些设计中固有的功能,这是由硅片部分的良率所迫使的,因为它是通过功率门控功能人为地创建变化并收取零件费用。
demeter 核心是第一个实现 2021 年 3 月宣布的 armv9 架构的核心,是迄今为止 arm 为服务器设计的最好的核心,这就是为什么 nvidia 能够仅授权该核心和其他组件其72 核“grace”服务器 cpu,它是 nvidia 系统架构不可或缺的一部分,支持传统 hpc 仿真和建模工作负载的全 cpu 计算,并提供辅助内存和计算能力。凭借四个 128 位 sve2 矢量引擎,demeter 核心肯定会有一个强大的引擎来运行经典的 hpc 工作负载以及某些 ai 推理工作负载(那些不太胖的工作负载,可能不包括大多数llm),甚至可能是在某些情况下重新训练人工智能模型。如果设计中可能有 16 到 256 个内核,那么触发器当然可以堆叠起来。
我们只是想知道除了 nvidia 之外,还有谁会在他们的 cpu 设计中使用 demeter 核心。
aws 很可能会在其未来的 graviton4 服务器处理器中采用 v2 内核,并在其当前的 graviton3 处理器中使用“zeus”v1 内核。
目前尚不清楚谷歌在传闻中正在开发的一对定制 arm 服务器芯片中使用了什么内核——其中一个是与 marvell 合作,如果传闻属实的话,另一个是与自己的团队合作——但如果我们知道的话,我们也不会感到惊讶。其中之一是使用 v2 内核。
amperecomputing 已在其 192 核“siryn”ampereone 芯片中从 arm 的“ares”n1 内核切换为自己的内核(我们称之为 a1)。
印度高级计算发展中心 (c-dac) 正在为 hpc 工作负载构建自己的“aum”处理器,并且它基于arm的neoverse v1核心。
正如我们之前指出的,富士通、arm 和日本 riken 实验室联合为“fugaku”超级计算机使用的48 核 a64fx 处理器打造的定制 arm 内核中的 512 位向量可以被视为一种neoverse v0 核心在于 sve 设计最初是为 a64fx 创建的。
我们还想知道,除了arm在hot chips 2023上推出的n2核心芯片之外,为什么没有立即推出基于v2核心的css服务器芯片设计。为什么css设计中不能同时使用n2和v2核心呢?我们意识到一些数据中心运营商需要更多的性价比优化,并且认为他们不需要那么多向量;软件和工作负载是否正确还有待观察。
但 aws 选择 v1 和 nvidia 选择 v2 是一个非常有力的指标。amperecomputing计算 a1 核心在矢量方面更像是 n2 核心,有两个 128 位引擎,因此云上胖矢量核心的这种行为并不普遍。
v2 就像火箭
arm 于 2020 年 9 月将其 neoverse 核心和 cpu 设计分为三部分,将 v 系列高性能核心(具有双倍向量引擎)从主线 n 系列核心(专注于整数性能)中分离出来,并添加到 e 系列(入门级)重点关注能源效率和边缘的芯片。多年来,该路线图已经扩展和更新了很多次,最新的路线图(带有 n2 平台添加的 css 子系统变体)已在 hot chips 上展示:
我们在我们熟悉的核心和平台代号中添加了它们,因为我们喜欢同义词。
arm 院士兼首席 cpu 架构师 magnus bruce 在 hot chips 上介绍了 v2 平台,谈论了该架构以及与 zeus v1 平台相比的变化。这张图表很好地总结了这一点:
“这个管道的基础是一个提前运行分支预测器,这个分支预测器充当指令预取器,它将提取与分支分离,”bruce解释道。“大型分支预测结构可以覆盖非常大的现实服务器工作负载。我们使用在发出后读取的物理寄存器文件,允许非常大的发出队列,而无需存储数据的负担。这是解锁 ilp [指令级并行性]。我们使用低延迟和私有 l2 缓存、低延迟 l1 和私有 l2 缓存以及最先进的预取算法和积极的存储到加载转发,以保持内核的气泡和停顿最少( bubbles and stalls)。系统的动态反馈机制允许内核调节攻击性并主动防止系统拥塞。这些基本概念使我们能够扩大机器的宽度和深度,同时保持快速错误预测恢复所需的短管道。”
重要的是,这是一个 armv9 实现,它旨在颠覆该架构,与十多年来定义 arm 芯片的多代 armv8 架构相比,它带来了性能、安全性和可扩展性增强。
v2 芯片的架构调整很微妙,但显然很有效。但同样明显的是,13% 的性能提升距离 arm 早在 2019 年设定的每时钟指令数 (ipc) 30% 的提升目标还有很长的路要走:
无论如何,这里是对 v2 核心的分支预测器和获取单元以及 l1 缓存的深入分析:
正如您所看到的,v1 核心的很多功能都转移到了 v2 核心,但 v2 核心也有一些更新。许多队列、表和带宽都增加了一倍,但微操作缓存实际上在转向 v2 设计时减少了。根据使用芯片模拟器为 v1 和 v2 建模的 spec cpu 2017 整数基准,对 v2 内核的调整使每个时钟指令增加了约 2.9%。
值得一提的是,v1 内核在解码和指令分派方面的一些微架构优点直接传递到 v2 内核,但解码器通道和队列有所提升。总体效果是 ipc 提高了 2.9%,这也是通过 spec cpu 2017 整数测试来衡量的。(ipc 通常是使用混合测试来计算的,而不仅仅是 spec cpu 评级。但这就是我们得到的。)
借助 v2 内核,arm 架构师又添加了两个单周期算术逻辑单元 (alu),并增加了问题队列的大小,并将谓词运算符的带宽加倍,这些调整加上其他一些调整,又增加了 3.3%核心性能在 2.8 ghz 下归一化。
与 v1 核心一样,v2 核心有两个加载/存储管道和一个加载管道,但表后备缓冲区 (tlb) 上的条目增加了 — 从 40 个条目增加到 48 个条目 — 并且各种存储和读取队列也增加了变得更大。
这一变化和其他变化使 v2 核心性能又增加了 3%。
arm 架构师通过硬件预取数据的变化获得了最大的性能提升:
“neoverse v1 已经具备了最先进的预取功能,”bruce 解释道,我们将让他带您了解预取增强功能的低级解释。深吸一口气。。。。“通过对 l1 和 l2 misses进行多引擎训练并预取到 l1 和 l2 缓存中,我们的预取器通常使用虚拟地址来允许页面交叉(page crossing),这使得它们也可以充当 tlb 预取。预取器使用来自互连的动态反馈以及 cpu 内部的准确性和及时性测量来调节其主动性。
v2 建立在 v1 硬件的基础上,改进了训练,通过更好的过滤和训练操作提高准确性,并在更多预取器中使用程序计数器以实现更好的关联和更好地防止混叠。还添加了新的预取引擎。l2 获得了全局空间内存流引擎,增加了它可以覆盖的预取器的偏移范围,并且比旧的标准 sms 引擎有了很大的改进。我们添加了一个采样间接预取器( sampling indirect prefetcher),用于处理指针解除引用场景。
这不是数据预测,而是学习数据消耗模式作为其他负载的指针。我们还添加了一个表遍历预取器(table walk prefetcher),可以将页表条目预取(page table entries)到二级缓存中。现在,所有这些添加的预取器及其攻击性都会造成系统拥塞。特别是在系统级缓存dram等共享资源上。我们为需求和预取提供差异化的 qos 级别。这使我们能够进行积极的预取,而不会影响需求请求的加载延迟。
动态预取动态反馈将预取器的攻击性调节到可持续的水平。这些变化加起来使规格管理器增加了 5.3%,但更重要的是,我们同时看到 slc 缺失减少了 8.2%,因此我们可以用更少的 dram 流量获得更高的性能。”
以下是二级缓存如何发挥其魔力:
二级缓存加倍对性能来说并没有太大变化,但系统级缓存misses的减少确实间接提高了性能。
以下是 ipc 的总和:
这些是加法效应,而不是乘法效应,v2 核心的整数性能提高了 13%——这也是经过建模的,而且这只是使用 spec cpu 2017 整数测试——同时将系统级缓存缺失减少了 10.5%总体百分比。
每当新的核心或芯片问世时,该核心或芯片都会根据性能、功耗和面积的相互作用进行分级。以下是 v1 和 v2 核心的堆叠方式:
采用 7 纳米工艺实现的 v1 核心面积为 2.5 平方毫米,二级缓存为 1 mb,功耗约为 1.2 瓦。v2 核心的面积稍小一些,l2 缓存是 2 mb 的两倍,功耗提高了 17%。这些比较均以 2.8 ghz 时钟速度进行标准化。
当然,v2 不仅仅是一个核心,而是一个可以授权的平台规范:
借助 cmn-700 互连,arm 被许可人可以构建可扩展至 256 个内核和 512 mb 系统级缓存的 v2 cpu,该互连可在所有内核、内存和内存中提供 4 tb/秒的横截面带宽。位于网格上的 i/o 控制器。
v2 核心的很多演示都集中在整数方面,但在演讲的问答中,bruce 确实说了一些关于矢量性能的有趣内容。v1 核心有一对 256 位 sve1 矢量引擎,但 v2 核心有四个 128 位 sve2 矢量引擎。正如布鲁斯所说,这样做是因为将混合精度数学分散到四个单元比尝试分散到两个单元更容易(而且我们认为更有效)。
但正如我们所说,除了 nvidia 和可能的 aws 之外,谁将获得 v2 核心的许可?也许任何打算使用 v2 的人都已经在进行自定义设计,因此没有理由制作 css 变体?
N沟道MOSFET延长便携设备电池寿命
你知道IPhone的语音小姐姐为什么叫“Siri”吗?
BF16浮点格式 加快AI深度学习
小型商用机器人,如何做到小而强?
360N5明日发布:最具性价比的手机!猛料爆不停
Arm最强处理器架构技术解析
隔水式恒温培养箱的产品特点是怎样的
TWS耳机ENC降噪-Beamforming指向性增强技术
预计到2020年 家电服务市场规模将超万亿元
工程师人生:电路设计是门艺术 住实验室是常事
如何检测零线和地线是否相通
锐龙5 3500处理器曝光 售价约合人民币917元
软银一名前员工因泄露5G商业机密被捕
2017工业物联网现状解析,企业又该如何布局
智慧生活从传感器开始,软硬结合打造最佳应用系统
智慧联通遇见未来 带你领略5G黑科技
我们将学习调制技术的基础知识
驾驶舱和ADAS功能在软件定义汽车中的集成
IBM为什么要在医疗保健领域采用人工智能技术
家用太阳能板储能电池的应用领域介绍