最佳性价比? 我在 GCP 上对 AMD 实例进行了基准测试。

大家好

我叫神原,在系统解决方案部门工作。
我刚毕业就加入了Beyond公司,但我已经很久没写博客了,不知不觉就三年了。
这是我的第一篇博客文章。

这或许会让人感到意外,但我个人在过去几年里一直对AMD的CPU充满热情。
第一款Zen架构的CPU于2017年发布,其强大的多线程性能一度成为热门话题。
此后,Zen+和Zen2等改进型架构的CPU相继问世。尤其是去年10月发布的Zen3架构CPU,显著提升了单线程和多线程性能,使其在各方面都表现得极其出色。Kanbara
也曾热衷于在下一台PC组装中使用AMD CPU,但由于种种原因,他至今未能实现这一目标。他想要一颗5800X。

现在,采用AMD Zen微架构的CPU也正在为服务器开发。
服务器产品以AMD EPYC品牌销售,我们公司的Ohara在一篇博客文章中总结了EPYC的特性,如果您感兴趣,可以去看看。

使用 EPYC CPU 的服务器/实例可在包括 AWS 在内的各种云平台上使用。
在本文中,我们将在 GCP 上启动一个 EPYC Compute Engine 实例,并对其进行基准测试,以将其与使用 Intel Xeon 的实例进行比较。

AMD EPYC 在 GCP 计算引擎上

Google Compute Engine 在多种机器类型上提供 EPYC。

  • E2 VM
  • N2D虚拟机
  • Tau T2D VM

基准测试中,我们将使用 N2D 虚拟机。N2D 是 N2 虚拟机的 AMD EPYC 版本,后者使用英特尔至强处理器。之所以选择 N2D,是因为它便于比较 CPU 之间的差异。

实例选择

首先,选择一个实例进行基准测试。

EPYC实例的机器类型为N2D虚拟机,具体规格和配置如下。EPYC也有不同的代际,官方文档,第二代EPYC Rome可用于N2D虚拟机。最新的EPYC是第三代Milan。

CPU品牌 AMD EPYC 罗马
虚拟 CPU 2
记忆 8GB
磁盘 平衡持久磁盘 20GB
操作系统映像 centos-7-v20211105

用于对比的英特尔至强实例是一台N2虚拟机,其规格和配置如下。然而,由于规格不匹配将无法进行比较,因此我将其配置得与EPYC实例完全相同,仅CPU品牌不同。至强处理器的代数似乎是Ice Lake或Cascade Lake,但无论如何,它都是相当新的一代产品。

CPU品牌 英特尔至强处理器(Ice Lake 或 Cascade Lake)
虚拟 CPU 2
记忆 8GB
磁盘 平衡持久磁盘 20GB
操作系统映像 centos-7-v20211105

这次我们将运行基准测试,并将性能与此配置进行比较。

检查 CPU

实例启动并运行后,通过 SSH 登录。

GCP 控制台集成了 SSH,因此您可以轻松地通过浏览器登录服务器,非常方便。对于这种一次性使用的情况,它尤其简单,因为您无需担心密钥准备等问题。

通过 SSH 登录后,我将尝试输入 lscpu 命令。首先是 EPYC 实例。

# lscpu 架构:x86_64 CPU 操作模式:32 位、64 位 字节序:小端 CPU 数量:2 在线 CPU 列表:0、1 每核心线程数:2 每插槽核心数:1 插槽数:1 NUMA 节点数:1 厂商 ID:AuthenticAMD CPU 系列:23 型号:49 型号名称:AMD EPYC 7B12 步进:0 CPU MHz:2249.998 BogoMIPS:4499.99 虚拟机管理程序厂商:KVM 虚拟化类型:完全虚拟化 L1d 缓存:32K L1i 缓存:32K L2 缓存:512K L3 缓存:16384K NUMA 节点 0 CPU 数量:0、1 标志:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl nonstop_tsc extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext retpoline_amd ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr arat npt nrip_save umip

该处理器型号为 AMD EPYC 7B12。您还可以看到缓存配置。
其架构为 x86_64,指令集与 Intel Xeon 兼容。
它支持最高 AVX2 的 SIMD 指令集。然而,由于 SIMD 指令集本身仅在通用服务器应用的有限场景中使用,因此这可能已经足够。

以下是在 Xeon 实例上运行的结果。

# lscpu 架构:x86_64 CPU 操作模式:32 位、64 位 字节序:小端 CPU 数量:2 在线 CPU 列表:0、1 每核心线程数:2 每插槽核心数:1 插槽数:1 NUMA 节点数:1 厂商 ID:GenuineIntel CPU 系列:6 型号:85 型号名称:Intel (R) fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat avx512_vnni md_clear spec_ctrl intel_stibp arch_capabilities

型号名称为 Intel(R) Xeon(R) CPU @ 2.80GHz,但具体型号似乎已被屏蔽。
此外,标志列表中添加了 avx512 标志,表明该 CPU 支持 AVX512(512 位 SIMD 指令集)。EPYC
实例最高仅支持 AVX2(256 位 SIMD 指令集),因此它很可能在视频编码和图像转换等使用 SIMD 指令的进程(和程序)中提供高性能。

准备基准测试

这次我们将使用 UnixBench 作为基准测试软件。IDCF
发表了一篇非常易懂的文章,解释了 UnixBench 及其安装步骤

EPYC 和 Xeon 实例均从同一镜像(centos-7-v20211105)启动,并在运行基准测试前执行了 `yum -y update` 命令。
执行环境中使用的内核、GCC 和 UnixBench 版本如下:

Linux 内核 3.10.0-1160.49.1.el7.x86_64
海湾合作委员会 4.8.5 20150623 (Red Hat 4.8.5-44)
UnixBench 版本 5.1.3

当 UnixBench 不带任何参数运行时,它将以 1 的并行度运行基准测试,然后以逻辑 CPU 的数量(总共 2 次)的并行度继续运行。

在这种情况下,我们指定了 2vCPU 作为实例规格,因此逻辑 CPU 的数量为 2,因此并行进程的数量也为 2。

下一节的结果将包括平行线 1 的结果和平行线 2 的结果。

基准测试结果

首先,并行性结果为 1。

蓝色条形图代表 Xeon 实例的结果,红色条形图代表 EPYC 实例的结果,数值越大表示结果越好。

底部的“系统基准指数得分(总体)”是总基准得分,其他项目是各个测试的结果。

从结果来看,AMD实例的整体性能更佳。AMD实例的总分为1288.2,而Xeon实例的总分为1096.6,两者差距显著。具体来看,AMD实例在系统调用开销和文件复制等指标上的表现尤为出色。

系统调用和文件复制是服务器使用情况的重要指标,因此这些项目具有高性能是非常好的。

接下来是平行线编号 2 的结果。

与并行性 1 一样,蓝色条形代表 Xeon 实例,红色条形代表 EPYC 实例。

在这方面,EPYC实例也具有优势。总体而言,EPYC实例的性能优于Xeon实例。

这里还需要注意的是总分,Xeon 实例仅获得了 1545.4 分,而 EPYC 实例的得分提高到了 2253.1 分。

并行度为 2 的 Xeon 实例的得分比并行度为 1 的实例高约 1.4 倍,而并行度为 2 的 EPYC 实例的得分比并行度为 1 的实例高约 1.75 倍。

虽然这只是运行名为 UnixBench 的单一基准测试软件的结果,但 EPYC 实例似乎比 Xeon 实例具有更好的并行化效率。

费用

虽然与基准测试没有直接关系,但EPYC实例的价格低于Xeon实例。

根据此基准测试中使用的配置和规格,Xeon 实例每月大约需要 74 美元,而 EPYC 实例每月大约需要 64 美元。

概括

我们在 GCP 的 Compute Engine 上分别启动了一个使用 AMD EPYC 的实例和一个使用 Intel Xeon 的实例,并使用 UnixBench 对它们进行了基准测试,以进行比较。

这些基准测试表明,EPYC实例性能卓越。它们也具有极佳的性价比,因此我们建议您在GCP上构建服务器时考虑使用它们。

此外,在此次基准测试中,Intel Xeon实例表现不佳,但其他基准测试的结果可能有所不同。由于该基准测试仅运行了一次,因此这可能只是巧合。Intel Xeon具有EPYC所不具备的AVX512特性,因此最好根据具体工作负载选择最合适的实例。

就这些了。非常感谢。

如果您觉得这篇文章有帮助,请点赞!
2
加载中...
2 票,平均:1.00 / 12
3,068
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

神原佑太

这种血是用夏季柑橘汁制成的。

我内心深处有个担忧,那就是当我去人多的地方时,我往往会表现得可疑。