摘要
Dell EMC PowerEdge C4140 最近添加新的“配置 M”解决方案。随着此最新选项加入 C4140 系列,本文介绍针对不同 HPC 应用程序(包括 HPL、GROMACS 和 NAMD)评估配置 M 性能与配置 K 性能的研究结果。
概述
PowerEdge C4140 是双路 1U 机架式服务器。它包含对 Intel Skylake 处理器的支持,具有多达 24 个 DIMM 插槽和 4 个双宽 NVIDIA Volta GPU 卡。在 C4140 服务器系列中,支持 NVLINK 的两种配置是配置 K 和配置 M。这两种拓扑的比较已显示在图 1 中。下面介绍这两种配置之间的两大差异:
p2pBandwidthLatencyTest
图 2:在 C4140 配置 K 和 M 中禁用 P2P 的情况下的卡到卡的延迟
p2pBandwidthLatencyTest 是 CUDA SDK 中包含的微基准测试。它可在启用和未启用 GPUDirect™ Peer-to-Peer 的情况下测量卡到卡的延迟和带宽。因为此程序不会同时测量带宽,所以此测试中的重点是延迟部分。关于应用程序可用的真实带宽的讨论在下面的 HPL 会话中进行。图 2 中列出的数字是以微秒为单位的单向卡到卡延迟的 100 倍的平均值。每次代码将一个字节从一张卡发送到另一张卡时,在禁用 P2P 的情况下,将会在此图表中选取数字,因为如果您启用 P2P,数据会通过 NVLINK 进行传输。由于不同的 PCIe 拓扑,配置 M 的 PCIe 延迟比配置 K 的相应延迟小 1.368 us。
High Performance Linpack (HPL)
图 3 (a) 显示带有 1、2、4 和 8 个 V100-SXM2 GPU 的 C4140 平台上的 HPL 性能。1-4 个 GPU 的结果来自单个 C4140,8 个 GPU 的性能结果来自两个服务器。在这个测试中,所用的 HPL 版本由 NVIDIA 提供,并采用最近发布的 CUDA 10 和 OpenMPI 进行编译。从 HPL 结果可以观察到以下方面:
1) 单节点。在所有 4 个 GPU 都处于测试的情况下,配置 M 比配置 K 快约 16%。在 HPL 应用程序开始计算之前,当所有 GPU 卡并发传输数据时,此应用程序会测量每个 GPU 卡的可用的设备到主机 (D2H) 和主机到设备 (H2D) PCIe 带宽。当 HPL 同时将 N*N 矩阵复制到所有 GPU 内存时,此信息可提供关于每个卡的真实 PCIe 带宽的有益见解。如图 3 (b) 所示,配置 M 的 D2H 和 H2D 数字均更大,并且达到 PCIe x16 的理论吞吐量。由于配置 M 中的每个 GPU 都具有到 CPU 的专用 PCIe x16 链路,因此这与硬件拓扑相匹配。在配置 K 中,所有四个 V100 都必须通过 PLX PCIe 交换机共享一个 PCIe x16 链路,因此每个 V100 只有 2.5GB/s 可用。由于带宽的差异,配置 M 用了 1.33 秒将 4 个 16GB N*N 矩阵复制到每个 GPU 的全局内存,而配置 K 用了 5.33 秒。整个 HPL 应用程序大约运行 23 到 25 秒。由于所有 V100-SXM2 均相同且计算时间一样,因此数据复制所节省的这 4 秒钟使配置 M 的速度提高 16%。
2) 多个节点。具有 8 个 GPU 的 2 个 C4140 节点的结果表明,两个节点的 HPL 提高了 15% 以上。这意味着配置 M 比配置 K 具有更好的跨节点可扩展性,原因与上述情况中的单节点 4 卡相同。
3) 效率。功耗通过 iDrac 进行测量,图 3 (c) 按时间顺序显示瓦数。两个系统在峰值时都达到 1850 W 左右,由于 GFLOPS 数字更大,因此配置 M 提供更高的每瓦特数性能以及更出色的 HPL 效率。
HPL 是系统级基准测试,其结果由 CPU、GPU、内存和 PCIe 带宽等组件决定。配置 M 在两个 CPU 上具有均衡的设计;因此,在这个 HPL 基准测试中,它表现优于配置 K。
GROMACS
GROMACS 是开放源代码的分子动力学应用程序,旨在模拟具有许多复杂键合相互作用的生物化学分子,如蛋白质、脂质和核酸。在具有 300 万个原子的水位 3072 数据集上测试了版本 2018.3。
图 4:C4140 配置 K 和 M 上多个 V100 的 GROMACS 性能结果
图 4 显示配置 M 相对于配置 K 的性能提升。由于两种配置在数据路径上没有差别,因此单卡性能在两种配置上相同。在具有 2 个和 4 个 GPU 的情况下,配置 M 比配置 K 大约快 5%。在 2 个节点上测试时,配置 M 的性能最多提高 10%;主要原因是 PCIe 连接数增加,从而提供更多带宽,并允许更多数据快速输入 GPU。借助 GPU,GROMACS 的运行速度大大加快,但此应用程序同时使用 CPU 和 GPU 进行计算;因此,如果 GROMACS 是群集中的顶级应用程序,我们建议使用功能强大的 CPU。此图还显示 GROMACS 性能随着服务器和 GPU 的增多而扩展。虽然应用程序的性能确实随着 GPU 和服务器的增多而提高,但增加 GPU 而带来的性能提升幅度却小于线性增长幅度。
NAnoscale Molecular Dynamics (NAMD)
NAMD 是为大型生物分子系统的高性能模拟而设计的分子动力学代码。在这些测试中,没有使用预构建的二进制文件。相反,NAMD 是用最新源代码 (NAMD_Git-2018-10-31_Source) 在 CUDA 10 上构建而成。图 4 使用 STMV 数据集(1,066,628 个原子,周期性,PME)绘制性能结果。在 f1atpase(327,506 个原子、周期性、PME)和 apoa1(92,224 个原子、周期性、PME)等较小的数据集上进行的测试导致了配置 M 和配置 K 之间的类似比较,但为了简洁起见,这里不作介绍。
图 5:C4140 配置 K 和 M 上多个 V100 的 NAMD 性能结果
与 GROMACS 一样,4 倍以上的 PCIe 带宽有助于提高 NAMD 上的性能。图 5 显示:在 STMV 数据集上,使用 2 个卡和 4 个卡的配置 M 的性能分别比配置 K 的性能高 16% 和 30%。单卡性能预计是相同的,由于测试中只有一个 GPU,因此 PCIe 带宽完全相同。
结论和未来的工作
在本博客中,针对 PowerEdge C4140 的两种不同 NVLINK 配置,比较 HPL、GROMACS 和 NAMD 等方面的 HPC 应用程序性能。与配置 K 相比,HPL、GROMACS 和 NAMD 的性能提高约 10%。在所有测试中,配置 M 最差也能提供与配置 K 相同的性能,因为它具有配置 K 的全部优秀特性,拥有更多 PCIe 链路,并且没有 PCIe 交换机。在未来,计划对更多的应用程序(如 RELION、HOOMD 和 AMBER)进行更多的测试,并且使用 V100 32G GPU 进行测试。