Cavium ThunderX2评估:Arm Server的梦想成真(第1部分,简介)

不到两年前,我们探索了首款Arm SoC服务器,理论上它可以与Intel Xeon E5s-Cavium ThunderX竞争。 SoC服务器展示了所宣布的一切,但是,由于低单线程性能和优化能源特性方面的困难,因此48核SoC被分配到利基市场。 结果,第一台Cavium SoC服务器再也无法与英特尔的Xeon竞争。



但是Cavium并没有因为明显的原因而放弃:目前,服务器市场比以往任何时候都更具吸引力。 全球巨头英特尔的数据中心每年带来约200亿美元的收入。 此外,利润率为50%。 在利润和资金周转方面,服务器市场比任何其他设备市场大很多倍。 因此,在启动ThunderX之后,Cavium承诺发布第二个迭代:改进的电源管理,改进的单线程性能以及更多的内核(54)。

Cavium无法发挥的作用是,如果用户需要服务器,那么他只能购买经过调试且可靠的英特尔计算机。 的确,过去5年中Arm,Calxeda,Broadcom,AppliedMicro的巨大希望仍然是希望,这引起了严重的怀疑和不信任浪潮,并且出现了新的SoC Arm Server。

不过,外来者Cavium的新创造值得关注。 进行了许多更改,不仅在名称上添加了数字“ 2”:Cavium购买了Avago的Vulcan设计。 Vulcan是一个雄心勃勃的处理器设计,最初是由Arm服务器SoC Broadcom团队开发的,并且比原始的ThunderX具有更大的遗产。 此外,基于其在ThunderX方面的经验,Cavium能够对Vulcan设计进行一些微体系结构改进,从而改善其性能和功能。

结果,ThunderX2“证明”是比前一代更精致的核心。 ThunderX内核的流水线非常短,不可能每个周期承受2条指令,但是Vulcan内核设计用于8次提取,每个周期最多执行4条指令。 甚至更多:所有4个流(SMT4)可以同时处于活动状态,从而提供恒定的后端负载。 新的ThunderX2 SoC32具有32个此类内核,频率最高可达2.5 GHz。



该CPU最多具有128个线程和至少八个DDR4控制器,在所有服务器负载中均应表现良好。 换句话说,与ThunderX(1)不同,ThunderX2是第一个Arm服务器处理器,并且很有可能动摇服务器市场的平衡。

谁有更多:规格


一个封装中的32个高级IPC内核似乎很有希望。 但是,与AMD,高通和英特尔产品相比,新款ThunderX2的外观如何? 在下表中,我们比较了几种高端服务器SKU的规格。



经验丰富的读者会立即注意到,英特尔处理器产品线中的佼佼者是至强铂金8180。但是,此SKU的205 W TDP和价格高于10,000美元,通常无法与列表中的任何处理器相提并论。 我们几乎已经越过了理智的界限,包括8176,在我们看来,它根据内核/线程块的最大SKU的参数落入该列表。 实际上,Cavium将Cavium 9980定位为与Xeon Platinum 8164“可比”(英特尔扮演8176),但频率略低。

但是,就美元的性能而言,Cavium将其旗舰产品9980与Intel Xeon Gold 6148进行了比较,在这种情况下,Cavium处理器的价格看起来很吸引人。 根据测试结果,最快的ThunderX2比Xeon 6148快30-40%,而Cavium的报价便宜1300美元。 如此激进的定价解释了有传言称,高通公司将不会进入服务器市场。

上表中的数据显示了竞争对手之间的重要差异。 英特尔似乎拥有最先进的核心拓扑和最高的Turbo速度。 同时,就每瓦性能而言,高通公司看起来更具吸引力。



像AMD的EPYC一样,Cavium的ThunderX2可能会在高性能计算市场上大放异彩(吞吐量提高33%,内核/线程更高)。 与AMD的设计一样,如果您需要的数据不在本地8 MB缓存槽中,则EPYC L3缓存速度很慢。 ThunderX2更加复杂-具有类似于Xeon v4环形体系结构(Broadwell-EP)的双环形体系结构。 根据Cavium的信息,他们的环形无阻塞架构能够提供高达6 TB / s的吞吐量。

此环形体系结构连接到Cavium的一致性处理器互连(CCPI2-在图的顶部),该互连以600 Gbit / s的速度运行。 此连接连接两个套接字/ NUMA节点。 56个PCIe 3.0 SoC通道连接到环网,Cavium已将其放置在14个PCIe控制器中。 这14个控制器可以依次分支到x4或x1,如下所示。



加上它支持SR-IOV,这对于I / O虚拟化(Xen和KVM)非常重要。

ThunderX:从简单到复杂


简短的通报。 最初的ThunderX是Octeon III的改进版本:CPU能够通过两个短流水线同时执行两个指令(双核内核)。



原始ThunderX设计的一个优点是其高能源效率,尤其是对于具有低ILP(指令级并行性)的工作负载而言。 当然,如此短的传送带对提高时钟频率构成了严重限制,简单的设计设计可确保在中等和较高的ILP负载下具有低单线程性能,而更高级的乱序处理器则可以提取尽可能多的“隐藏并行性”。 ”。

Cavium的“新”核心:火神




与原始的ThunderX相比,Vulcan ThunderX2的核心是完全不同的野兽。 Broadcom在2014年宣布,Vulcan是一个相对较大的内核,它控制4个并发线程(SMT4)。 因此,即使在处理具有低ILP的服务器负载时,后端也应负载良好。

为了确保4个SMT流的稳定性,ThunderX2前端可以从8路32 KB关联指令缓存中提取多达64个字节,该缓存配有一个简单的“下一行”预取器。 但是,只有在这64个字节中没有分支时,才可以选择8个命令。 否则,选择会在分叉处中断。

这意味着在密集分支代码(数据库,AI ...)中,由于5条指令之一是分支,因此提取程序每个周期平均接收±5条指令。 然后将选定的指令发送到平滑缓冲区,该缓冲区中存储了存储的指令以供解码。



然后,解码器将处理4条指令。 在解码器和重命名阶段之间,每个流都有一个“滑动缓冲区”,由8个数据包组成。 使用4个线程,可以随时最多缓冲32个数据包(128条指令)。

这4条指令(数据包)沿着管道移动,直到调度程序到达单个消息队列为止。 与Intel的Loop Stream Detector(像小型缓存一样工作)一样,它也具有循环缓冲区和预测器。 该循环缓冲区消除了错误的分支预测,并包含已解码的μop,从而“缩短”了流水线并减少了用于解码的能量。

一次最多可以执行6条指令。 该实现包括2个ALU / FP / NEON插槽,1个ALU /抽头插槽,2个加载/存储插槽(16个字节)和1个将16个字节发送到D缓存的净存储插槽。 从虚拟地址到物理地址的延迟为零的L1 TLB很小(Cavium不会透露多少)。 L1 D1高速缓存没有硬件预取器,但是L2 D2高速缓存具有相当复杂的硬件预取器,可以识别模式(它可以逐步工作或检索下一行)。

这足以“馈送”后端,后端可以从4个不同线程的每个周期支持4条指令。

微架构的差异


Cavium发布了有关ThunderX2内核的有限信息。 下面总结了各种处理器体系结构的一些关键功能。



详细的分析超出了本文的范围。 但是您可以阅读Johan De Gelas在AnandTech中对Falkor,Skylake和Zen的体系结构的分析。 我们将自己局限于最明显的差异。

很明显,英特尔的单线程性能仍然是无与伦比的:Skylake内核是实时执行大多数指令的内核,最重要的是,它以更高的时钟速度运行。 ThunderX2的核心不同之处在于,每个周期最多提取一条指令,能够持续支持4个线程。 提取程序将从一个线程捕获8个团队,然后从第二个线程捕获8个团队,并将继续在线程之间循环。 这意味着不良的预测会大大降低单个线程的性能。

ThunderX2 SKU:16至32核


用于测试的SKU是ThunderX2 CN9980 2.2。 这是高端SKU,包含32个核心,频率为2.2 GHz,能够提升到2.5 GHz。



如果您相信Cavium的计划,那么在未来几个月中,将会有更多的SKU。 Cavium声称CN9980即将以2.5 GHz的频率提供频率,并以高达3 GHz的速度提供。

Cavium列出了所有计划的SKU以及可比较的Intel SKU。 按照Cavium的定义,可比的Intel SKU是一种芯片,它在gcc下达到与Cavium的SKU相同的SPECInRate(2017)。



Cavium认为,我们获得的CN9880 2.2可以与价格昂贵得多的8164相提并论。在我们的测试中,我们将其与8176(可提供给我们的英特尔SKU)进行了比较。 没关系:8176的时钟速度仅比3164高3%,并且具有2个附加内核(+ 7%)。但是,请注意,尽管ThunderX2 Cavium确实可以与所示的Intel SKU竞争,以三分之一的英特尔SKU成本提供相同的性能。

在下一部分中:

  • 测试配置和方法
  • 内存子系统:带宽
  • 单线程性能:SPEC CPU2006
  • SPEC CPU2006 Cont:具有SMT的基于内核的性能

感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们, 为我们为您发明的入门级服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

戴尔R730xd便宜2倍?在荷兰和美国,我们有2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN413885/


All Articles