Savitha Pareek、Varun Bawa、& Ashish K Singh HPC 和 AI 创新实验的文章6月 2019
2nd第3代 intel®至®强 Skylake 可扩展系列处理器(体系结构 codenamed – 级联)Dell EMC 的 HPC 工程团队有权访问一些工程测试单元,并且该博客显示了我们的初始基准调查结果。
本博客的目的是说明和分析最新的 Intel®至强®可扩展系列处理器上获得的性能,并将性能与其前代系统进行比较。我们为分析选择了流、HPL 和 HPCG 基准。此调查重点介绍单个和多个节点的性能影响。这些测试在 Dell EMC PowerEdge C6420 (单节点研究)和 PowerEdge R740 (多节点研究)上执行,并提供 HPC 工作负载的建议 BIOS 设置。级联 Lake 处理器附带了许多增强功能,例如Intel®深厚的深入学习增强(INTEL DL 提升)以及 VNNI、更高的内存带宽,以及增加了向量浮点性能和效率。
表 1:Testbed 信息
服务器 |
PowerEdge C6420 PowerEdge R740 |
|||
处理器 |
单节点配置 |
多节点配置 |
||
服务器-PowerEdge C6420 & PowerEdge R740 |
服务器 PowerEdge R740 |
|||
Skylake – Intel 至强® 6142 [16C@2. 6GHz] Intel 至强® 6130 [16C@2. 1GHz] Intel 至强® 8180 [28C @ 2.5 GHz] |
级联 Lake – Intel 至强® 8268 [24C@2. 90GHz] |
|||
级联 Lake – Intel 至强® 6242 [16C @ 2.8 GHz] Intel 至强® 6230 [20C@2. 1GHz] 英特尔至强® 8280 [28C @ 2.7 GHz] |
||||
内存 |
级联 Lake 测试-192GB-12 x 16 GB 2933 MT/s DDR4 Skylake test – 192GB-12 x 16 GB 2933 MT/s DDR4 (活动 2666 MT/s) |
|||
操作系统 |
Red Hat Enterprise Linux 7.6 |
|||
内核版本 |
3.10.0-957.el7.x86_64 |
|||
BIOS 选项 |
Turbo = 已启用,逻辑处理器 = Disabled,SubNumaCluster = Enabled,虚拟化技术 = 已禁用。 |
|||
InfiniBand |
采用 IFS 10.9.2 的 Intel 全路径 |
|||
编译器 |
Intel 并行 Studio XE 2018 更新4 |
|||
应用程序 |
||||
测试 |
域 |
版本 |
测试配置 |
|
HPL |
高性能 LINPACK —计算 |
Intel MKL Graphics 2018 U4 |
问题大小-总内存的90% |
|
HPCG |
高性能共轭式渐变—计算 |
Intel MKL Graphics 2018 U4 |
问题大小-336 x 336 x 336 |
|
流 |
内存带宽 |
5.4 |
Triad |
|
已进行测试来量化以下两种情况:
流
为了获得 Intel 级联 Lake 和 Skylake 上的峰值内存带宽性能,我们选择了 流 基准,这是 HPC 域中实际的行业标准基准,用于衡量可持续的内存带宽(以 GB/s 为单位)。TRIAD 值已用于比较内存带宽。
Figure1: 流– Skylake 与级联 Lake
在级联 Lake 支持 2933MT/s 时,Skylake 支持的最大内存频率为 2666MT/s,这意味着使用级联 Lake 的内存频率提高10%。根据图1,级联的 Lake 处理器显示的内存带宽相对于 Skylake 的更多。每个核心的内存带宽取决于特定的处理器 SKU。由于有些级联 Lake Sku 具有相对于 Skylake 的更多核心,因此每个 core 的内存带宽比较与总内存带宽比较不同。如图1所示,8280和6242的内存带宽越高,比各自的前置任务高出7%。但是,6230每核相对于6130的内存带宽降低了11%,因为内核的6230增加25%。对于内存带宽敏感的应用程序来说,每个核心的内存带宽可能是一个重要因素。
LINPACK -
我们测定了使用 Intel LINPACK 的处理器的计算能力。在数据块大小(NB)为384时,问题大小(N)为系统内存的90%。此处介绍的是级联 Lake 处理器的性能和扩展。
Skylake 与级联 Lake –
图 2:LINPACK 性能(Skylake 与级联 Lake)
根据图2,LINPACK 显示了高达15% 的级联 Lake 处理器。此比较基于 CPU 型号、比较 Skylake 及其在英特尔至强®可扩展系列的后续任务。Intel 至强®6230,每个插槽4个内核的6130性能提高了15%,同时,8280和6242具有相似的核心数,因为其 CPU 基本频率增加,并且内存带宽越高,因此性能得以提高。
多节点性能— 对于多节点研究,我们使用了 PowerEdge R740 服务器的8节点群集和英特尔至强®8268,并为1、2、4和8个节点捕获了结果。表2中提及了其余的系统配置。
图 3:具有 8268 @ 2.90 GHz 的多节点 LINPACK 性能
如图3所示,单个8268节点的 LINPACK 性能是 3059 GFLOPS,23946 GFLOPS for 8 节点,这意味着 7.83 X 从1节点扩展到8个节点。单个节点的效率为 ~ 69%,在2、4和8个节点上为 ~ 67%。从1节点到2个节点的效率下降;但是,这种可扩展性大多数情况下都是线性的。
HPCG 基准
HPCG 基准基于共轭渐变规划求解,其中调节器是具有 Gauss-Seidel 的三级分层多网格(MG)方法。
HPCG 基准在3D 域中的每个网格点使用27点模具构造一个逻辑上的全局分布式稀疏线形系统,该点上的方程式(i,j,k)取决于其值和26个周围的 neighbours。通过基准计算得出的全局域为(NRx * Nx) X (NRy * Ny) X (NRz * Nz),其中 Nx、Ny 和 Nz 是本地子网格的尺寸,分配给每个 MPI 进程并且 MPI 秩数为 NR = (NRx X NRy X NRz)。
对于我们的分析,我们将多个测试划分为2个类别—
Skylake 与级联 lake - 在本部分中,我们通过使用 HPCG 性能将 Skylake 与级联 lake 进行比较。 我们利用了336 ^ 3的网格大小,占用的总系统内存超过1/4。每个节点的 MPI 进程数和线程数取决于最大结果和内存利用率。
图 4:HPCG 性能(Skylake 与级联 Lake)
根据图4,我们通过级联的 HPCG 性能改进,在其前置下处理。由于 HPCG 是更多的内存绑定应用程序,因此,级联 Lake 处理器的性能改进是与流基准的结果相比,其中6230比6130更高,6142 6242 比8280更快7%。
带有多节点的 HPCG — 用于多节点基准测试,我们选择了336 ^ 3和最佳 MPI 流程以及 OpenMP 线程组合的本地尺寸网格大小。
图 5:使用级联 Lake 的多节点 HPCG 性能
图5显示了采用级联 Lake 8268 @ 2.9 GHz 的 HPCG 的性能,并且最多可扩展到8个节点。HPCG performance 43GFLOPS for single node and 84GFLOPS for 双节点,这意味着具有两个节点的 1.96 X 性能改进。随着我们与4和8个节点一起向前移动,性能提升至 7.7 X。
结论
使用级联 Lake 处理器的情况下,PowerEdge 系统现在可以通过此较新的版本处理器支持高达 2933 MT/s 的内存速度。采用级联 Lake 处理器的测试4-15 在比较的 CPU 型号上的 HPL 和7-12% 中的 HPCG 提高了7-12% 的性能改进。从1到8个节点的级联 Lake 测试显示良好的可扩展性,就像我们过去的 Skylake。
此外,级联 Lake 引入了 VNNI 指令,可加快深入学习推导工作负载,使其在 本博客中进一步讨论。
在将来的工作中,我们打算评估级联 Lake 在不同 HPC 应用程序(如 WRF、NAMD、GROMACS、CP2K 和 LAMMPS)上的性能优势