沫言|Dell EMC PowerEdge R7525服务器实战( 二 )


上面BIOS图中绿框中的两个选项分别对应EPYC处理器Chiplet设计中的CCD与核心数量 。 在上图中 , 尽管在CCD只有三个选项 , 但可以看出7302处理器具有4个CCD , 这意味着每个CCD内有4个核心每个CCX有2个核心——都是顶配的一半 , 所以核心总数为顶配的四分之一(7302共16核心) 。 而下一个选项则可选择CCD中的核心数量 , 是启用全部核心(2个)还是只启用一半数量(每CCX出1个 , 即“1+1”)的核心 。
通过选择启用CCD及其核心数量 , 以及“Logical Processor”线性 , R7525实际上可以“变身”为拥有不同核心数量的服务器 。 E企研究院结合CCD及核心数量 , 让R7525分别具有不同的核心数量 , 并测试其计算性能:使用GeekBench工具简单验证7302的性能 , 如下图所示:
沫言|Dell EMC PowerEdge R7525服务器实战图注:不同核心/线程组合下的EPYC 7302处理器的整数与浮点性能 。 上图中两条平行于横轴的蓝色线与橙色线是不同核心/线程下 , 单个核心的整数与浮点性能 , 基本没有变化 , 保持稳定 。 灰色线与黄色线则为不同核心/线程下的多核整数与浮点性能 , 随着核心/线程数量的增加 , 整数与浮点性能几乎成线性增加 , 中间具有相似性能的两个组合实际上具有相同的核心与线程数 , 支持CCD与核心数量选择不同
沫言|Dell EMC PowerEdge R7525服务器实战图注:不同NUMA设置 , 与L3 Cache as NUMA Domain启用或关闭情况下 , R7525的整点与浮点性能 。 从测试来看 , 关闭NUMA(即NUMA设置为0)会导致计算性能略微下降;但打开NUMA后 , 不管NUMA如何设置(如1/2/4) , 对计算性能的影响并不明显 。 同时 , L3 Cache as NUMA Domain的开启与关闭 , 对单核性能有略微影响 , 但并不影响综合性能
不同NUMA性能揭示EPYC内存奥妙
EPYC在内存方面的显著的特点是率先支持八通道内存 , 理论上可以提供更高的带宽 , 但实际性能部分取决于其NUMA(Non-Uniform Memory Access , 非一致内存访问)特性 。 在第一代EPYC处理器中 , 每CCD自己提供2个内存通道 , 导致跨CCD的内存访问延迟显著增加 , 如果在双路服务器 , 跨CPU的内存访问延迟将更加明显 , 这就是NUMA的影响 。 但在第二代EPYC处理器中 , AMD将各CCD中将内存控制器与PCIe等I/O控制分离出来 , 形成单独的芯片——IOD 。 所有核心都通过IOD来访问内存和PCIe等外围设备 。
沫言|Dell EMC PowerEdge R7525服务器实战图注:上图中显示了从第一代EPYC(Zen架构)到第二代EPYC(Zen 2架构)的变化 。 将各个CCD中的IO控制分离出来形成一个整体的IOD(I/O Die) , 看起来 , 任意CCD中的任意核心访问任意内存都理应具有相同的延迟 , 也就是说 , Chiplet架构能够改善EPYC的内存访问延迟
第一代EPYC处理器的内存访问带宽大多在170GB/s左右 , 第二代EPYC处理器普遍采用3200 MHz的DDR 4内存 , 再加上Zen 2架构 , 其内存总带宽提升到204GB/s左右 , 但也有少数低端处理器只提供一半的内存通道 , 如7282 。
E企研究院针对R7525服务器中的BIOS选项 , 即NUMA和L3 Cache as NUMA Domain选项的不同选择 , 形成多种组合 , 来分别验证R7525服务器中的内存总带宽与内存访问延迟 。
沫言|Dell EMC PowerEdge R7525服务器实战图注:不同NUMA选择(0/1/2/4 NUMA , 即R7525分别具有0/2/4/8个NUMA) , 并加上L3 Cache as NUMA Domain的启用和关闭状态下 , R7525的内存总带宽(测试工具:PerformanceTest 10)