Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

使用 Intel Cascade Lake 处理器的 HPC 的 BIOS 特征

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

文章由 HPC 和 AI 创新实验室的 Varun Bawa、Savitha Pareek 和 Ashish K Singh 于 2019 年 4 月撰写

Resolution

随着第 2 代英特尔至强®可扩展系列处理器(代号为“Cascade Lake”的体系结构)的发布,Dell EMC 更新了第 14 代 PowerEdge 服务器,以受益于更多的核心数量和更高的内存速度,从而有利于 HPC 应用程序。

此博客介绍了第一组结果,并讨论了在搭载全新英特尔至强® Cascade Lake 处理器的 Dell EMC PowerEdge C6420 上可用的不同 BIOS 调整选项对某些 HPC 基准测试和应用程序的影响。下面简要介绍了本研究中使用的 Cascade Lake 处理器、BIOS 选项和 HPC 应用程序。

Cascade Lake 是英特尔的 Skylake 后继产品。Cascade Lake 处理器支持多达 28 个核心、6 个 DDR4 内存通道,速度高达 2933 MT/s。与 Skylake 类似,Cascade Lake 通过 AVX512 指令集支持额外的矢量化能力,允许 32 DP FLOP/周期。Cascade Lake 引入了 矢量神经网络指令 (VNNI),可提高图像分类、语音识别、语言翻译、对象检测等 AI 和 DL 工作负载的性能。VNNI 还支持 8 位指令,以加快推理性能

Cascade Lake 包括针对某些旁路漏洞的硬件缓解措施。预计这可以提高存储工作负载的性能,请期待 创新实验室的未来研究。

由于 Skylake 和 Cascade Lake 是插槽兼容的,因此系统 BIOS 中显示的处理器调整旋钮在这些处理器代系中是相似的。本研究探讨了以下 BIOS 调整选项,类似于 过去在 Skylake 上发表的研究。

处理器设置:

  • Adjacent Cache Line Prefetch:相邻高速缓存行预取机制允许自动硬件预取,无需程序员干预即可运行。启用时,它将两个 64 字节的高速缓存行容纳到 128 字节扇区中,而不考虑是否已请求额外的高速缓存行。
  • 软件预取器:它通过在需要数据之前将数据加载到缓存中来避免停滞。示例:使用 L2 预取指令将数据从主内存预取到 L2 高速缓存,然后在使用 L1 预取指令之前将数据从 L2 高速缓存预取到 L1 高速缓存。在这里,当设置为启用时,处理器将为每个内存请求预取额外的高速缓存行。
  • SNC(Sub-NUMA 群集):启用 SNC 类似于将单插槽拆分为两个 NUMA 域,每个域具有插槽的一半物理内核和一半的内存。如果这听起来很熟悉,它在实用性上类似于英特尔至强 E5-2600 v3 和 v4 处理器中提供的 Cluster-on-Die 选项 。SNC 的实施方式与 COD 不同,与使用芯片上群集选项的前几代相比,这些更改改进了 Cascade Lake 中的远程套接字访问。在操作系统级别,启用了 SNC 的双插槽服务器将显示四个 NUMA 域。其中两个域彼此距离较近(在同一插槽上),另外两个域距离较远,穿过 UPI 到达远程插槽。这可以使用操作系统工具看到,例如:numactl –H ,如图 1 所示。
SLN316864_en_US__1image001(1)
图 1:NUMA 节点布局

系统配置文件:

系统配置文件是一个元选项,进而设置多个以性能和电源管理为中心的 BIOS 选项,如 Turbo 模式Cstate、C1E、 Pstate 管理、非核心频率等。 本研究中比较的不同系统配置文件包括:
  • 性能
  • PerformancePerWattDAPC
  • PerformancePerWattOS
我们使用了两个 HPC 基准和两个 HPC 应用程序来了解这些 BIOS 选项对 Cascade Lake 性能的影响。表 1 和表 2 说明了本研究中使用的服务器和 HPC 应用程序的配置。
应用程序 版本 基准
高性能线包 (HPL) 计算 - 求解密集线性方程组 来自英特尔 MKL - 2019 Update 1 问题大小占总内存的 90%、92% 和 94%
内存带宽 5.4 三合 会
WRF系列 天气研究与预报 3.9.1 科努斯 2.5公里
ANSYS® Fluent®  流体力学 19.2 Ice_2m、
Combustor_12m、
Aircraft_wing_14m
Exhaust_System_33m

表 1:应用程序和基准测试

组件 详细信息
服务器 PowerEdge 服务器 C6420
处理器 英特尔®至强® Gold 6230 CPU @ 2.1 GHz,20 核
内存 192 GB – 12 个 16 GB 2933 MT/s DDR4
操作系统 Red Hat Enterprise Linux 7.6Red Hat Enterprise Linux 7.6
内核 3.10.0-957.el7.x86_64
编译 器 英特尔 Parallel Studio 群集 Edition_2019_Update_1

表 2 服务器配置

此处显示的所有结果均基于单服务器测试;群集级别的性能将受单个服务器性能的约束。使用了以下指标来比较性能:
  • 流 – 流基准报告的三元组分数。
  • HPL — GFLOP/秒。
  • Fluent - 由 Fluent 报告的求解器评级。
  • WRF – 在过去 719 个间隔内计算的 Conus 2.5 公里的平均时间步长

基准测试和应用程序结果

图形表示法缩写:

系统配置文件:

Perf – PerformanceSLN316864_en_US__2a2 OS – PerformancePerWattOS SLN316864_en_US__3a3 DAPC – PerformancePerWattDAPCSLN316864_en_US__4a1
Sub-NUMA Clustering:SNC = 0(SNC = 已禁用):SNC = 1(SNC = 已启用:格式化为图表中的条带化)
SW – 软件预取器:SW = 0(SW = 已禁用):SW = 1(SW = 已启用)

SLN316864_en_US__5image006
 图 2:高性能线包

图2比较了问题大小 = 90%,即,N=144476 在不同 BIOS 选项中的 HPL 结果。该图绘制了在不同 BIOS 配置中运行 HPL 时获得的绝对 Gigaflops。这些获得的 Gigaflops 绘制在 y 轴上,越高越好。
以下是图表中的观察结果:
  • 由于软件预取,HPL 性能差异小于 1%。
  • SNC 对 HPL 性能没有重大影响(SNC=Disabled 时提高 0.5%)。
  • 与操作系统和 DAPC 相比,性能系统配置文件最多改善 6%。
 SLN316864_en_US__6image008
图 3:流

图 3 比较了不同 BIOS 配置的 STREAM 结果。
该图绘制了在运行 STREAM Triad 时获得的内存带宽(以 GB/秒为单位)。获得的内存带宽(GB/秒)绘制在 y 轴上,越高越好。在 x 轴上绘制了与特定千兆字节/秒值关联的 BIOS 配置。
以下是图表中的观察结果:
  • 启用 SNC = 时,内存带宽最多提高 3%。
  •  由于 STREAM 内存带宽上的软件预取,性能偏差不大。 
  •  系统配置文件之间没有偏差。
   SLN316864_en_US__7a4
图 4:内存带宽 — SNC

图 4 绘制了这种配置中的 Stream Triad 内存带宽得分。完整系统内存带宽为 ~220 GB/s。当本地插槽上的 20 个内核访问本地内存时,内存带宽为 ~ 109 GB/s - 完整系统带宽的一半。其中一半(~56 GB/s)是同一 NUMA 节点上 10 个线程访问其本地内存的内存带宽,以及一个 NUMA 节点上访问属于同一插槽上另一个 NUMA 节点的内存带宽。当线程通过远程套接字上的 QPI 链路访问远程内存时,内存带宽下降 42% 至 ~33GB/s。这告诉我们,当数据不在本地时,SNC 模式下存在显著的带宽损失。

SLN316864_en_US__8image012
 图 5:WRF系列

图 5 比较了不同 BIOS 选项的 WRF 结果,使用的数据集是 conus2.5km,默认为“namelist.input”文件。
该图绘制了在不同 BIOS 配置上运行 WRF-conus2.5km 数据集时获得的绝对平均时间步长(以秒为单位)。获得的平均时间步长绘制在 y 轴上,越低越好。与平均时间步长的特定值相关联的相对剖面绘制在 x 轴上。
以下是图表中的观察结果:
  • 使用 SNC=Enabled 时性能提高 2%。
  •  启用和禁用软件预取没有性能差异。
  •  性能配置文件比 PerformancePerWattDAPC 配置文件高 1%
  SLN316864_en_US__9a7
 SLN316864_en_US__10a6
图 6 至图 9 分别绘制了使用 Ice_2m、Combustor_12m、Aircraft_Wing_14m 和 Exhaust_System_33m 数据集运行 Fluent- 时获得的求解器评级。获得的求解器评级绘制在 y 轴上,越高越好。与平均时间的特定值关联的相对配置文件绘制在 x 轴上。
以下是上图的总体观察结果:
  • 使用 SNC=Enabled,性能提高多达 4%。
  • 软件预取对性能没有影响。
  • 与 DAPC 和操作系统配置文件相比,使用性能配置文件可将性能提高多达 2%。

结论

在本研究中,我们评估了在使用英特尔至强 Gold 6230 处理器时,不同 BIOS 调整选项对性能的影响。观察不同基准测试和应用程序中不同 BIOS 选项的性能,得出以下结论:
  • 软件预取 对测试的数据集没有显著的性能影响。因此,我们建议软件预取器保留为默认值,即 启用
  • 使用 SNC=Enabled时,与 SNC = Disabled相比,Fluent 和 Stream 中的性能提高了 2-4%,WRF 中的性能提高了约 1%。因此, 我们建议应启用 SNC 以获得更好的性能。
  • 性能配置文件比 PerformancePerWattDAPC 和 PerformancePerWattOS 高 2-4%。因此, 我们推荐 使用 HPC 的性能配置文件。
建议为通用 HPC 群集 关闭超线程 。根据所使用的应用程序,应测试并适当启用此功能的优势。

本研究中未讨论一种称为自适应双 DRAM 设备纠正 (ADDDC) 的内存 RAS 功能,当系统配置了具有 x4 DRAM 组织(32 GB、64 GB DIMM)的内存时,该功能可用。当系统具有基于 x8 的 DIMM(8 GB、16 GB)时,ADDDC 不可用,并且在这些配置中无关紧要。对于 HPC 工作负载,建议在 可调选项可用时将 ADDDC 设置为禁用

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140, Red Hat Enterprise Linux Version 7

Last Published Date

10 Apr 2021

Version

4

Article Type

Solution