如何获得的 GPU 存储性能

支持 AI 人工智能和 ML 机器学习部署的数据中心依靠基于图形处理单元 (GPU) 的服务器为其计算密集型架构提供支持。到 2024 年,在多个行业中,GPU 使用量的增长将使 GPU 服务器的复合年增长率超过 31%。这意味着将有更多的系统架构师承担承担相应的职责,以确保 GPU 系统具有最高的性能和成本效益。

然而,为这些基于 GPU 的 AI / ML 工作负载优化存储并非易事。存储系统必须高速处理海量数据,与此同时需要注意以下两个挑战:

1) 服务器利用率。GPU 服务器对于训练大型 AI / ML 数据集所需的矩阵乘法和卷积非常高效。但是,GPU 服务器的成本是典型 CPU 服务器的 3 倍。为了保持 ROI,IT 员工需要让 GPU 使用率足够饱和。但不幸的是,很多部署经验表明 GPU 仅有 30% 的使用率。

2)GPU 存储瓶颈。ML 训练数据集通常远远超过 GPU 的本地 RAM 容量,从而产生了一个 I / O 瓶颈,分析人员将其称为 GPU 存储瓶颈。AI 和 ML 系统最终要等待访问存储资源,这是因为它们庞大的数据阻碍了及时访问,从而影响了性能。

为了解决这个问题,NVMe 闪存固态硬盘逐渐取代了标准闪存固态硬盘,成为 Al / ML 存储的首选。NVMe 支持大规模的 IO 并行性,性能约为同类 SATA SSD 的 6 倍,并且延迟降低了 10 倍,并且具有更高的电源效率。正如 GPU 推动了高性能计算的发展一样,NVMe 闪存在降低延迟的同时,实现了更高的存储性能、带宽和吞吐量。NVMe 闪存解决方案可以使 AI 和 ML 数据集加载到应用程序的速度更快,并且可以避免 GPU 匮乏。

此外,NVMe Over Fabrics 可以虚拟化整个高速网络上的 Nvme 资源,通过 NVMeoF 技术可以更好的适用于 AI 和 ML 的存储架构。NVMeoF 使 GPU 可以直接访问 NVMe 的弹性池,因此可以使用本地闪存性能来访问所有资源。它使 AI 数据科学家和 HPC 研究人员可以向应用程序提供更多数据,以便他们更快地获得更好的结果。

要获得最佳的 GPU 存储性能,就需要根据业务目标对基础架构进行微调。这里有四种方法可供考虑。

1. 有效扩展 GPU 存储容量

例如,某存储公司为不需要运行自己的 AI 堆栈的组织提供了 AI 即服务解决方案。因此,这家公司需要最大的 ROI 和可扩展性。特别是对多租户的需求,这意味着为满足各种工作负载和客户端的性能要求,基础架构必须随时准备就绪。

该基础架构团队在部署其第一个 GPU 服务器系统的早期就了解到,本地 GPU 服务器的存储容量将太有限,只有 4TB 的本地存储,而客户的工作量则需要 10 到 100 TB 的数据。该团队研究了外部存储选项,并注意到,使用传统阵列它们将获得更多的容量,但性能最终会阻碍 AI 工作负载,因为应用程序需要将数据移入和移出 GPU 系统,从而中断工作流程并影响系统效率。

最终这家公司通过使用软件定义存储在快速的 RDMA 网络上合并 NVMe 闪存 (一种将数据集加载速度提高 10 倍的方法),最终可以实现更高的 GPU 容量利用率,消除了 GPU 瓶颈并提高了 ROI,因此现有的 GPU 变得更加充分利用。(注:参考 lnstaDeep)

2. 大规模调整性能

AI 部署的快速增长和 ML 训练数据集的大小增加了计算基础架构的负担,STFC(The Science and Technology Facilities Council) 则是这种典型的代表。尽管 STFC 已添加了高端 GPU 服务器以提供更高的计算支持,但 STFC 缺乏在数百个 Researchers 中扩展资源所需的企业级存储功能。

通过在具有 RDMA 功能的高速网络 (例如 Infiniband 或融合以太网(RoCE)v2 上的 RDMA)上实现 NVMe-over-Fabrics 协议,大型 AI / ML 用户组 (例如 STFC) 可以虚拟化 NVMe SSD 在各种服务器上未使用的存储资源池,因此它们的性能就像在本地一样。通过这样做,可以在一个小时内完成机器学习培训任务,而以前则需要三到四天。即使具有复杂的模型训练任务,GPU 存储也不再是瓶颈。

3. 在并行文件系统下使用 NVMe 池化存储

当 AI 和 ML 应用程序涉及从许多 GPU 服务器访问大量小文件时,作为存储基础架构就必须部署并行分布式文件系统。并行文件系统还使存储更容易实现大多数 AI / ML 使用所需的高吞吐量和低延迟。在并行文件系统下具有快速、灵活的池化 NVMe 存储,可以改善对元数据的处理,从而实现更高的读取性能和更低的延迟,从而提高 GPU 服务器的利用率。

例如,一家超大型技术提供商最近推出了一种 AI 解决方案,用于预估保险公司使用的车辆碰撞场景。为了开发应用程序背后的 AI 逻辑,应用程序工作流涉及培训模型,方法是摄取多达 2000 万个小文件数据集,其中每个文件大小在 150-700 KB 之间。数据提取通常每 8 小时以 100 万个文件的速度或者每个客户端每秒最多 35,000 个文件进行。

通过在并行分布式文件系统下使用池化 NVMe 存储方法,该技术提供商消除了它遇到的存储瓶颈,并将存储性能提高了 3-4 倍。

4. 检查特定于 GPU 的“高速公路”

新的数据中心架构正在以统一的方式提高服务器、网络和存储的性能。一种类似的方法于 2019 年秋季首次亮相,它将来自多个供应商的基础架构元素与 GPU 优化的网络和存储进行集成,以在 GPU 内存和存储之间打开直接的数据通道,从而完全绕开 CPU。这使数据能够在 GPU、存储和网络设备提供的“开放高速公路”上进行传输,从而实现了对 NVMe 企业级卓越性能的无障碍访问。

总结

AI 和 ML 的创新步伐迅捷,这意味着当今的部署依赖及关键技术在一年前可能是不存在的,在明年也可能被新技术取代。现在精通微调 GPU 存储性能的 IT 团队已经意识到它们之前的许多新选择,可以实现最佳的系统利用率和 ROI,从而为其组织带来竞争优势。

参考链接:https://www.enterpriseai.news/2020/03/17/how-to-beat-the-gpu-storage-bottleneck-for-ai-and-ml/