如果 Google 最终成为超大规模和云构建者中 X86 架构的坚定支持者,这不是很有趣吗?
亚马逊网络服务过去几年一直在推动其 Graviton 产品线,自去年 3 月以来一直在生产 Graviton2,并且仍在预览其 Graviton3 芯片,该芯片于去年 11 月推出,但尚未全面生产——这意味着与提要、速度和价格——跨 AWS 区域和数据中心。
现在,微软正在通过 Azure 云上的新实例进入游戏,同样处于预览阶段,这些实例基于 Ampere Computing 制造的 80 核“Quicksilver”Altra Arm 服务器芯片,该芯片于两年前首次亮相2020 年 6 月,多达 80 个内核以 3 GHz 的最高速度运行。尽管本周关于使用这些 Ampere Computing Altra 处理器的新 Azure D 系列和 E 系列实例引起了很多争论,但奇怪的是为什么微软一年前——甚至更早——没有提供这些,以及为什么它是也没有部署 128 核的“Mystique”Altra Max 后续产品,这些产品原定于 2020 年第四季度提供样品,并于去年秋天开始供货。对微软来说,好消息是 Mystique 处理器与它现在部署的 Quicksilver 芯片的插槽兼容,因此它可以得到它们,它可以将 Altra Max 芯片融入其供应链、服务器和它的数据中心。
我们不期望未来的“Siryn”芯片,它可能不使用 Altra 品牌,并且基于我们称之为“A1”的本土核心,因为 Ampere Computing 不了解人们需要代号和最终产品名称,所以他们可以有效地谈论正在开发和交付的技术。(一两个同义词对读者和作者来说都是一件美好的事情。)在我们去年 5 月的安培计算路线图故事中,我们指出超大规模企业和云建设者购买的是路线图,而不是单点产品,甲骨文、腾讯、阿里巴巴等公司,现在微软正在为他们的公共云购买,因为他们相信 Ampere Computing 将获得下一代芯片,我们称之为“Polaris”,在没有名字的情况下,并有一个新的 A2 内核可以启动,正如预期的那样,在 2023 年推出.
仅仅因为 Ampere Computing 推出了它并不意味着它可以立即大量出货,或者超大规模和云构建者可以立即将 100,000 台机器放到他们的云中。量产、认证和建设都需要时间,而数据中心的这些阶段性变化将需要五到十年的时间才能成为实质性的。但是我们没有理由认为 Arm 服务器芯片无法达到 Arm Holdings 很久以前设定的 20% 到 25% 的目标——前提是一切运行良好。
微软毫不掩饰其希望看到 Arm 服务器芯片在 Azure 云上代表其大量容量的愿望——2017 年开放计算峰会的一次演讲称,目标是让 Arm 服务器成为服务器计算容量的 50% ——但微软没有承诺在 Azure 的基础设施云部分上提供 Arm 服务器(与用户购买 Microsoft 软件的访问权限而不是原始容量的平台和软件云部分相反),它同样没有承诺提供 Windows Server 堆栈在 Arm 上(尽管它在内部将 Windows-on-Arm 用于托管在 Azure 上的本土应用程序)。当微软在 2017 年同一场 OCP 峰会上公布其“奥林巴斯项目”设计时,Cavium ThunderX 服务器芯片和 Qualcomm Centriq 服务器芯片都在这些服务器上进行了预览。但高通取消了 Centriq 的插头,Marvell 收购了 Cavium,一段时间后取消了 ThunderX3 的插头。这让微软不得不选择设计自己的 Arm 服务器芯片或帮助 Ampere Computing 建立自己。(我们中的许多人认为微软最终会两者兼得。)
想知道在 Azure 中部署了多少 ThunderX2 铁(我们的猜测不是很多,否则 Marvell 会继续运行),以及现在 Azure 中有多少 Ampere Computing Altra 设备(我们的猜测可能更多)。微软正在基础设施云上提供 Arm 容量——在 VM 内运行 Linux 操作系统,但据我们所知,Windows Server 不支持,但这种情况也可能发生变化——这一事实意义重大。我们需要将此视为一桩桩桩桩事,以及微软的一份声明,即它不会让 AWS 完全靠其孤独来定义数据中心中 Arm 服务器的未来。
因为这些 Quicksilver Arm 实例处于技术预览阶段,所以我们对它们的了解比我们希望的要少得多,但是一旦它们退出预览版以及 AWS Graviton3 实例退出预览版,您就可以赌比尔盖茨的最后两美元和 Jeff Bezos,我们将进行价格/性能分析,比较这两种类型的 Arm 服务器实例以及 X86 熨斗这些大型云(世界上最大的两个云)的销售情况。事实上,我们构建了电子表格来进行比较,假设现在可以使用提要、速度和价格。值得称赞的是,微软已经公布了它推出的六种 Arm 服务器实例类型和一些基本的显着特征:
首先,每个芯片有 8 个 DDR4 内存控制器,Altra CPU 可以拥有比微软配置的更多的内存。Altra CPU 还支持 NUMA 集群,以创建更大的内存地址空间和计算引擎。目前尚不清楚这些 Azure 实例是基于单插槽设计还是双插槽设计。
我们想知道的第一件事,但微软没有回答,为什么当 Altra 芯片达到 80 核时,这些实例达到 32 核和 64 核?可能是它们是单插槽服务器,并且它们位于没有 DPU 来卸载网络和存储虚拟化的系统中,因此一些内核正在运行管理程序堆栈时被烧毁。可能是 Microsoft 服务器中有一个 DPU,而 32 核和 64 核部件是 Ampere Computing 在数量和价格方面的最佳选择。不管它是什么,没有一直运行它是有原因的,它是这两种情况之一。(或者,如果在 Arm 上运行的 Hyper-V 虚拟机管理程序确实效率低下,则可能两者兼而有之。)
为了帮助了解不同 Azure Arm 服务器实例 SKU 的方式,我们汇总了这张表,其中包括按需实例的每小时成本。(现货定价也可用,但我们发现这作为跨云的通用指标不太有趣。)只是为了好玩,并让您了解运行这些实例的成本,只要物理服务器倾向于保留在超大规模和云数据中心,我们计算了三年内实例的成本。我们最终将以此作为跨云和云内价格/性能比较的基础。(如今,对于云中的服务器寿命而言,四年可能更准确。)
Azure 上的价格与虚拟 CPU 或 vCPU 的数量成线性关系,至少在此产品线中是这样。底层芯片的成本可能不会——每个实例在任何给定工作负载上的绝对性能也可能不会线性扩展。因此,不要假设价格/性能在各个实例中是恒定的。事实并非如此,正如我们去年这个时候展示的那样,AWS 与去年的 Graviton2 和 X86 实例当然也没有进行比较。
据微软称,Azure 上的 Dpsv5 系列实例旨在运行 Web 服务器、应用程序服务器、Java 和 .NET 应用程序、开源数据库以及游戏和媒体服务器。Dpsv5 实例的每个核心有 4 GB,没有本地磁盘,而 Dpdsv5 实例的每个核心有 4 GB 和随核心扩展的本地存储。Dplsv5 实例每个核心有 2 GB,Dpldsv5 实例相同,但具有本地存储。所有这四种实例类型都从 2 核扩展到 64 核。Epsv5 实例每个核心有 8 GB,但只能扩展到 32 个核心,并且 Epdsv5 实例添加了本地存储。(如果你能保持这些名字直截了当,对你有好处。)
没有本地存储的实例成本更低,并且 Microsoft 在 Azure 上提供的所有不同外部闪存存储选项都可用于这些 Arm 实例。这些实例有 2 到 8 个网络接口。微软表示,它提供“高达 40 Gb/秒”的网络连接,而且必须以某种方式为每个虚拟 NIC 提供。虚拟 NIC 的数量可能与每个虚拟 NIC 的带宽成反比,我们猜测每个物理服务器的管道只有 100 Gb/秒。但如果有两个以太网端口,它可能是 200 Gb/秒。我们会看到的。
这里有一件很重要的事情,我们已经与安培计算多次讨论过这个问题,并且从 AWS 那里听到了关于 Graviton 系列芯片的同样的话:一组具有静态时钟速度的真实内核优于一组虚拟内核在确定性性能方面具有可变的时钟速度。
使用 Ampere Computing Altra 芯片,没有同时多线程,或简称为 SMT,因此 vCPU 是实际的 CPU 内核。当谈到 Altra 时钟速度时,它们被锁定在一个速度上,并且没有这种可变的时钟速度取决于在任何给定时间使用的内核数量。云的前提是服务器以无数种方式与一百万客户进行分割,并且每个核心都保持忙碌,因此长时间超频一个或一组核心的机会不大,因为新的工作负载会现在随时来。Ampere Computing 的设计点——这是在听取了超大规模和云建设者的意见之后——是让 CPU 更具确定性。这意味着保持时钟速度恒定,而不是在内核上使用可能导致争用的虚拟线程。
请注意,并非总是如此,这也很重要。对于 HPC 工作负载,通常会关闭 SMT,因为管理虚拟线程的开销实际上会降低整体性能。对于喜欢大量线程的工作负载(例如,事务处理监视器和关系数据库),在内核缓存之间没有太多争用的情况下,可能会发疯。根据我们多年来看到的轶事证据,对于 HPC 风格的工作负载、英特尔的超线程或 HT,SMT 的实施可能会导致性能下降 10% 到 20%。另一方面,在 Power E1080 服务器中采用 IBM 的“Cumulus”Power10 处理器。一个全口径,根据 IBM 的 rPerf 基准测试(TPC-C 在线事务处理测试的 I/O 未绑定变体),240 核系统的相对性能为 2,250.8,每个核激活一个线程。随着虚拟线程的开启——每核 2 个,然后是 4 核,然后每核 8 个——性能扩展了 2 倍、2.8 倍和 3.6 倍。(那个 SMT4 跳转不如 SMT8 跳转。)
关键是,SMT 的影响是复杂的,每个使用 X86 Iron 的云都会在很多实例上打开它——我们不确定它是否通用——以提高其 vCPU 的粒度。它为他们提供了更小的切片和更多的 SKU,并且他们可以使使用中间 bin X86 CPU 的服务器看起来比实际更大。如果他们在 SMT 运行时告诉客户,那就太好了,如果他们不想要它,如果它给他们一个裸机选项,那就更好了。(许多人只是出于上述原因。)
现在,让我们谈谈性能。在宣布基于 Arm 的 Azure 实例的博客文章中,Azure 计算平台产品负责人 Paul Nash 表示:“新的 VM 系列包括通用 Dpsv5 和内存优化的 Epsv5 VM,可提供高达 50%比基于 X86 的 VM 具有更好的性价比。”
这种说法相当模糊,术语是“性价比”,因为它是一个部门,而不是一个产品。所以我们修正了上面的微软报价是准确的。
无论如何,微软的声明并没有告诉我们太多关于性能或价格/性能的具体信息。
Ampere Computing 的首席产品官 Jeff Wittich 的这一声明使球向前推进了一点:“Ampere Altra VM 的性能分别比同代同等大小的 Intel 和 AMD 实例高出 39% 和 47%。*除了是作为高性能选择,Ampere Altra 处理器非常节能,直接减少了用户的总体碳足迹。”
上面的星号导致的脚注是这样说的:“基于 est. SPEC CPU 2017 Integer Base for D16ps v5, D16s v5, D16as v5 Azure VMs running on Ubuntu 20.04 LTS andcompiled with gcc 10.2.1, -O3, -mcpu=本地人,JEMalloc”
更接近了,但仍然不令人满意。SPECrate 是 CPU 通常用来衡量的吞吐量整数测试。(有一个基本结果,这意味着所有 SPEC 模块都使用相同的编译器标志进行编译,还有一个峰值结果,即使用任何编译器选项使其尖叫。)测试人员运行 SPEC 测试的多个副本并查看有多少事务吞吐量他们可以通过芯片。通过 SPECspeed2017 测试,套件中每个基准测试的一个副本以一系列方式运行,测试人员可以根据 OpenMP 选择使用多少线程,结果是时间的度量——完整的单运行测试。
我们联系了 Wittich,表达了对这种变幻莫测的失望,他向我们提供了在Ampere Computing 发布的关于 Azure 实例的简短博客中的比较参考之一中使用的实际数据:
下表汇总了这些实例的原始 SPECrate2017 整数性能,这些实例基于 AMD、Intel 和 Ampere Computing 的最新 CPU,以及这些实例的每小时成本。由于两组数字的相对大小,Wittich 将性能除以成本,这告诉您在这三组中花费多少 SPEC Integer 吞吐量。
上表有一个错字,只是为了说明这些 Microsoft 实例名称的难易程度。测试的是 Altra D16psv5 实例,而不是 Altra D16pdv5。(后者有 600 GB 的闪存,而且成本更高。)
我们喜欢考虑每单位性能的成本,而不是每单位资金的性能,因此我们翻转数据并计算了 Ampere Computing 使用 SPEC 的整数率测试的三个不同实例的三年成本(无折扣)测试:
我们认为,如果您打算长时间使用云上的实例,这可以让您更好地了解它的成本。您得到的百分比与 Wittich 计算的相同。现在,如果您可以关闭 AMD 和 Intel 芯片上的 SMT 会发生什么?好吧,如果您正在考虑虚拟 CPU 数量,那么以一种思考方式,您将不得不购买两倍大的 AMD 和 Intel 实例。他们将有 16 个核心,这些核心会更强大,并且会做更多的工作。但这不是衡量标准,真的。
我们认为更合理的做法是退回到 AMD 和 Intel 芯片上的 8 个真实内核,并将性能提升 10% 到 20% 之间,看看会发生什么物有所值。如果这样做,那么 AMD “Milan” Epyc 7003 实例的 SPECrate Integer 性能将介于 50.8 和 55.4 之间,而 Intel “Ice Lake” Xeon SP 实例的 SPECrate Integer 性能将介于 53.7 和 58.6 之间。Altra 实例的价格仍然较低——比 Milan 低 10.5%,比 Ice Lake 低 19.8%——而且性能仍然更高——比 Milan 高 23% 到 34.2%,Ice 高 16.5% 到 27%湖。因此,Altra 芯片的性价比优势仍然很显着——一般来说,每单位性能的成本要低三分之一左右。
正如Google 七年前告诉我们的那样,它愿意改变 CPU 架构以获得可持续的 20% 的性价比优势。
最后一件事。Microsoft 在 Arm 实例上支持 Canonical Ubuntu Linux、CentOS 和 Windows 11 专业版和企业版,接下来将支持 Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Debian、AlmaLinux 和 Flatcar。没有提到 Windows Server。
我们期待看到 AWS Graviton 和 Azure Altra 实例的性能数据,并看到这一切如何发挥作用。这是十多年前应该发生的事情。真正的竞争,不止一个方面。
免费试用尝鲜
贴心会员服务
服务可用性
数据安全保障
全年不间断在线
工作时间:早上9:00-下午6:30
河南快米云网络科技有限公司
公安备案编号:41010302002363
Copyright © 2010-2023 All Rights Reserved. 地址:河南自由贸易区开封片区经济开发区宋城路122号