作者:Timothy Prickett Morgan
微软 Azure 将 Cray XC 系列超级计算机和 CS Storm 集群应用到其公共云中已有两年多的时间,目前尚不清楚有多少用户采用了 Cray 公司(现在是 HPE 公司的一部分)的产品。希望在公共云平台上运行高性能计算(HPC)和人工智能工作负载(尤其是 GPU 加速的工作负载)的用户更有可能将现有实例集群集中在一起以创建虚拟超级计算机。
但是,微软公司非常渴望在 Azure 公共云平台上建立高性能计算(HPC)业务,从而让用户在外观上和感觉上都像在自己的数据中心中部署的集群一样,从而消除体验差异。
微软公司日前在丹佛举行的 SC19 超级计算机会议上宣布,Azure 新实例将在技术预览版中发布,它实际上是微软公司正在选定地区部署的 100 节点集群中的一个节点(目前还不清楚是哪一个节点)。这个名为 NDv2 的高性能计算(HPC)实例显然同样适用于运行机器学习训练工作负载以及 GPU 加速工作负载。NDv2 实例是基于一个 HGX 的 Tesla V100 GPU 加速器捆绑在一起共享数据,通过 NVLink (可以把它想象成 Nvidia 的 DGX-2 系统中一半的 GPU 复合体,其中抽出了 NVSwitch,并在这些 GPU 之间直接引导 NVLink,这样它们就可以寻址彼此的 32GB HBM2 内存)。这个 GPU 计算组件连接到主机 CPU 系统,该主机 CPU 系统基于一对 20 个“Skylake” Xeon SP-6168 Platinum 核心处理器,该处理器运行在 2.7 GHz 频率上,并安装在微软公司自己开发的“Project Olympus”系统中。服务器节点具有 672 GB 的内存,这表明某个地方有一个虚拟机管理程序会消耗一些内存资源。估计可能是 96GB,并且这个超级计算机在其 24 个内存插槽中装有 64GB 的内存条。
每个 NDv2 节点都有一个 100Gb/秒的 ConnectX-5 网络接口卡,可以和 100 Gb/秒的 EDR InfiniBand 互连,这显然是从 Mellanox 科技公司那里获得的技术,Nvidia 公司正在收购该公司。多年来,以太网已切换到微软公司的 Azure 公共云中。目前尚不清楚微软公司正在使用哪种拓扑来相互链接 NDv2 实例,但是猜测它是高性能计算(HPC)和人工智能工作负载中通常使用的 FatTree 拓扑,而不是超大规模厂商和云计算供应商通常使用的拓扑。Nvidia 公司副总裁兼加速计算总经理 Ian Buck 表示,NDv2 中的机器将以 8 台服务器为一个单元的形式出售,总共有 64 个 GPU,这意味着随着用户扩展他们的 NDv2 集群,他们正在购买一棵 FatTree 的相邻分支。知道这一点,人们可能会认为 NDv2 的高端 Pod 是 96 个节点,带有 768 个 GPU,但是被告知实际上是 100 个节点,总共有 800 个 GPU。
这些系统显然是在运行某些 Linux 变体的情况下设置的(CentOS 或 Ubuntu Server 是默认版本,但 Red Hat Enterprise Linux 和 SUSE Linux Enterprise Server 也是一个很好的选项),并且可以通过以下方式获得完整的 Nvidia 软件堆栈:Nvidia NGC 云或 Azure 市场。微软公司表示已经安装了 Mellanox OFED 网络驱动程序(就像有任何其他选择一样),并且支持所有 MPI 类型和版本。显然,某处有一个虚拟机管理程序,大概是 Hyper-V,微软公司用来构建 Azure 云。Hyper-V 运行时,没有任何性能下降的迹象。
微软公司目前还没有正式公布其定价,但有消息表明,每个 NDv2 实例的定价将为 26.44 美元。但是需要了解所有的 GPU 性能和内存带宽带来的负担。而且,即使客户没有充分利用 InfiniBand 网络的成本,也必须为此支付费用。
如果没有任何数据存储服务,用户将一个 96 节点的集群运行三年将会花费6,675 万美元,并且这个超级计算机将具有 5.76 petaflops 的总峰值双精度性能。DGX-1V 具有 8 个 Tesla V100 和两个 Xeon 处理器,大致类似于微软公司为 NDv2 实例组装的节点,当前价格为 119,000 美元(低于两年前发布时的 169,000 美元)。因此,其中 96 台服务器将花费 1140 万美元,其中包括大量的本地闪存和 4 倍的网络带宽。这些费用并没有包括电源、冷却、房地产、系统管理或 InfiniBand 的交换机和布线成本,但是如果用户将其向后计算并在四年内摊销,则仅硬件就具有相同的 5.76 petaflops 的性能,并且可以计算出 DGX-1 节点的费用为每小时 4.53 美元,用户自行承担构建一个 96 节点集群的成本,并了解如何比较它们的负担。或者,相当于 ODM 和 OEM 服务器的成本,甚至比 Nvidia 公司的价格还要低。微软公司为其公共云上的高性能计算(HPC)设置了上限。
这里要考虑的另一件事是利用率。为了进行论证,假设一个内部 DGX-1 集群每小时仅需花费 10 美元,仅用于计算和联网,而无需来自 Pure Storage 或 DataDirect Networks 的本地闪存存储阵列,也无需使用 Excelero、Vast Data 或 Lightbits 自产实验室软件定义的存储。如果企业拥有自己的混合 CPU-GPU 集群,并且只在 50% 的时间内使用它,那么实际上每小时要支付 20 美元才能拥有该集群。因此,云计算与内部部署之间的差距很快就消除了。但是,用户也可以使用 ODM 或 OEM 服务器来降低成本,例如浪潮、Supermicro、戴尔、HPE 公司的服务器,而价格却要比 Nvidia 公司要低得多,大概减少 40% 的成本。这样可以降低一些总成本,但可能不会达到用户的期望。如果提高利用率,那么每小时的本地成本也会下降。这里要了解的是,利用率是决定因素,而利用率模式可能会驱动用户选择在内部部署和云平台部署多少容量。
或者只需管理所有这些,然后将其全部移至云中就可以。一些高性能计算(HPC)和人工智能从业者会这样做,因为他们不会大规模运作。
除了 NDv2 实例之外,微软公司还将预览其基于 64 核“Rome”Epyc 7742 处理器的 HBv2 虚拟机,其中 60 个核心处理器用在 Hyper-V 虚拟机管理程序之上。基础节点有两个这样的处理器,核心处理器的运行频率为 2.25 GHz,最高可提升至 3.4 GHz。微软公司表示,两路 HBv2 节点可以双精度提供 4teraflops 的总峰值浮点性能,此外,它已经建立的网络可以使用 MPI 跨越 8 万个核心处理器,Azure 区域内峰值容量的 5.36 petaflops。顺便说一下,这些节点使用 Mellanox 的 200Gb/秒的 HDR InfiniBand 互连,这是在公共云上首次使用 HDR InfiniBand。HBv2 实例具有 480GB 的可供应用程序使用的内存,并在两个插槽之间提供 350GB/秒的内存带宽。每小时收费 3.96 美元。按照微软公司在 HBv2 实例上为其 HDR 网络提供的全部 MPI 可扩展性限制(可能是 672 个节点),每小时仅需花费2,661 美元,即可使用按需实例租用 5.36 petaflops 云。其预留实例尚不可用,这将显著降低价格。
微软公司希望在 Azure 公共云上拥有数据启示的四个主要功能,就像英特尔公司想要拥有一样,而 AMD 公司正在通过合作伙伴关系和自己的芯片(CPU、GPU、FPGA 和 NNP)来实现这一目标。为此,微软公司正在预览其 NDv3 实例,该实例将具有与一对具有 768 GB 内存和 8 个 Skylake Xeon SP-8168 Platinum 处理器的基本 Olympus 服务器节点。每个 Graphcore 加速器都有一对 IPU 芯片,并提供1,216 个 IPU 芯片,7,296 个线程和 300MB 的内存以及惊人的 45TB/秒的内存带宽。Graphcore 处理器上的 16 个 IPU 核心库组通过专有的 IPU-Exchange 交换机连接,其总带宽为 8TB/ 秒,并且在 NDv3 实例中,使用专有的 IPU 链接将多达 8 个 Graphcore 芯片粘合在一起互连(这大致类似于带有 GPU 的 NVLink)。Graphcore 芯片通过 PCI-Express 4.0×16 插槽连接到 CPU 结构中。这些实例配备了 Graphcore 的 Poplar 软件开发套件。
此外,微软公司承诺将在 Azure 上提供 NP 系列实例,该实例将公开 Xilinx 的一到四个 Alveo U250 FPGA 加速器。该服务器将由与上述其他实例相同的基本服务器实例托管,并将预装 Xilinx 的 SDAccel 2019.1 运行时环境。
微软公司尚未发布 Graphcore NDv3 系列和 Xilinx U250 NP 系列实例的价格。
在已经出售其 F1 FPGA 实例并且尚未透露任何 NNP 实例计划的 AWS 公共云上,SC19 的目的是谈论其新的 C5a 和 C5ad 实例,它们将以裸机形式与 192 个虚拟实例一起提供。虚拟 CPU (vCPU 是跨激活内核的线程)和 384GB 内存。C5a 使用网络存储,而 C5ad 具有 7.6 TB 的本地 NVM-Express 闪存存储。对于虚拟化实例,CPU 计算的比例将分成 8 个不同大小的实例,并且 Nitro SmartNIC 将处理绝大多数 KVM 虚拟机管理程序功能以及网络、存储和加速器虚拟化,从而释放那些 Skylake 核心开展真正的主机工作。在裸机模式下,C5a 和 C5ad Rome Epyc 实例将有一个 100Gb/秒的以太网接口连接到网络,并且 Elastic Fabric Adapter 会根据 CPU 计算来扩大或缩小规模。