我们鼓励您基于目前通用的产品部署生产解决方案,并考虑将新出现的解决方案纳入下一代系统。 GPU Direct Storage 现已在 v1.0 版中全面提供,更多的供应商合作伙伴正在将支持 GDS 的产品转移到 GA 状态。还有一系列案例研究,涵盖存储框架、深度学习、地震、数据分析和数据库。
随着 AI 、 ML 和 HPC 应用程序的计算从 CPU 转移到更快的 GPU ,输入输出 GPU 的 IO 可能成为整体应用程序性能的主要瓶颈。
NVIDIA 创建了 Magnum IO GPU 直接存储( GDS ),以简化存储和 GPU 内存之间的数据移动,并消除平台中的性能瓶颈,例如被迫通过 CPU 内存中的缓冲区存储和转发数据。
GDS 通过在本地 NVMe 存储或 NIC 后面的远程存储和 GPU 内存之间启用直接内存访问( DMA ),提高了带宽,减少了延迟,减轻了 CPU 利用率的负担。从 DGX 平台上的 GDS 本身的深度学习推理、数据分析可视化和视频分析中分别观察到 2 。 5x 、 8x 和 9x 的性能优势。
要在部署的平台范围内加速各种各样的客户应用程序和框架,需要一系列合作关系。我们的目标是实现整个丰富的数据存储生态系统,该生态系统由近 180 家软件和硬件供应商以及 2500 多个贡献者组成。有关更多信息,请参阅SNIA网站。
本文概述了 GDS 合作生态系统,并分享了我们合作伙伴的最新成果。
GDS 生态系统
NVIDIA 寻求一个开放的生态系统,与供应商、框架开发人员和最终客户建立越来越多的合作伙伴关系。自 GPU Direct Storage 的 1 。 0 产品发布以来,合作伙伴供应商的生态系统已经发展,如表 1 所示。
每个类别中的项目按时间顺序排列。尚未发布的项目和正在开发的项目均为斜体。以黄色突出显示的项目具有自本系列最后一篇 GDS 文章发布以来的新数据。
Vendor partnersFrameworks and applicationsSystems software
File systems
– DDN EXAScaler
– Weka FS
– VAST NFSoRDMA
– EXT4 via NVMe or NVMoF drivers from MLNX_OFED
– IBM Spectrum Scale (GPFS)
– DELL Technologies PowerScale
– NetApp/SFW/BeeGFS
– NetApp/NFS
– HPE Cray ClusterStor Lustre
Block systems
– Excelero
– ScaleFlux smart storageStorage
-HDF5
– ADIOS
– OMPIO
Deep learning
– PyTorch
– MXNet
Data analytics
– cuDF
– DALI
– Spark
– cuSIM/Clara
– NVTabular
Databases
– HeteroDB for PostgreSQL acceleration
Visualization
– IndeX– Ubuntu 18.04
– Ubuntu 20.04
– RHEL 8.3
– RHEL 8.4
– DGX BaseOS
Compatibility mode only:
– Debian 10
– RHEL7.9
– CentOS 7.9
– Ubuntu 18.04 (desktop)
– Ubuntu 20.04 (desktop)
– SLES 15.2
– OpenSUSE 15.2
Contributions to a repoSystems vendorsMedia vendors
Readers
– Serial HDF5
– IOR Containers
– PyTorch/DALI Samples
– Transparent threading
– Buffer agnostic– Dell
– Hitachi
– HPE
– IBM
– Liqid
– Pavilion– Kioxia
– Micron
– Samsung
– Western Digital
表 1 。 GPU 直接存储生态系统中的产品
供应商合作伙伴
我们有几种不同类型的供应商合作伙伴,他们的产品具有不同的成熟度。供应商合作伙伴分为两类:直接参与 GDS 软件支持的合作伙伴和提供系统和组件解决方案的合作伙伴。
GDS 支持合作伙伴全面提供
本节涵盖了那些积极地使英伟达 GPU 直接存储到他们拥有的软件栈中的合作伙伴,满足 NVIDIA 基本功能和性能标准,并将其集成到一般可用性的生产解决方案中。
DDN 将 GDS 集成到基于 Lustre 的 EXAScaler 并行文件系统中。他们正在与社区合作,将 GDS 支持上游到开源发行版。
Dell Power Scale 是 NFS 的优化实现。
IBM Spectrum Scale ,以前称为 GPFS ,是 HPC 、数据和 AI 中广泛使用的分布式并行文件系统。
庞大的并行分布式文件系统开创了通过 RDMA ( NFSoRDMA )提供多路径 NFS 的先河。 VAST 还使 nconnect 中 NFSoRDMA 中的 GDS 在将来的上游版本中可用。
Weka 将 GDS 集成到自己的 Weka FS 并行分布式文件系统中。
解决方案和组件提供商全面提供
一些供应商对 GDS 的支持处于通用可用性级别。一些供应商提供软件解决方案,对代码进行更改以启用 GDS ,而其他供应商则是已经或将要使用 GDS 的组件或系统供应商。
提供硬件或 GDS 特性数据的供应商
NVIDIA 与我们的 NPN 和 GPU 直接存储合作伙伴密切合作,以鉴定 GDS 的全部功能。他们还使用硬件和软件解决方案,结合 NVIDIA 带来的最佳 GPU 加速技术,量化测量的性能增益。这些措施包括:。
使用其他支持 GDS 的解决方案(如 MLNX _ OFED 中提供的解决方案)提供完整端到端解决方案的系统供应商合作伙伴包括:
数字数据网
戴尔科技
惠普企业
国际商用机器公司
亭阁
巨大的
与我们合作最密切的组件供应商包括:
基奥西亚
微米
桑孙
标度通量
表达兴趣的供应商
对 GDS 表示强烈兴趣的其他供应商包括:
日立
轻盈
西部数字
开发中的 GDS 支持合作伙伴
有些合作伙伴的产品可供您评估,但尚未达到全面可用的成熟期:
BeeGFS 并行分布式文件系统是 HPC 中常用的文件系统。 System Fabric Works 一直在与 NetApp 合作为 BeeGFS 启用 GDS 。
Excelero NVMesh 将任何网络上的 NVMe 驱动器转换为支持任何本地或分布式文件系统的企业级受保护共享存储。
HPE 促成了 Cray ClusterStor E1000 Storage System中使用的支持 GDS 的 Lustre 并行分布式文件系统代码的升级。
NetApp 目前正在致力于启用服务器端 NFSoRDMA ,因此他们可以利用其他人在客户端启用 NFS 的 GDS 。
具有 GDS 的供应商证明点
自 NVIDIA 发布last GDS post以来,已有几项新数据的开发。我们在这篇文章中分享了其中的一个示例,作为证明 GPU 直接存储的好处和通用性的证据。
配置
GDS 可以通过跳过各种平台上的 CPU 跳出缓冲区来增加价值,无论是 NVIDIA 的 DGX 系统还是第三方 OEM 平台。如前一篇文章Accelerating IO in the Modern Data Center: Magnum IO Storage所述,当 NIC PCIe 交换机 – GPU 数据路径不经过 CPU 就可用时, GDS 可用的理论峰值带宽有 2 倍的差异,尽管实际增益可能要大得多。
在 DGX 中,某些 NIC 插槽的数据路径必须经过 CPU ,而对于其他插槽,直接 NIC PCIe 交换机 GPU 路径可绕过 CPU 。图 2 显示了 DGX A100 背面的标记图片。

图 2 。带有标记 NIC 插槽的 DGX A100 背面图片。插槽 4 和 5 (传统上连接到存储网络)分别连接到 CPU 。插槽 0-3 和 6-9 分别连接到 PCIe 交换机,与 GPU s 0-7 一样。
有两种配置可以在 DGX A100 上评估存储性能。经批准的标准配置在插槽 4 和 5 中专用于连接到用户管理平面和外部存储平面的两个“南北”(朝向数据中心边缘) NIC ,以及在插槽 0-3 和 6-9 中专用于连接到节点间计算平面的八个“东西”(集群内) NIC 。
我们正朝着使用八个东西方 NIC 访问高带宽存储的方向发展,从而在完成 QoS 评估之前创建一个聚合计算存储平面。现在,我们称之为实验的配置
以前提供的合作伙伴数据
自从第一次发布 GDS 后, NVIDIA 已经公开了其他供应商的数据。其中包括来自 DDN EXAScaler 、 Pavilion NFSoRDMA 、 VAST NFSoRDMA 和 Weka FS 的数字。使用 DGX A100 上的实验性 8-NIC 配置,我们已经看到供应商提供的带宽范围为 152 到 178 GiB ( 186 GB / s )的 GDS 。如果没有 GDS ,他们报告的带宽范围为 40-103 GiB / s 。
今后, NVIDIA 要求任何合作伙伴的 DGX 系统性能报告(包括 8-NIC 数据)也应包括两个南北 NIC 的特性描述。这些数据还没有全部出来,所以这里没有介绍。我们的政策是不在供应商合作伙伴之间进行直接性能比较。
以太网上的海量数据
以前在 InfiniBand 上报告了海量数据通用存储。他们提供了一个单一(插槽 4 ) NIC 和 DGX A100 中的 1 GPU 的新结果,该 DGX A100 具有庞大的入门级 1 × 1 配置,使用以太网而不是 InfiniBand 。以太网显示了完整的功能和相当的性能。从单个链路实现超过 22 GiB / s 的速度接近最高性能。这表明,除了 InfiniBand 之外, GDS 同样适用于以太网。

图 3 。在 GDS v 上,插槽 4 中有 1 个 NIC ,插槽 1 GPU 中有 1 个 NIC ,以太网具有极高的读取性能。 1 。 0 。 0 。 61 , 96 个螺纹,预取开启。带宽优势高达 1 。 17 倍, CPU 利用率优势高达 6 。 4 倍。
IBM 频谱规模
IBM Spectrum Scale (前身为 GPFS )的 GA 产品最近有了一个条目。在他们的配置中,一个运行 IBM Spectrum Scale 5 。 1 。 1 的 ESS 3200 存储文件服务器提供了 71 GiB / s ( 77 GB / s )。它通过 4 个 HDR NIC 的 NIC 插槽 4 和 5 连接到两个采用传统存储网络配置的 DGX A100 。 IO 大小为 1MB 。通常情况下,绝对性能随着使用的线程数的增加而提高(图 4 )。与没有 GDS 的情况相比, GDS 的相对改进在线程数量方面仍然相当稳定,但在线程数量较少的情况下显然是最好的。

图 4 。 IBM Spectrum Scale 5 。 1 。 1 读取性能,具有足够( 2 )个 DGX A100 盒,可使单个 IBM ESS 3200 饱和。 GDS 收益超过 2 倍。
展馆数据结果
Pavilion 为分布式并行文件系统、块和对象接口提供存储解决方案。它使用 NFSoRDMA 启用 GDS 。 Pavilion Data 提供占用四个机架单元( RU )的存储节点,提供足够的带宽,其中两个节点可以使四个 DGX A100 上的两个 NIC 或单个 DGX A100 上的八个 NIC 达到饱和。图 5 中的结果仅来自实验配置, Pavilion 软件版本 2 执行文件访问。

图 5 。 4RU Pavilion 存储产品为 DGX A100 的一半提供高达 89 GiB / s 的 NFSoRDMA 读取性能。 GDS 提供了 2 。 5 倍的带宽和延迟优势,同时将 CPU 利用率(如下所示的延迟)降低了 1 。 7 倍用于读取,更多用于写入。在 8RU 中加倍到两个 Pavilion 节点应线性缩放。
Liqid 结果
最近在 Liqid 系统上测量的性能表明,基于 PCIe 的 P2P 路径比基于以太网/ InfiniBand 的 NVMe 更快。 GPU 和与 GDS 集成的 SSD 之间的 P2P 通信达到 2900K IOPS ,吞吐量提高了 16 倍。与非 GDS 路径相比,延迟从 712 us 提高了 1 。 86 倍至 112 us (图 6 )。
GPU 到 SSD 且禁用 P2P

吞吐量: 179K
IOPS 潜伏期: 712 us
GPU 到 SSD ,带启用 GDS 的 P2P

吞吐量: 2900K
IOPS 潜伏期: 112 us
收集了三种不同配置的数据:
配置 1 : GPU – 到 NVMe 。使用 Liqid 结构连接同一 PCIe 结构上的所有设备。
配置# 2 : GPU – 到 – CPU – 到 NVMe 。将 GPU 和 NVMe 驱动器直接连接到 CPU 主板。
配置# 3 : GPU – 到的 NIC NVMe 。使用 GPU 到( CX-5 )的 NVMe 通过网络访问远程 NVMe 。
以下是配置的详细信息:
主板: AsROCK 机架 ROME8D-2T ,配备 AMD Epyc 7702p 、 512GB DDR4 2933
系统软件: Ubuntu 服务器 20 。 04 。 2 , NVIDIA 驱动程序版本 470 。 63 。 01 , CUDA 11 。 4
Liqid QD4500 配备 Phison E16 800GB 、 Gen4 PCIe 、运行 Liqid v3 。 0 的 24 端口 Gen4 数据交换机( Astek )的 24 端口管理交换机( TOR )
NVIDIA A100 40GB , PCIe Gen4 与 LQS4500 位于同一 PCIe 交换机上
BIOS 设置 ACS = Off ,在 Liqid 中启用 P2P 。
图 6 。 GPU 和 SSD (或 NVMe 驱动器)之间的点对点( P2P )通信通过 GPU 直接存储实现了几个数量级的 IOPS 改进.GPU Liqid Matrix 扩展机箱中的直接存储支持 GPU 和 SSD 之间的直接 P2P 通信,实现了高达 1620% 的 IOPS 加速和 86% 的延迟改善。
InfiniBand 和以太网
虽然 Infiniband 在传统 HPC 系统中很受欢迎,但以太网在企业数据中心中有着广泛的应用。 GDS 在以太网和 IB 上无处不在。关键要求是底层系统和远程文件管理器支持 RDMA 。这在 RoCE 中是可能的。
那么,两者之间的比较如何呢?以下是初步调查的一些结果。对通过扩展网络访问存储的全面分析不在本文讨论范围之内,但对于那些希望就其网络设计做出数据驱动决策的人来说,这是值得鼓励的。

图 7 。对于 HDR 200 上的 InfiniBand ( IB )和 Ethernet ( EN ),在两个 NIC 上实现了对 DDN AI400x 文件服务器的读写带宽,该带宽是 IO 大小的函数,并带有单个中间交换机。
图 7 显示了在以下条件下带宽随 IO 大小变化的并排比较:
单个 PCIe 树中的两个 NIC 使用 InfiniBand 连接到一个 DDN AI400x 文件服务器
单个 PCIe 树中的两个 NIC 使用以太网连接到同一 DDN AI400x 文件服务器
如您所见, IB 和带有 GDS 的以太网的性能相当, GDS 显然是建立在 GPU 直接 RDMA 之上的。 IB 比以太网具有高达 1 。 17 倍的性能优势,尤其是在性能最高且网络速度差异最大的更大 IO 尺寸下。
社区光泽
不同的供应商为 Lustre 的社区版本增加了自己的价值。但我们的一些客户仅限于使用 OSS 社区 Lustre 。他们还能在非专有解决方案中享受 GDS 的好处吗?答案是肯定的!
与不使用 GDS 相比, GDS 的带宽、延迟和 CPU 利用率增益都与其他启用 GDS 的实现类似。可下载版本 2 。 15 的每个发行版本。今天就试试吧!
混搭
我们在 NVIDIA 有一个实验集群,我们称之为 ForMIO (用于 Magnum IO ),因为它用于评估和审查与 Magnum IO ( MIO )相关的各种技术。 DDN 和 Pavilion 慷慨地让我们使用他们的设备进行文件管理。媒体供应商 Kioxia 、 Micron 和 Samsung 慷慨捐赠了驱动器来填充其中一些文件服务器。我们很兴奋,因为这加快了对 DL 框架和使用 GDS 的客户应用程序的评估。
我们做了一些疯狂的尝试,结果成功了!我们使用两个 HDR 200 NIC 将一个 DDN AI400x 与 InfiniBand 连接起来,一个 DDN AI400s 与两个 HDR 200 NIC 的以太网连接起来,八个本地 NVME 与一个 DGX A100 连接起来。我们使用 GDSIO 性能评估工具对所有客户进行了测试。
图 8 中的早期和未调整的结果显示,存储带宽可以跨这些应用程序组合,以向应用程序提供带宽。虽然我们在实践中不一定推荐这一点,但知道这是可能的还是很酷的。感谢 DDN 支持实现这一点。
在单个 DGX A100 上分别(红色、蓝色、黄色)和同时(绿色)测量带有 InfiniBand 的一个 DDN AI400x (使用两个 HDR 200 NIC )、带有以太网的一个 DDN AI400s (使用两个 HDR 200 NIC )和八个本地 NVME 的性能。单个组件堆叠在每对的左侧。当它们都同时运行时,绿色条显示性能。
在 GDS 的情况下,性能完全匹配,因为 GPU 目标被仔细选择为无干扰。在 CPU 中使用跳出缓冲区的非 GDS 情况下,进出 CPU 的拥塞会抑制并发性能。这是一个巨大的不同。

图 8 。通过 IB 在 2 个 NIC 上实现了对 DDN AI400x 的读取带宽,通过以太网在 2 个 NIC 上实现了对不同 DDN AI400x 的读取带宽,以及 8 个本地 NVME 的读取带宽。分别和同时测量。
关于作者
CJ Newburn 是 NVIDIA 计算软件组的首席架构师,他领导 HPC 战略和软件产品路线图,特别关注系统和规模编程模型。 CJ 是 Magnum IO 的架构师和 GPU Direct Storage 的联合架构师,与能源部领导 Summit Dev 系列产品,并领导 HPC 容器咨询委员会。在过去的 20 年里, CJ 为硬件和软件技术做出了贡献,拥有 100 多项专利。他是一个社区建设者,热衷于将硬件和软件平台的核心功能从 HPC 扩展到 AI 、数据科学和可视化。在卡内基梅隆大学获得博士学位之前, CJ 曾在几家初创公司工作过,致力于语音识别器和 VLIW 超级计算机。他很高兴能为他妈妈使用的批量产品工作。
Kiran K. Modukuri 是 NVIDIA 的首席软件工程师,负责加速 IO 管道。他是 GPU 直接存储产品的联合架构师。在加入 NVIDIA 之前,他曾在 NetApp 担任高级软件工程师。他在亚利桑那大学获得了计算机科学硕士学位。他在分布式文件系统和存储技术方面拥有超过 15 年的经验。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !