NVIDIA 于 9 月 30 日宣布 cuObject 客户端与服务器库正式提供。cuObject 通过 RDMA 在 GPU 内存或系统内存与 S3 兼容对象存储之间直接传输数据。
RDMA(Remote Direct Memory Access)让网卡直接搬运数据,而不经过服务器 CPU 管理的内存。在 cuObject 中,S3 GET 和 PUT 控制请求走 HTTPS/TCP,只有数据负载通过 RDMA 传输。
客户端库包含在 CUDA Toolkit 13.1.1 及更高版本中,存储端的服务器库则需单独下载。这意味着客户端的 S3 SDK 和服务器端的存储软件都需要修改。
同一公告还介绍了 SCADA(Scaled Accelerated Data Access)Server SDK。它让存储厂商能够构建响应 GPU 发起请求的服务器。
注意事项:原型集成与网络要求
公告中的 IBM Storage Scale 集成是用 SCADA Server SDK 构建的原型,并不能证明所有对象存储都已支持。
根据文档,当前 cuObject 实现要求 DC(Dynamic Connection)传输,DC 可在 InfiniBand 和 RoCEv2 上运行。存储服务器的兼容性和 RDMA 网络必须到位。
这里描述的是 NVIDIA 对架构和供应情况的说明,并非硬件或集成测试,也不是独立的吞吐量测量。
先定位瓶颈的引入顺序
首先判断瓶颈在于对象请求开销、传输、预处理还是 GPU 消费速度。只有当数据负载的搬运确实拖慢工作时,更快的搬运才有帮助。
然后对齐受支持的存储和网络路径,再比较端到端的训练吞吐量。仅凭熟悉的 S3 接口,无法判断这条路径是否可用。
cuObject 省去的是对象数据经过 CPU 的绕行,只有存储和网络同时支持时,效果才会显现。