深度刨析,机房数据中心在 HPC 系统上实现可组合性

发布时间:2022-04-03 09:14

随着 HPC 和 AI 工作负载变得越来越大,并且对计算能力和带宽能力的要求越来越高,系统架构师在思考未来系统时正试图找出养活这头野兽的最佳方式。

一种系统设计方案涉及将尽可能多的东西塞到硅片上,在封装内集成尽可能多的东西,快速互连可在组件之间提供更低的延迟。这可以从将 CPU 和 GPU 加速器放在混合芯片上的努力中看出,例如 AMD 的加速处理单元 (APU)、Nvidia 的“Grace” CPU 和“Hopper” GPU 混合,以及英特尔即将推出的“猎鹰海岸”套餐。

另一种系统设计方法是分解组件,创建一个可组合的基础架构环境,其中计算和网络被分解为更小的部分,这些部分基本上可以组合成一个资源池,可以根据工作负载的需要进行利用。所需的 CPU 和 GPU 功率以及应用程序使用的内存、I/O 和其他组件从池中获取,然后在工作完成后返回到池中以供其他工作负载使用。

去年我们写过这篇文章,当时可组合织物制造商 Liqid 被国家科学基金会选中,在德克萨斯 A&M 大学安装的名为 Accelerated Computing for Emerging Sciences (ACES) 的原型系统中使用其 Matrix 织物和 Liqid 指挥中心控制器。

这也是德克萨斯高级计算中心 (TACC) 的工程师正在使用其Lonestar6 超级计算机在一个新项目中进行测试的方向,TACC 正在与 GigaIO 在测试平台上合作,以了解这种可组合环境如何工作。

我们猜想,德克萨斯州有一些关于可组合超级计算的东西。

“这是我们在可组合性方面的实验之一,”TACC 执行董事 Dan Stanzione 告诉The Next Platform。“目前这在某种程度上是一个研究项目,但我们正在将其连接到生产系统中,我们将使其可供用户使用并衡量效率。我们将有一些节点直接连接 GPU,然后有一些节点通过这个 PCI 交换机基础设施连接 GPU。我们可能还会在其中添加一些 NVM-Express 设备,但目前,我们只是放入 GPU 以开始使用。”

Lonestar6 是位于德克萨斯州奥斯汀的超级计算机中心的最新集群,这是一个 600 个节点的系统,包括由AMD 的 Epyc“米兰”服务器芯片和Nvidia 的“Ampere”A100 GPU驱动的戴尔系统,并通过 Mellanox 的 HDR InfiniBand(Nvidia 2019 年以 70 亿美元收购)。每个计算节点运行两个 64 核 Epyc 7763 芯片和 256 GB 的 DDR4 内存,而 GPU 节点拥有两个 Epyc 芯片和两个 GPU,每个都有 40 GB 的高带宽内存。鉴于 Lonestar6 运行的数千个工作负载中的很多都没有被重构为由 GPU 加速,因此 Lonestar6 机器中的纯 CPU 节点比配备 GPU 的节点要多得多。

TACC 的 Lonestar6 超级计算机
该机器于今年早些时候投入全面生产,不仅被德克萨斯大学奥斯汀分校的研究人员和学者使用,还被德克萨斯 A&M、德克萨斯理工大学和北德克萨斯大学的研究人员和学者使用,这是一个通用系统Stanzione 说,谁需要同时使用 CPU 和 GPU。

对于该项目,GigaIO 正在利用其可组合基础设施功能来创建分散式服务器基础设施,利用 PCIe 和供应商的通用可组合结构,称为 FabreX。该架构(包括架构管理器、架顶式交换机和网络适配器卡)可根据工作负载的需求快速配置资源,从而创建包含加速器、存储和内存的集群架构。目标是使计算和存储等系统组件更易于访问和共享,从而降低运营和资本成本。

TACC 正在将 GigaIO 技术放入 Lonestar6 的一片片中,大约有 16 个插槽,工程师可以在其中放置 GPU 或 NVM-Express 设备。现在他们将使用 A100 GPU,包括四个 GPU 的静态节点和其他用户可以请求通过结构组成的一个、两个、四个或八个 GPU。

Stanzione 说,GPU 的成本是该项目背后的驱动力。

“GPU 的成本远高于处理器,”他说。“在构建这些多加速器节点时,它们在某种程度上是节点中的主要成本。这是配备 Grace 处理器的 Nvidia 将接管生态系统的原因之一。在他们看来,在某种程度上,它是围绕 GPU 的外壳和数据移动系统。”

不是每个人都能负担得起扩展至他们可能想要的程度,因此 GigaIO 的结构和技术(例如用于 HPC 环境的高速 I/O CXL 标准)是未来发展的先驱。

“现在——尤其是 CXL——是关于,我们能否摆脱这个单一和静态计算节点的概念,转而支持这个可组合的世界,在这个世界中,我们有处理元素、存储元素、存储元素,也许还有加速处理元素,我们可以将每个工作负载组合到最佳屏幕中,”Stanzione 说。“所有这些事情都存在差异,但我们知道我们有很多应用程序,每个节点的速度大约为 2 GB/秒。如果您购买四个 GPU 节点,然后将这些工作放在那里,那么您将经常浪费一半的节点。我们还有其他的,特别是在单节点模型——并行 AI 中——它们可以扩展到尽可能多的用户,并共享每个节点四个、八个、十六个等命名空间。但与其他一切相比,这些都相当少而且相差甚远。”

一种选择是购买混合节点——这发生在一些大学规模的集群中——并且系统被分成小的异构口袋,从而优化了每个工作负载的系统。如果有很多工作需要 GPU,而不是让一些加速器闲置,可以将它们分配给另一个节点,从而更好地利用资源。然而,这在很大程度上依赖于成本和性能之间的权衡。

“就像所有事情一样,关键在于延迟,这在我们的早期测试中看起来相当不错,因为您实际上是在开箱即用它,即使它仍然是 PCIExpress,”他说。“我们增加了一点延迟。它运行得那么顺利吗?您是否需要 NVLink 或CXL 中的连贯性等功能才能真正获得最佳性能,仍然存在广泛的争论。有很多应用程序的 PCI-Express 就足够了,尤其是现在我们有 PCI-Express 4.0 和即将推出的 PCI-Express 5.0。对于许多可以让我们从 GPU 中获得足够好处的代码。在这些情况下,花钱购买 NVLink 之类的东西并不能真正提高性能。”

根据 Stanzione 的说法,这在很大程度上将取决于 AI 软件堆栈的发展方式。然后该行业将了解应该进行哪些权衡。但是,有许多应用程序可以通过同一硬件提供大型多 GPU 节点或多个 GPU 节点的必要性能,因此站点不必购买更多硬件,然后有时让它闲置。

并且利用很重要。TACC 发现其集群中 GPU 和 CPU 的利用率百分比在 80% 到 90% 之间。也就是说,有不同的方法来确定利用率,他说。一个是确定节点是否分配给正在运行作业的用户。另一个是用户使用分配给他们的节点的效率。

更可组合的环境是解决一些利用率问题的一种方式。一些工作需要 GPU 之间的紧密耦合才能扩展,但其他工作(如 AMBER 或 NAMD 分子动力学工作负载)更小,不需要太多带宽即可通过添加 GPU 来获得良好的性能。在去中心化的环境中,调度程序更容易更有效地将 GPU 分布在各种工作负载上,并且必须考虑结构的成本。

“我们正在为结构增加一些成本,这是我们必须理解的权衡之一,因为基本上我们提供给 Giga IO 的所有美元都存在节点成本的增量 [即] 不用于 GPU 和CPU,”Stanzione 说。“这可能是一个很大的部分,但我们必须弄清楚我们增加多少效率与我减去多少美元来花在硬件上的模型。坦率地说,我们可以运行并且我们将对此进行一些实验室基准研究,可能会发表关于这类事情的论文。但要理解这种权衡,我需要在野外使用真实的用户代码运行它。”

这一切是如何摆脱的——趋势是将所有东西集中在硅封装上还是运行可组合的基础设施——尚不清楚。

“我们每年仍然有更多的晶体管空间,”他说。“这就是我们仍然做对的事情是每个芯片更多的晶体管。如果我们开始关注芯片或封装上耦合的 CPU [和] GPU 会怎样?这是否可能 [提供] 数量级的对 CPU 的虚函数调用的改进?也许未来会是,我们现在将计算节点中的所有内容都放在一个单独的包中,然后您只需将这些包存在于某个结构中,这将朝着另一个方向发展,在硅片上集成更多。问题是——就像所有事情一样——我们希望耦合到什么程度?自从集群与向量机出现以来,我们基本上就一直在争论这个问题。传统智慧也经常被证明是错误的。”

这就是为什么像 TACC 这样的地方做实验,所以把一些事实和数据带到一个不确定的未来。

“过去的教训是,我们并不真正知道答案,即使我们认为我们知道,”Stanzione 说。“我们最终可能会进入一个完全分散的世界,在那里我们制造一些廉价的小部件。吸引我的一个原因是所有东西都在模具上,我们在这些东西中获得了荒谬的力量,最终它们很难冷却。你没有足够的表面积,即使我们在上面运行液氮,我们也没有足够的表面积来提取热量。然而,如果我只用几个内核构建非常小的芯片,我们可以将它们组合在一个结构上……我们可以将时钟频率提高到我们都希望它达到 10 GHz 或类似的频率,然后将它们加速到 200-瓦特处理器具有更少的内核,然后我们将所有这些聚合到一个结构中。这可能是一个完全不同的世界。

客户热线:037125966675