# 1.11 综合实例：性能、价格与功耗
<!-- source: p0083 -->

每章接近结尾处的“综合实例”（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）。

<!-- source: p0084 -->

操作系统都采用 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 |
{#fig-1.22 .wide .expand num="1.22" caption="两台 Dell PowerEdge 服务器的配置、价格与性能"}

**图 1.22** 被测的两台 Dell PowerEdge 服务器、截至 2022 年 6 月的价格，以及性能。我们通过减去第二颗处理器的成本来计算处理器成本。因此，服务器基础成本也作了调整，扣除了默认处理器和内存的估算成本。第 5 章将介绍这些多插槽系统的互连方式。由于 Dell 没有提交这两款服务器的 SPECpower 结果，我们采用了 Fujitsu（Intel 平台）与 Lenovo（AMD 平台）服务器的 SPECpower 成绩；这些服务器使用相同的微处理器、存储系统和时钟频率。[^price-table]

请注意，受基准测试的导向影响（见 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 倍。

<!-- source: p0085 -->

而面向吞吐量的 SPEC CPU2017 Integer Rates、Floating Point Rates 和最大 SPECpower ssj_ops，分别约为 1.4 倍、1.5 倍和 1.6 倍，接近核心数约 1.6 倍的比例。[^rate-order]

虽然大多数基准测试和大多数计算机体系结构设计者，只关注系统在峰值负载下的性能，但计算机很少始终满负载运行。第 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 操作数：

$$
\frac{\text{SSJ 操作数}/\text{秒}}{\text{瓦特}}
=\frac{\text{SSJ 操作数}/\text{秒}}{\text{焦耳}/\text{秒}}
=\frac{\text{SSJ 操作数}}{\text{焦耳}}
$$

![两台服务器在不同目标负载下的每瓦性能和功耗](/figures/ch01/fig-1-23.png)
{#fig-1.23 num="1.23" caption="两台服务器随目标负载变化的单位功耗性能"}

**图 1.23** 图 1.20 中两台服务器的单位功耗性能。[^figure-reference] 左轴为 ssj_ops/watt，对应柱形；右轴为瓦特数，对应折线。横轴表示目标工作负载，从 100% 变化到 Active Idle。

图内标注：Target Workload 为目标工作负载，Watts 为功率（瓦特），perf/Watt 为每瓦性能；蓝色柱和蓝色虚线分别表示 Intel 40 核平台的每瓦性能与功率，红色柱和红色点划线分别表示 AMD 64 核平台的对应值。原图左轴写作“ssy_ops/Watt”、图例中写作“40-core0”，均为图中原有写法；上下文所指指标是 ssj_ops/watt。

为得到一个能够比较系统能效的汇总数值，SPECpower 采用：

<!-- source: p0086 -->

$$
\text{总体 ssj\_ops/watt}
=\frac{\sum \mathrm{ssj\_ops}}{\sum \text{功率}}
$$

采用 Intel 处理器的 R650，总体 ssj_ops/watt 为 11,533；R7525 则为 23,036。也就是说，价格约为 1.4 倍，单位功耗性能则达到两倍。

[^price-table]: 译注：表格数字与文字均按原页录入。DRAM 行原表只写“256”，正文说明单位为 GB；“SUES”也是原表拼写，正文为 SUSE。两个“总计”均等于基础服务器、处理器、DRAM 与磁盘价格之和，未包含表中另外列出的操作系统费用；因此各行占比相加会超过 100%。原书没有解释这一口径差异，不能把该总价视为上述所有收费项目的合计。
[^rate-order]: 译注：此句依次给出约 1.4、1.5、1.6；但图 1.22 中 Integer Rates 与 Floating Point Rates 的比值分别为 1.54 和 1.41，前两个近似值在正文中似乎对调了。
[^figure-reference]: 译注：原图注确写“Figure 1.20”，但两台服务器的配置与性能表实际是图 1.22。
