部署由 NVIDIA Tensor Core GPU 提供支持的 HPC 裸金属服务器集群

部署人工智能 (Artificial Intelligence,AI)、机器学习 (Machine Learning,ML) 或深度学习 (Deep Learning,DL) 模型(例如 BERT-Large,用于语言建模),通常可以从 AI 负载的 GPU 加速中受益。

Oracle Cloud Infrastructure (OCI) 支持直接访问裸金属服务器集群。裸金属 GPU 集群提供了用于部署 AI、ML 或 DL 的出色的性价比。您可以托管超过 500 个 GPU 集群,并按需轻松扩展。

体系结构

此架构展示了典型系统中以 HPC 裸金属 GPU 集群为核心的各个组件之间的关系。它可以应用于许多 AI、ML 或 DL 应用程序,例如 BERT-Large、GPT2/3、Jasper、MaskRCNN 和 GNMT。

BERT 是一个预先训练的深度学习模型,在自然语言处理 (NLP) 任务中很受欢迎。它可以针对特定的应用程序或领域进行微调。较大的变体 BERT-large 包含 340M 参数。训练和推理时间是巨大的,没有数百个相同的 GPU 上的大规模分布式集群。GPU 集群需要高 I/O 吞吐量和低延迟集群文件系统。对于实时 AI 推断应用而言,处理数据的速度、速度和成本尤其重要。

Oracle Cloud Infrastructure (OCI) 利用基于远程直接内存访问 (Remote Direct Memory Access,RDMA) 的 Oracle 低延迟集群网络,在融合以太网 (RoCE) 上运行,延迟低于 2 微秒。RDMA 允许节点之间的低延迟连接和访问 GPU 内存,而无需涉及 CPU。OCI HPC 支持客户将 64 个裸金属节点(每个节点 8 个 NVIDIA A100 GPU)集群到 512 个 GPU。

OCI 为 HPC 工作负载提供多种高性能、低延迟存储解决方案,例如本地 NVMe SSD、网络和并行文件系统。OCI 裸金属服务器附带 NVMe SSD 本地存储。它可用于为临时文件创建暂存 NFS 或暂存并行文件系统 (BeeOND,Weka)。使用块存储卷多连接功能,您可以使用单个卷存储整个训练数据集并将其连接到多个 GPU 实例。或者,您可以使用 Intel Ice Lake BM 或 VM 和均衡的性能层块存储,通过基于 NFS(NFS-HA、FSS)或并行文件系统(Weka.io、Spectrum Scale、BeeGFS、BeeOND)构建吞吐量最高、成本最低的文件服务器。培训结果保存在 Oracle Cloud Infrastructure Object Storage 中用于长期存储。

下图说明了此参考体系结构。

下面是 architecture-hpc-bm-gpu.png 的说明
插图体系结构 -hpc-bm-gpu.png 的说明

architecture-hpc-bm-gpu-oracle.zip(体系结构 -hpc-bm-gp

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

  • 区域

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

  • 云卫士

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

  • 可用性域

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

  • 容错域

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

  • 区间

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问以及设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定哪些人可以访问资源以及他们可以执行哪些操作。

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

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

  • 站点到站点 VPN

    站点到站点 VPN 可在本地网络与 Oracle Cloud Infrastructure 中的 VCN 之间提供 IPSec VPN 连接。IPSec 协议套件会在数据包从源传输到目标之前对 IP 通信进行加密,并在数据包到达时对通信进行解密。

  • FastConnect

    Oracle Cloud Infrastructure FastConnect 提供了一种在您的数据中心与 Oracle Cloud Infrastructure 之间创建专用私有连接的简便方式。与基于 Internet 的连接相比,FastConnect 提供了更高的带宽选项和更可靠的网络体验。

  • 动态路由网关 (DRG)

    DRG 是一个虚拟路由器,它为同一区域中的 VCN 之间、区域外的 VCN 与网络之间的专用网络流量提供路径,例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或其他云提供商中的网络。

  • 网络地址转换 (NAT) 网关

    通过 NAT 网关,VCN 中的专用资源可以访问互联网上的主机,而不会向传入的互联网连接公开这些资源。

  • Internet 网关

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

  • 服务网关

    通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会通过互联网传输。

  • 安全列表

    对于每个子网,您可以创建安全规则来指定必须允许进出子网的通信的源、目的地和类型。

  • 路由表

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

  • 堡垒主机

    堡垒主机是一个计算实例,它是一个从云外部安全、受控的拓扑入口点。堡垒主机通常设置在隔离区 (DMZ) 中。通过它,您可以保护敏感资源,将其放在无法从云外部直接访问的专用网络中。拓扑具有已知的一个入口点,您可以定期监视和审计。因此,您可以避免公开拓扑中较为敏感的组件,同时又不会影响对它们的访问。

  • 堡垒节点(头节点)

    堡垒节点(头节点)使用基于 Web 的门户连接到头节点并调度 HPC 作业。作业请求通过 Oracle Cloud Infrastructure FastConnect 或 IPSec VPN 到机头节点。head 节点还会将客户数据集发送到文件存储,并且可以对数据进行一些预处理。机头节点可以在作业完成时预配 HPC 节点集群和删除 HPC 集群。

    机头节点包含 BERT 模型,运行调度程序,并且可以充当堡垒主机来访问群集。它具有消息传递接口 (message pass interface,MPI) 和通过 REST API 自动扩展裸金属节点。HPC 集群按需预配裸金属节点。模型训练和推断使用连接到裸金属节点的 4 x 6.4TB NVMe SSD 本地存储。如果您使用我们的解决方案来启动基础结构,则体系结构将部署机头节点,并且默认情况下在 /mnt 中的 NVMe SSD 存储上安装 nfs-share

  • HPC 集群节点

    机头节点预配并终止这些支持 RDMA 的集群的计算节点。它们处理存储在文件存储中的数据,并将结果返回到文件存储。

  • NFS 服务器

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

  • 实例池

    实例池是基于相同实例配置创建并作为组一起管理的区域内的一组实例。

    通过实例池,您可以在与组相同的区域中创建和管理多个计算实例。它们还可以与其他服务集成,例如 Oracle Cloud Infrastructure Load Balancing 服务和 Oracle Cloud Infrastructure Identity and Access Management 服务。

  • 裸机数据库系统

    裸金属 (bare metal,BM) 数据库系统是运行 Oracle Linux 7 的单个裸金属服务器,具有本地连接的 NVMe 存储。使用裸金属 GPU 配置进行硬件加速分析和其他计算。

    启动裸金属数据库系统时,您可以选择适用于该数据库系统上所有数据库的配置和单个 Oracle Database 版本。每个数据库系统可以具有多个数据库主目录,这些主目录可以是不同的版本。每个数据库主目录只能有一个数据库,该数据库与数据库主目录的版本相同。

    配置确定分配给数据库系统的资源。选项(如 2 路或 3 路镜像以及为数据文件分配的空间)会影响系统上的可用存储量。

  • 对象存储

    通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全、安全地存储数据,然后直接从互联网或云平台检索数据。您可以扩展存储,而不会出现性能或服务可靠性下降的情况。将标准存储用于“热”存储,以便您快速、立即和频繁地访问。将归档存储用于长时间保留的“冷”存储,很少或很少访问。

推荐

使用以下建议作为起点。 您的要求可能不同于此处所述的体系结构。
  • VCN

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

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

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

    设计子网时,请考虑流量和安全要求。将特定层或角色内的所有资源连接到同一子网,该子网可以充当安全边界。

    使用区域子网。

  • 安全

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

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

  • 云卫士

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

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

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

  • 安全区域

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

  • 网络安全组 (NSG)

    可以使用 NSG 定义一组适用于特定 VNIC 的入站和出站规则。我们建议使用 NSG 而非安全列表,因为 NSG 支持您将 VCN 的子网体系结构与应用的安全要求分开。

  • HPC 节点

    部署 HPC 裸金属配置以获得完整的性能。

    使用 BM.HPC4.8 配置和 8 个 A100 Tensor Core GPU(带 40 GB 内存)、2 个 32 核心 AMD(2.9 GHz、2048 GB DDR4、8 个 200 Gbps 网络)、4 个 6.4-TB 本地 NVMe SSD 存储(每个节点最多 1PB 块)。

    可集群至多 64 个裸金属节点,提供 512 个 GPU 和 4096 个 CPU。

注意事项

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

  • 性能

    根据工作量的大小,确定您希望 BERT 在多少个核心上运行。此决策可确保及时完成模拟。

    要获得卓越的性能,请选择具有适当带宽的正确计算配置。

  • 可用性

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

    • 监视和预警

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

    • 成本

      裸金属 GPU 实例可提供所需的 CPU 电源来提高成本。评估您的需求,选择合适的计算配置。

      没有作业在运行时可以删除集群。

  • 集群文件系统

    有多种情况:

    1. HPC 配置附带的本地 NVMe SSD 存储。
    2. 多连接块存储卷至多可实现 2680 MB/s 的 IO 吞吐量或 700k IOPS。
    3. 您也可以将自己的并行文件系统安装在 NVMe SSD 存储或块存储之上,具体取决于您的性能要求。OCI 提供基于暂存和永久 NFS 的 (NFS-HA,FSS) 或并行文件系统 (weka.io,Spectrum Scale,BeeGFS,BeeOND,Lustre,Gluster,Quobyte) 解决方案,请参阅“探索更多”。联系 HPC 存储团队,为您的需求设计最优的解决方案。

确认

  • 作者Wei Han