亚马逊服务器芯片详解,性价比吊打竞争对手

自亚马逊发布其第一代基于GravitonArm的处理器内核以来已经一年半了,它在AWSEC2中作为所谓的“A1”实例公开提供。尽管该处理器在性能上并没有给人留下深刻的印象,但这释放了他们未来几年的信号和跨出了第一步。

今年,亚马逊在加倍努力,在去年12月宣布了新的Graviton2处理器,他们计划在未来几个月内公开EC2。在最新一代处理器上,他们采用了Arm的新型NeoverseN1CPU微体系结构和网状互连,这是我们在一年多前详细介绍的面向基础架构的组合平台。该平台是对先前基于Arm的服务器尝试的一次重大突破,Amazon的目标无非是领先竞争地位。

亚马逊为云服务设计定制SoC的努力始于年,当时该公司收购了以色列的初创公司AnnapurnaLabs。Annapurna以前曾致力于以网络为中心的ArmSoC,这些SoC主要用于NAS设备等产品。在亚马逊的领导下,该团队的任务是创建定制的Arm服务器级芯片,而新的Graviton2是他们的首次重磅尝试。

那么,Graviton2是什么?它是一款64核单片服务器芯片设计,使用了Arm的新NeoverseN1内核(移动Cortex-A76内核的微体系结构派生产品)以及Arm的CMN-网格互连。这是一个非常简单的设计,基本上与该公司一年前提出的Arm的64核参考N1平台几乎相同。但亚马逊也确实为其带来了一些差异,例如Graviton2的CPU内核的时钟频率较低,为2.5GHz,并且仅将32MB而不是64MB的L3高速缓存包含到网状互连中。该系统由8通道DDR-存储器控制器支持,并且SoC支持64个PCIe4通道用于I/O。它是N1平台的相对教科书般设计实现,在TSMC的7nm工艺节点上制造。

Graviton2的潜力当然是由新的N1内核实现的。我们已经看到了Cortex-A76在去年的移动系统级芯片上的惊人表现,N1微架构有望带来更好的性能和服务器级功能,所有同时保持Arm公司产品在移动领域取得成功的关键——高能源效率。N1内核保持非常纤薄和高效,在Graviton2中实现1MBL2缓存,预计只用到1.4mm的硅空间,并且在亚马逊新芯片到达的2.5GHz频率下,每个内核具有约1W的出色电源效率。。

尽管我们能够在云端测试新芯片组,但该公司仍在为此其设计的某些方面的神秘。为此在我们的文章中,Amazon不太愿意透露SoC的总功耗。Arm预计64核2.6GHz实施的功耗约为W,以及Ampere最近披露的其80核3GHzN1服务器芯片的功耗为W,考虑到该芯片的时钟频率更为保守,我们估计Graviton2必须在估计值低至80瓦之间,而悲观的投影则介于瓦之间。

使用EC2在云中进行测试

鉴于Amazon的Graviton2是专门为满足亚马逊需求而设计的垂直集成产品,因此我们有必要在其预期的环境中测试新芯片组(除此之外,它还无法以其他任何方式使用!)。在过去的几周中,我们已经获得了对AmazonWebServices(AWS)弹性计算云(EC2)新的基于Graviton2的“m6g”实例的预览访问权限。

对于不熟悉云计算的读者来说,从本质上讲,这意味着我们已经在Amazon的数据中心中部署了虚拟机,该服务以Amazon闻名于世,现在已占该公司收入的主要份额,为一些最大的互联网服务提供了动力。

决定此类实例功能的重要指标是其类型(本质上决定了底层硬件所采用的CPU体系结构和微体系结构)以及可能的子类型。在Amazon的情况下,这是指专门用于特殊用例的平台的变体,例如具有更好的计算功能或具有更高的内存容量功能。

在今天的测试中,我们可以访问专为通用工作负载设计的“m6g”实例。“6”的命名是代表亚马逊第六代EC2硬件,带有Graviton2的产品是目前唯一使用这个名称的平台。

在vCPU中定义实例吞吐量

除了实例类型之外,定义实例功能的最重要的其他指标是其vCPU数量。“虚拟CPU”本质上是指虚拟机可用的逻辑CPU内核。亚马逊提供的实例数量从1个vCPU到最多个,在最受欢迎的平台中最常见的实例有2、4、8、16、32、48、64和96。

Graviton2是不带SMT的单路64核平台,这意味着最大可用vCPU实例大小为64。

但是,这也意味着,在谈论SMT附带的平台时,我们在比较中有点像苹果和橘子的难题。当谈论64个vCPU实例(在EC2语言中为“16xlarge”)时,这意味着对于Graviton2实例,我们将获得64个物理核心,而对于AMD或Intel系统,我们将仅获得32个具有SMT的物理核心。我敢肯定会有一些读者会考虑这种比较“不公平”,但是就交付吞吐量而言,这也是亚马逊的定位,最重要的是,不同实例类型之间的等效定价。

今日比赛

今天的文章将重点介绍Graviton2的两个主要竞争对手:AMDEPYC(Zen1)驱动的m5a实例和IntelXeonPlatinumCL(CascadeLake)驱动的m5n实例。在撰写本文时,这些是两个x86现有人员可用的最强大的实例,并且应提供最有趣的比较数据。

需要注意的是,我们很希望能够在此比较中包含基于AMDEPYC2Rome(c5a/c5ad)的实例;亚马逊宣布他们去年11月一直在进行此类部署,但可惜该公司不愿意与我们分享预览访问权限(给出的一个原因是RomeC型实例与Graviton2的M型相比不是一个很好的比较)实例,尽管这实际上没有任何技术意义)。随着这些实例越来越接近预览可用性,我们将在另一篇文章中进行研究,以补充竞争格局中这一重要难题。

将Graviton2m6g实例与AMDm5a和Intelm5n实例进行比较,我们发现为VM提供支持的硬件功能存在一些差异。同样,最臭名昭著的区别是,Graviton2附带的物理核计数与已部署的vCPU数目相匹配,而竞争对手也将SMT逻辑核也视为vCPU。

在谈论更高vCPU数量的实例时,其他方面是您可以接收跨越多个套接字的VM。由于EPYC有32个内核,所以AMD的m5a.16xlarge仍能够在单个插槽上部署VM,但是英特尔的至强系统在这里使用了两个插槽,因为EC2中目前没有部署英特尔的硬件,但它可以在一个插槽中提供所需的vCPU数量。

EPYC和XeonPlatinumCL都是未公开发售的零件,甚至都未在任何一家公司的SKU列表中列出,因此它们是Amazon等用于数据中心部署的自定义零件。

AMD部件是基于32核Zen1的单插槽解决方案(至少对于我们测试中的16xlarge实例而言),在轻线程环境中,时钟频率为2.5GHz,最高可达2.9GHz。该系统的特殊性在于它受到AMD的四芯片MCM系统的一定限制,该系统具有四个NUMA节点(每个芯片一个和2通道内存控制器),这一特性已在基于EPYC2Zen2的较新系统中消除。我们没有具体的数据确认,但我们怀疑这是根据SKU编号的W部件。

英特尔至强铂金CL基于较新的CascadeLake世代CPU内核。此特定部分也特定于Amazon,每个插槽包含24个启用的核心。为了达到16倍大的64个vCPU数量,EC2为我们提供了双插槽系统,每个插槽上实例化了24个内核中的16个。同样,我们对此事没有任何确认,但这些部件的每个插座的额定功率应为W,或总计W。我们必须提醒自己,尽管我们确实可以访问系统的全部内存带宽和缓存,但在我们的实例中我们只使用了66%的系统内核。

这里的缓存配置特别有趣,因为平台之间的情况相差很大。实际CPU本身的专用缓存相对来说是不言自明的,并且Graviton2在这三者中确实提供了最大的缓存容量,但在其他方面与Xeon平台相同。如果我们按线程划分可用缓存,则Graviton2能做1.5MB,领先于EPYC的1.25MB和Xeon的1.05MB。Graviton2和Xeon系统具有明显的优势,即它们的最后一级缓存在整个插槽中共享,而AMD的L3仅在4核CCX模块之间共享。

在具有实际多个进程的并行处理工作负载中,系统之间的NUMA差异并不重要,但是它将对多线程以及单线程性能产生影响,并且Graviton2的统一内存体系结构将在一些场景。

最后,实例之间的定价存在很大差异。Graviton2系统的价格为每小时2.46美元,在价格上领先于AMD系统,并且比基于Xeon实例的每小时3.80美元的价格便宜得多。尽管在谈论价格时,我们必须记住,交付的实际价值也将极大地取决于系统的性能和吞吐量,我们将在本文的后面部分对此进行详细介绍。

我们感谢亚马逊为我们提供了对m6gGraviton2实例的预览访问。除了为我们提供访问权限之外,Amazon或任何其他提及的公司都对我们的测试方法产生了影响,我们自己为EC2实例测试时间付费。

CPU芯片拓扑

解释了各种云实例的硬件配置可能会发生很大变化,即使在纸上它们具有相同的交付“vCPU”数量,将更多地


转载请注明:http://www.aierlanlan.com/grrz/5499.html