部署基因组应用程序框架和 NVIDIA Clara Parabricks

用于深度学习和科学计算的计算框架工作是需要专门计算形状的专门工作负载。Oracle Cloud Infrastructure (OCI) 提供了各种选项,从裸金属到虚拟机 (VM) GPU 形状。NVIDIA GPU 云 (NGC) 是 OCI 上可用选项的一个示例。

体系结构

您可以将此参考体系结构用于与深度学习和科学计算相关的多个应用程序。

在此示例中,适用于 NVIDIA Clara Parabricks。Clara Parabricks 是一个支持基因组应用的计算框架。基于 GPU 的解决方案加快了整个基因组的分析过程。例如,所有 30 亿人体染色体基准对均可在一小时内进行分析。Clara Parabricks 可以建立蛋白质折叠、蛋白质 - 脂肪粘结和细胞膜传输的模式,使之成为药物研究和发现的有用应用。

NVIDIA Clara Parabricks 包括以下功能:

  • 使用 NVIDIA 的 CUDA、HPC、AI 和数据分析堆栈。
  • C + +和 Python API、引用应用程序以及与第三方应用程序和工作流的集成,以便在基因组中实现高性能计算、深入学习和数据分析工具。
  • 使用 Clara Parabricks 工具包开发 AI 协助的工作流,以优化 de novo 基因组组件的映射、对齐和抛光。

在此简单引用中,具有块存储的 GPU 节点部署在具有公共子网和 Internet 网关的 VCN 中。所有应用程序都位于块存储中。

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

后面是 hpc-cloud-guard.png 的说明
插图 hpc-cloud-guard.png 的说明

体系结构包含以下组件:

  • 区域

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

  • 可用性域

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

  • 故障域

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

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

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

  • Cloud Guard

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

  • BM GPA

    使用裸金属 GPU 形状进行硬件加速分析和其他计算。

  • 块存储

    将应用程序存储在块存储中。

  • Internet 网关

    Internet 网关允许 VCN 中的公共子网与公共 Internet 之间的通信。

  • 安全列表

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

  • 路由表

    虚拟路由表包含用于将流量从子网路由到 VCN 外部的目标的规则,通常是通过网关路由。

建议

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

  • VCN

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

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

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

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

  • 安全列表

    使用安全列表定义适用于整个子网的入站和出站规则。

  • Cloud Guard

    克隆并定制 Oracle 提供的默认配方以创建定制检测器和响应器配方。使用这些配方可以指定哪些类型的安全违规生成警告,以及允许对其执行的操作。例如,您可能希望检测可见性设置为 public 的对象存储桶。

    在租户级别应用 Cloud Guard 以覆盖最广泛的范围,并减少维护多个配置的管理负担。

    您还可以使用“托管列表”功能将某些配置应用于检测器。

  • BM GPA

    为了获得最佳性能,请使用裸金属形状 BM.GPU2.2 或 BM.GPU3.8

考虑事项

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

  • 性能

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

  • 可用性

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

  • 成本

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

  • 监视和预警

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

部署

GitHub 上提供了此引用体系结构的 Terraform 代码。单击一次即可将代码拉入 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 文档中的说明操作。

更多信息

了解有关此体系结构功能的更多信息。