HPC 集群计算类型的注意事项
HPC 工作负载在 CPU ,内存,网络和存储资源需求方面有不同的要求。
您可以从以下内容开始:
- 核心计数
- 每个核心的内存
- 网络带宽和等待时间
- 处理器时钟速度
目标是选取返回最佳性价比的计算配置。 HPC 工作负载可以与单个核心作业一样简单,也可以与需要数百到数千个核心的作业一样复杂。 HPC 聚集了计算能力 (集群) ,可以提供更高的性能并解决大问题。
大多数 HPC 工作负载都低于 1000 个核心范围。 有些工作负载需要大量核心,直至 (包括) 10k-50k。 HPC 工作负载的执行时间可能很简单,仅持续几秒,也可能很复杂,需要几天时间。
例如, EDA (电子设计模拟) 工作负载具有组件级别的模拟作业,这些作业每天需要运行数百万个此类作业,但每个作业需要单个核心和大约 10 秒。 其他如光学近距离校正可能需要多个小时甚至几天,具体取决于芯片的大小和 HPC 集群的大小。
通常, HPC 集群包含一组虚拟机,并使用该集群来运行多个工作负载。 这一切都取决于工作负载资源需求和持续时间。
为了解决此范围的特征, IBM Cloud® 以不同方式提供各种 VPC 虚拟机 (VM) 配置:
- 均衡配置,可提供每个核心的平均 4 GB 内存,并且在网络带宽中的范围为 4-64 Gbps
- 计算密集型配置,可提供每个核心的 2 GB内存和 4-80 Gbps 网络
- 内存密集型配置,可提供 8-每个核心 28 GB 内存和 2-80 Gbps 网络
对于所有配置,每个虚拟机的核心计数范围为 2-128。 有一种特殊的超高内存虚拟机类型,可能适用于每个核心需要更多内存的工作负载。 此类型最多可以达到 200 个核心,每个核心可高达 28 GB。
单个 NIC 上的网络带宽可以达到最大 16 Gbps。 如果需要更高的带宽,那么可能需要更多高达 80 Gbps 的 NIC 配置。 在这些情况下,需要为虚拟机配置 5 个 NIC。
缺省情况下,将在 IBM Cloud 虚拟机上启用超线程技术,因此每个物理核心都将获得 2 vCPUs 。 但这很容易被禁用。
请注意:大多数 HPC 应用程序的性能最佳,每个物理核心有一个进程或线程。
对于可以适合单个虚拟机上的通信密集型工作负载,最好选择最佳匹配项,最多可使用 128 个核心虚拟机实例,而不是在多个虚拟机实例之间拆分具有较小核心计数的工作负载。 这使进程能够利用通过单个虚拟机上的共享内存进行的更快通信,而不是通过以太网网络跨多个虚拟机进行的通信。
从角度来看,在同一虚拟机上运行的两个进程可能能够以微秒 (例如, 0.3 微秒) 的一小部分进行通信,而在两个虚拟机实例中,可能需要 30 微秒以上的时间。 通过单个虚拟机中的共享内存时,通信速度提高 100 倍。
非常经济有效的配置是 cx2-128x256,它允许每个核心 128 个核心和 2 GB 内存。 这可以涵盖广泛的 MPI 工作负载。
请注意:可以设置可扩展的 MPI 作业,这些作业需要配置为最多 80 Gbps 的多个虚拟机,但这需要多个 NIC ,并且可能不需要这些 NIC。 建议选择一个配置,通过单个 NIC 为每个核心提供最佳网络带宽。 bx2-16x64 可能是 MPI 基准测试的良好起点。
特定工作负载的基准评测
电子设计自动化 (EDA)
IBM Systems 和 IBM Research 在此行业领域开展工作,并已成功将 IBM Cloud 用于此类工作负载。 下图显示了最多 30 K 个核心的刻度测试。 为了展示如何将云区域用作单个数据中心,我们构建了一个大型 HPC 集群,用于聚集三个 IBM Cloud 位置的资源。 安装还将 IBM Spectrum Scale 用作基于临时的高性能文件系统以及 IBM Spectrum LSF 用于 HPC 集群配置。 我们已将 BX2-48x192 用于 IBM Spectrum LSF 工作程序节点,并将 MX2d-16x128 用于 IBM Spectrum Scale下的存储节点。
天气 (WRF 模型)
IBM Cloud 显示线性性能,性能良好,可扩展为数千个核心。 用于此基准的虚拟机配置为 bx2-16x64。 WRF 模型对网络等待时间不敏感,因为它将许多变量打包到每条消息中,从而产生相当大的消息,而没有多少小的消息。
红线表示具有 InfiniBand HDR 的 HPC 环境,提供最高带宽,最短等待时间,并且是此类工作负载的最佳配置。 绿色线条显示 IBM Cloud 以及用于基准测试的 Lon2 数据中心。 蓝线是 Summit 超级计算机。 总之,具有类似于 WRF 模型的特征的任何工作负载都应该使用 IBM Cloud进行扩展。 如您所见, IBM Cloud 显示了针对最先进的 HPC 系统的合理性能。
DoE (能源部) 基准评测
SNAP 和 Quicksilver 是 DoE 用于对特定商品技术系统进行基准测试和决策的两个应用程序。
下图显示了 IBM Cloud 如何与最先进的 HPC 系统进行比较的结果。
在 IBM Cloud上,基准程序使用了两种不同的配置:
- bx2-8x32
- bx2-16x64
如您所见, SNAP 结果显示 bx2-8x32 提供了更高的性能,因为每个核心的有效网络带宽比率更高; 其中 Quicksilver 与 bx2-16x64 表现良好,因为它具有中等的通信需求,并且大多是在全局域中跟踪粒子运动的近邻节点。
尽管缩放效果不如天气模型,但 IBM Cloud 可以使用线性曲线合理缩放多达数千个核心。
虚拟机用例
IBM Cloud 的虚拟机概要文件类型选项取决于有关核心,内存和网络需求的工作负载详细信息。
单节点虚拟机用例
这应该是第一次评估,因为它可以提供在 IBM Cloud上运行此类作业的最佳价格和性能。
您可以从以下一组虚拟机概要文件中进行选择:
- CX2-16x32 到 CX2-128x256
- BX2-16x64 到 BX2-128x512
- MX2-16x128 到 MX2-128x1024
根据每个核心所需的内存,您可以选择 MX2 配置,该配置在 MX2-128x1024 概要文件上最多支持 1 TB。
如果每个核心所需的内存低于 2 GB ,那么相应的 CX2 概要文件可能会为您提供最佳的价格和性能。 如果工作负载可以在单个虚拟机上运行,那么与共享内存进行更快通信的优点有助于提高性能。
此类工作负载的一些示例:
- 局部地区天气预报,分辨率不高,模型大但规模不大
- OpenFOAM 计算流体动力学, 2 百万到 1000 万个网格单元之间问题的大小
- 电子设计自动化 (EDA) 中的设计规则检查 (DRC) 作为芯片设计的一部分
- EDA 单组件模拟和验证作业
使用多个虚拟机向外扩展用例
这是第二类工作负载,其中要求具有多个要执行的虚拟机。 甚至对于此类别,根据网络带宽和等待时间需求,大量 HPC 工作负载将在 IBM Cloud上扩展。
在某些情况下,可能需要对应用程序代码进行小型更新以将其调整好,以便在类似云的环境中运行,并且这些更改并非特定于 IBM Cloud ,而是希望向任何云提供者分类群发。
IBM 具有深厚的 HPC 专业知识,可提供特定建议,帮助您获得 HPC 云环境的最佳性价比。
IBM Cloud 已在以下示例中成功:
- EDA 中的光学近似值校正 (OPC)
- EDA 中的全芯片集成电路验证器 (ICV)
- 任何 Hadoop 映射/减少或 Spark 工作负载
- 无法在单个虚拟机上运行的 MPI 工作负载
此类工作负载的建议是从 BX2-16x64 开始,因为它在迄今为止的测试中提供了最佳性能。 根据您的结果,您可以深入了解可能更适合特定工作负载的替代选项。 某些工作负载可能具有网络等待时间敏感性,并且 IBM Cloud 配置可能没有前景; 但是,即使在这些情况下,请与产品所有者和销售团队进行互动,以便 HPC 专家可以评估您的特定需求并提供帮助。