1.11 综合实例:性能、价格与功耗
每章接近结尾处的“综合实例”(Putting It All Together),都会用真实案例运用该章介绍的原则。本节通过 SPECpower 和 SPEC CPU 基准测试,考察小型服务器的性能及单位功耗性能。
图 1.22 列出了我们评估的两台多处理器服务器及其价格。为使价格比较公平,两台都选用 Dell PowerEdge 服务器。第一台是 PowerEdge R650,采用 Intel Xeon Platinum 8380 微处理器,时钟频率为 2.30 GHz,Turbo 模式下为 3.4 GHz。与第 2–5 章讨论的微处理器不同,这款 Intel 芯片有 40 个核心和 256 MB 的 L3 缓存。我们选择双插槽系统,因此共有 80 个核心,并配置 256 GB、3200 MHz 的 DDR4 DRAM。第二台是 PowerEdge R7525,采用 AMD EPYC 7763 微处理器,时钟频率为 2.45 GHz,Turbo 模式下为 3.5 GHz。它具有相同的插槽数,以及相同容量和类型的 DRAM。AMD 微处理器采用 chiplet,因此每个插槽可有 64 个核心,整机共 128 个核心,L3 缓存为 256 MB。在 SPECpower 测试中,两台机器都运行 Oracle Java HotSpot 18.9 版 Java 虚拟机(JVM)。
操作系统都采用 SUSE Linux Enterprise Server 5.3 版。Dell 对 64 核 AMD 微处理器的报价,约为 40 核 Intel 微处理器的两倍,因此 R7525 的价格约为 R650 的 1.4 倍。
| 项目 | Dell PowerEdge R650 | 价格 | 占总价 | Dell PowerEdge R7525 | 价格 | 占总价 | R7525/R650 |
|---|---|---|---|---|---|---|---|
| 基础服务器 | Dell PowerEdge R650 | $5,049 | 21% | Dell PowerEdge R7525 | $3,989 | 11% | 0.79 |
| 电源 | 850 W | — | 750 W | — | 0.88 | ||
| 以太网 | 1 Gb/s | — | 1 Gb/s | — | 1.00 | ||
| 处理器 | Intel Xeon Platinum 8380 | $10,726 | 44% | AMD EPYC 7763 | $22,455 | 64% | 2.09 |
| 时钟频率 | 2.30 GHz | — | 2.45 GHz | — | 1.07 | ||
| Turbo 频率 | 3.4 GHz | — | 3.5 GHz | — | 1.03 | ||
| 插槽数 | 2 | — | 2 | — | 1.00 | ||
| 每插槽核心数 | 40 | — | 64 | — | 1.60 | ||
| DRAM | 256 | $8,277 | 34% | 256 | $8,277 | 23% | 1.00 |
| 磁盘 | 480 GB SSD | $509 | 2% | 480 GB SSD | $509 | 1% | 1.00 |
| SUES Linux OS | $3,619 | 15% | $3,715 | 11% | 1.03 | ||
| 总计 | $24,561 | 100% | $35,230 | 100% | 1.43 | ||
| CPU2017 Integer Speed | 11.7 | 12.0 | 1.03 | ||||
| CPU2017 Floating Point Speed | 228 | 248 | 1.09 | ||||
| CPU2017 Integer Rates | 533 | 822 | 1.54 | ||||
| CPU2017 Floating Point Rates | 449 | 634 | 1.41 | ||||
| SPECpower 最大 ssj_ops | 7,923,820 | 12,339,147 | 1.56 |
图 1.22 被测的两台 Dell PowerEdge 服务器、截至 2022 年 6 月的价格,以及性能。我们通过减去第二颗处理器的成本来计算处理器成本。因此,服务器基础成本也作了调整,扣除了默认处理器和内存的估算成本。第 5 章将介绍这些多插槽系统的互连方式。由于 Dell 没有提交这两款服务器的 SPECpower 结果,我们采用了 Fujitsu(Intel 平台)与 Lenovo(AMD 平台)服务器的 SPECpower 成绩;这些服务器使用相同的微处理器、存储系统和时钟频率。1
请注意,受基准测试的导向影响(见 1.9 节),这些服务器的配置并不寻常。相对于计算能力,图 1.22 中的系统内存很少,而且只配了一块容量仅为 480 GB 的固态盘。如果不需要相应增加内存和存储,增加核心的成本就并不高!
SPECpower 没有采用 SPEC CPU 中静态链接的 C 程序,而是使用用 Java 编写的、更现代的软件栈。它基于 SPECjbb,代表业务应用的服务器端,以每秒事务数衡量性能;该指标称为 ssj_ops,即每秒服务器端 Java 操作数(server-side Java operations per second)。与 SPEC CPU 类似,它会考验服务器处理器;此外还会考验缓存、存储系统,甚至多处理器互连系统。它也会考验 JVM,包括 JIT 即时编译器与垃圾收集器,以及底层操作系统的一部分。
图 1.22 的最后五行给出了 SPEC CPU 和 SPECpower 的性能结果。面向延迟的 CPU2017 Integer Speed 和 Floating Point Speed 成绩相近:AMD 系统分别是 Intel 系统的 1.03 倍和 1.09 倍。
而面向吞吐量的 SPEC CPU2017 Integer Rates、Floating Point Rates 和最大 SPECpower ssj_ops,分别约为 1.4 倍、1.5 倍和 1.6 倍,接近核心数约 1.6 倍的比例。2
虽然大多数基准测试和大多数计算机体系结构设计者,只关注系统在峰值负载下的性能,但计算机很少始终满负载运行。第 6 章图 6.35 给出了 Google 对数万台服务器持续 6 个月的利用率测量结果:平均利用率达到 100% 的服务器不到 1%,多数服务器的平均利用率在 10% 到 50% 之间。因此,SPECpower 从峰值负载开始,以 10% 为间隔逐步降低目标工作负载,一直降到 0%,并记录各档功耗。0% 负载称为 Active Idle,即系统仍处于运行状态的空闲。
图 1.23 展示了目标负载从 100% 变化到 0% 时,每瓦 ssj_ops(SSJ 操作数/秒)与平均功耗的变化。在每档目标工作负载下,采用 AMD 处理器的 R7525 都具有最低的功耗和最高的每瓦 ssj_ops。由于瓦特等于焦耳/秒,这个指标正比于每焦耳完成的 SSJ 操作数:

图 1.23 图 1.20 中两台服务器的单位功耗性能。3 左轴为 ssj_ops/watt,对应柱形;右轴为瓦特数,对应折线。横轴表示目标工作负载,从 100% 变化到 Active Idle。
图内标注:Target Workload 为目标工作负载,Watts 为功率(瓦特),perf/Watt 为每瓦性能;蓝色柱和蓝色虚线分别表示 Intel 40 核平台的每瓦性能与功率,红色柱和红色点划线分别表示 AMD 64 核平台的对应值。原图左轴写作“ssy_ops/Watt”、图例中写作“40-core0”,均为图中原有写法;上下文所指指标是 ssj_ops/watt。
为得到一个能够比较系统能效的汇总数值,SPECpower 采用:
采用 Intel 处理器的 R650,总体 ssj_ops/watt 为 11,533;R7525 则为 23,036。也就是说,价格约为 1.4 倍,单位功耗性能则达到两倍。
译注:表格数字与文字均按原页录入。DRAM 行原表只写“256”,正文说明单位为 GB;“SUES”也是原表拼写,正文为 SUSE。两个“总计”均等于基础服务器、处理器、DRAM 与磁盘价格之和,未包含表中另外列出的操作系统费用;因此各行占比相加会超过 100%。原书没有解释这一口径差异,不能把该总价视为上述所有收费项目的合计。 ↩︎
译注:此句依次给出约 1.4、1.5、1.6;但图 1.22 中 Integer Rates 与 Floating Point Rates 的比值分别为 1.54 和 1.41,前两个近似值在正文中似乎对调了。 ↩︎
译注:原图注确写“Figure 1.20”,但两台服务器的配置与性能表实际是图 1.22。 ↩︎