在专用云中部署适用于 AI 负载的裸金属 GPU 集群

在某些情况下,部署用于语言建模的人工智能、机器学习和深度学习模型的工作负载可能对数据驻留、安全性和合规性有严格的要求。

对于这些工作负载,Oracle Cloud 提供多种分布式部署和运营模式,包括政府云、主权云和专用云。其中一个解决方案是 Oracle Cloud Infrastructure Dedicated Region ,这是一个部署到客户控制的数据中心的云区域,其服务和基础设施功能与 Oracle 公有云区域相同。

在公有云和专用云区域中,Oracle Cloud Infrastructure (OCI) 支持直接访问由高性能 GPU 和 Oracle RoCEv2 集群网络驱动的裸金属服务器集群。裸金属 GPU 集群具有出色的性价比,适用于部署专用 AI、ML 或 DL。

体系结构

此架构展示了典型系统中以 HPC 裸金属 GPU 集群为核心的各个组件之间的关系。

自然语言处理是一个预先训练的深度学习模型。每个模型的复杂性各不相同,可以根据 GPU 处理器的规格和包含其参数所需的内存进行调整以获得最佳性能。一些较大的模型包含数百亿个参数,需要大量的内存和处理能力来实时运行模型,这对 AI 推理应用程序至关重要。

对于更大的模型,不仅需要单个多 GPU 实例,还需要数百个 GPU 集群协同工作。这些实例还需要使用在集群网络上运行的集群文件系统来为集群中的节点之间的操作提供高 IOPS 以及尽可能高的延迟。

为了提供这种低延迟,高带宽文件系统 Oracle Cloud Infrastructure (OCI) 利用基于远程直接内存访问 (Remote Direct Memory Access,RDMA) 的 Oracle 低延迟集群网络,通过融合以太网 (RoCE) 运行,节点之间的延迟不到 10 微秒。RDMA 允许节点之间的低延迟连接和访问 GPU 内存,而无需涉及 CPU。OCI 支持客户将 4096 个裸金属节点集群在一起,每个节点具有 8 个 GPU,至多 32768 个 GPU。

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

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

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

architecture-bm-gpu-dedicated-region-oracle.zip(体系结构 -bm-gpu- 专用 - 区域

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

  • 区域

    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 的门户连接到头节点并调度作业。作业请求通过 Oracle Cloud Infrastructure FastConnect 或 IPSec VPN 到机头节点。head 节点还会将客户数据集发送到文件存储,并且可以对数据进行一些预处理。机头节点可以在作业完成时预配节点群集和删除群集。

  • 实例池

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

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

  • 对象存储

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

推荐

使用以下建议作为起点,并根据需要对其进行定制以满足您的特定要求。
  • 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 的子网体系结构与应用的安全要求分开。

  • GPU 节点

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

    可集群至多 32,768 个 GPU。

注意事项

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

  • 可用性

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

    • 监视和预警

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

    • 成本

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

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

      请注意,裸金属实例在未通电的情况下仍会产生运营成本。它们必须终止才能停止产生费用。

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

确认

  • 作者Michael Rutledge