高性能计算:Oracle Cloud Infrastructure 上的 OpenFOAM

OpenFOAM 是一种计算流体动态工具,用于学术界和行业的科学研究,以解决各种复杂的流体流量问题。

OpenFOAM 可用于开发和测试新的求解器和物理模型。并行功能适用于运行需要大量资源的研究级别问题。它可以解决有动荡的不可压缩的流量问题,并可以模拟混合前和非混合燃烧。

体系结构

体系结构使用一个堡垒/机头节点连接到 HPC 群集。

头节点包含 OpenFOAM 安装和型号。它具有消息传递界面 (message pass interface, MPI),并编排和运行作业。作业结果保存在题头节点上。

下图说明了此引用体系结构。

后面是体系结构 hpc.png 的说明
插图体系结构的说明 -hpc.png

architecture-hpc-oracle.zip

体系结构具有以下组成部分:

  • 区域

    Oracle Cloud Infrastructure 区域是一个本地化地理区域,包含一个或多个数据中心,称为可用性域。区域独立于其他区域,其距离很大(跨越国家或甚至大陆)可以分开。

  • 可用性域

    可用性域是区域内的独立独立数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,这些资源提供故障容差。可用性域不共享基础结构(例如电源或冷却设备)或者内部可用性域网络。因此,一个可用性域出现故障不太可能影响该区域中的其他可用性域。

  • 容错域

    容错域是可用性域内的一组硬件和基础设施。每个可用性域都有三个具有独立电源和硬件的故障域。在多个故障域之间分配资源时,应用程序可以容忍故障域中的物理服务器故障、系统维护和电源故障。

  • 虚拟云网络 (VCN) 和子网

    VCN 是在 Oracle Cloud Infrastructure 区域中设置的可自定义、软件定义的网络。与传统的数据中心网络一样,VCN 允许您完全控制您的网络环境。VCN 可以有多个非重叠 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为子网,子网可以被限定为区域或可用性域。每个子网包含一系列与 VCN 中的其他子网不重叠的地址。您可以在创建后更改子网的大小。子网可以是公共的或专用的。

  • 安全列表

    对于每个子网,可以创建安全规则,以指定必须允许进出子网的源、目标和流量类型。

  • 实例池

    使用实例池可以创建和管理与组在同一区域中的多个计算实例。它们还启用与其他服务(例如负载平衡服务和 IAM 服务)的集成。

  • 底座节点/头节点

    使用基于 Web 的门户连接到主节点并调度 HPC 作业。作业请求通过 FastConnect 或 IPSec VPN 传递到头节点。head 节点还会将客户数据集发送到文件存储,并且可以对数据执行一些预处理。

    头节点预配 HPC 节点群集,并在作业完成时删除 HPC 群集。

  • HPC 集群节点

    头节点预配并终止这些已启用 RDM 的集群的计算节点。它们处理存储在文件存储中的数据并将结果返回到文件存储。

  • Cloud Guard

    可以使用 Oracle Cloud Guard 监视和维护云中资源的安全性。Cloud Guard 检查您的资源中是否存在与配置相关的安全弱点,并监视操作员和用户是否有风险活动。确定任何安全问题或风险后,Cloud Guard 会根据您可以定义的安全配方建议更正操作并协助您执行这些操作。

  • NFS 服务器

    其中一个 HPC 节点将提升为 NFS 服务器。

建议

您的要求可能与此处描述的体系结构不同。使用以下建议案作为起点。

  • VCN

    创建 VCN 时,根据计划附加到 VCN 中子网的资源数确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。

    选择不与您要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure、内部部署数据中心或其他云提供商中)重叠的 CIDR 块。

    创建 VCN 后,可以更改、添加和删除其 CIDR 块。

    设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可用作安全边界的同一子网。

  • 安全性

    使用 Oracle Cloud Guard 可以主动监视和维护 OCI 中资源的安全性。Cloud Guard 使用检测器配方,您可以定义这些配方来检查资源是否存在安全弱点,以及监视操作员和用户是否有风险活动。检测到任何不正确的配置或不安全的活动时,Cloud Guard 会根据您可以定义的响应方配方建议更正操作并协助这些操作。

    对于需要最大安全性的资源,Oracle 建议您使用安全区域。安全区域是与基于最佳做法的 Oracle 定义的安全策略配方关联的区间。例如,安全区中的资源不能从公共 Internet 访问,并且必须使用客户管理的密钥对其进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 将根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。

  • HPC 节点

    有两种方案:

    1. 使用实例池在 VM 配置上部署,如体系结构图中所示。此方案提供较低的成本,但性能也较低。

      将 VM.Standard.E3.Flex 或 VM.Standard.E4.Flex 与文件存储服务结合使用。

    2. 部署 HPC BARE Metal 形状以获得全面性能。

      将 BM.HPC2.36 配置与 6.4-TB 本地 NVMe SSD 存储、36 个核心和 384-GB 内存配合使用。

考虑事项

部署此引用体系结构时,请考虑以下几点。

  • 性能

    根据工作量的大小,确定希望 OpenFOAM 运行的核心数。这项决定确保模拟工作及时完成。

    要获得最佳性能,请选择具有相应带宽的正确计算形状。

  • 可用性

    根据您的部署要求和区域,考虑使用高可用性选项。选项包括在区域和故障域中使用多个可用性域。

  • 成本

    裸金属 GPU 实例为更高的成本提供必要的 CPU 功率。评估需求以选择适当的计算形状。

    如果没有正在运行的作业,则可以删除集群。

  • 监视和预警

    为节点设置 CPU 和内存使用情况的监视和预警,以便您可以根据需要向上或向下扩展配置。

  • 存储

    在 HPC 配置附带的 NVMe SSD 存储上,您还可以将块存储卷附加到每个卷 32k IOPS,并支持 Oracle 的最高性能 SLA。如果您使用我们的解决方案启动基础结构,则缺省情况下,nfs 共享将安装在/mnt 中的 NVMe SSD 存储上。您还可以根据性能要求在 NVMe SSD 存储或块存储上安装自己的并行文件系统。

  • 可视化程序节点

    您可以根据需要创建可视化器节点,例如 GPU 虚拟机 (virtual machine, VM) 或裸金属节点。此可视化程序节点可以是您的堡垒主机或单独的。可视化程序节点可以放置在专用子网或公共子网中,具体取决于工作量的安全要求。

部署

部署此引用体系结构所需的代码在 GitHub 中可用。单击一次即可将代码拉入 Oracle Cloud Infrastructure Resource Manager,创建堆栈并部署该堆栈。或者,也可以使用 Terraform CLI 将代码从 GitHub 下载到计算机,定制代码并部署体系结构。

  • 使用 Oracle Cloud Infrastructure Resource Manager 进行部署:
    1. 单击部署到 Oracle Cloud

      如果您尚未登录,请输入租户和用户身份证明。

    2. 查看并接受条款和条件。
    3. 选择要在其中部署堆栈的区域。
    4. 按照屏幕上的提示和说明创建堆栈。
    5. 创建堆栈后,单击 Terraform 操作,然后选择规划
    6. 等待作业完成,然后复核计划。

      要进行任何更改,请返回“堆栈详细信息”页,单击编辑堆栈,然后进行所需的更改。然后,再次运行计划操作。

    7. 如果不需要进一步更改,请返回“堆栈详细信息”页,单击 Terraform 操作,然后选择应用
  • 使用 GitHub 中的 Terraform 代码进行部署:
    1. 转到 GitHub
    2. 将资料档案库克隆或下载到本地计算机。
    3. 按照 README 文档中的说明操作。

更改日志

此日志列出了重大更改: