nVIDIA|绕过CPU:英伟达与IBM致力推动GPU直连SSD以大幅提升性能

通过与几所大学的合作,英伟达和 IBM 打造了一套新架构,致力于为 GPU 加速应用程序,提供对大量数据存储的快速“细粒度访问” 。所谓的“大加速器内存”(Big Accelerator Memory)旨在扩展 GPU 显存容量、有效提升存储访问带宽,同时为 GPU 线程提供高级抽象层,以便轻松按需、细粒度地访问扩展内存层次中的海量数据结构 。
访问购买页面:
京东NVIDIA系列商品汇总

nVIDIA|绕过CPU:英伟达与IBM致力推动GPU直连SSD以大幅提升性能
文章图片

以 CPU 为中心的传统模型示例
显然,这项技术将使人工智能、分析和机器学习训练等领域更加受益 。而作为 BaM 团队中的重量级选手,英伟达将为创新项目倾注自身的广泛资源 。
比如允许 NVIDIA GPU 直接获取数据,而无需依赖于 CPU 来执行虚拟地址转换、基于页面的按需数据加载、以及其它针对内存和外存的大量数据管理工作 。
对于普通用户来说,我们只需看到 BaM 的两大优势 。其一是基于软件管理的 GPU 缓存,数据存储和显卡之间的信息传输分配工作,都将交给 GPU 核心上的线程来管理 。
通过使用 RDMA、PCI Express 接口、以及自定义的 Linux 内核驱动程序,BaM 可允许 GPU 直接打通 SSD 数据读写 。
nVIDIA|绕过CPU:英伟达与IBM致力推动GPU直连SSD以大幅提升性能
文章图片

BaM 模型示例
其次,通过打通 NVMe SSD 的数据通信请求,BaM 只会在特定数据不在软件管理的缓存区域时,才让 GPU 线程做好参考执行驱动程序命令的准备 。
基于此,在图形处理器上运行繁重工作负载的算法,将能够通过针对特定数据的访问例程优化,从而实现针对重要信息的高效访问 。
显然,以 CPU 为中心的策略,会导致过多的 CPU-GPU 同步开销(以及 I/O 流量放大),从而拖累了具有细粒度的数据相关访问模式 —— 比如图形与数据分析、推荐系统和图形神经网络等新兴应用程序的存储网络带宽效率 。
为此,研究人员在 BaM 模型的 GPU 内存中,提供了一个基于高并发 NVMe 的提交 / 完成队列的用户级库,使得未从软件缓存中丢失的 GPU 线程,能够以高吞吐量的方式来高效访问存储 。
nVIDIA|绕过CPU:英伟达与IBM致力推动GPU直连SSD以大幅提升性能
文章图片

BaM 设计的逻辑视图
更棒的是,该方案在每次存储访问时的软件开销都极低,并且支持高度并发的线程 。而在基于 BaM 设计 + 标准 GPU + NVMe SSD 的 Linux 原型测试平台上开展的相关实验,也交出了相当喜人的成绩 。
作为当前基于 CPU 统管一切事务的传统解决方案的一个可行替代,研究表明存储访问可同时工作、消除了同步限制,并且 I/O 带宽效率的显著提升,也让应用程序的性能不可同日而语 。
此外 NVIDIA 首席科学家、曾带领斯坦福大学计算机科学系的 Bill Dally 指出:得益于软件缓存,BaM 不依赖于虚拟内存地址转换,因而天生就免疫于 TLB 未命中等序列化事件 。
【nVIDIA|绕过CPU:英伟达与IBM致力推动GPU直连SSD以大幅提升性能】最后,三方将开源 BaM 设计的新细节,以期更多企业能够投入到软硬件的优化、并自行创建类似的设计 。有趣的是,将闪存放在 GPU 一旁的 AMD Radeon 固态显卡,也运用了类似的功能设计理念 。

    推荐阅读