为解决这一挑战,MSL 与一家客户合作探索替代存储解决方案,为此利用了该客户的一个大型(几百拍字节)AI/ML 训练项目,该项目需要通过高速联网提供稳定的高带宽,并且需要能够不断扩展。该客户需要一个不仅具有优异性能和容量,而且占用空间较小的解决方案。研究结果显示,三星的开源
分离式存储解决方案 (DSS)↗ 能够满足这些要求。该项目采用标准的 Amazon S3 兼容接口来实现对象存储,在设计时考虑了艾字节级扩展需求,以充分发挥标准硬件和大容量 SSD 的优势。
为什么 MSL 会选择使用对象存储?对于入门级用户而言,许多新的 AI 应用都需要处理机器生成的数据,而这些数据往往是作为对象存储的。跨多个存储节点管理单个命名空间十分复杂,为避开这一问题,MSL 试验了一种不同的方法:为每个节点配备自己的文件系统,然后通过统一的对象存储来管理数据,从而可以使用 Kubernetes 等外部编排系统来协调数据分发。
在此使用场景中,影响预期性能的关键不在于 SSD,而是拖累其速度的元数据和文件系统。使用对象存储时,用户无需管理大型数据块,而是可以更轻松地在多个磁盘之间分发和复制的较小数据存储。通过这种方式来管理数据,数据保护逻辑会应用到数据本身,而不是存储数据的驱动器,从而简化了过程。
大规模验证 DSS 的性能
为验证这种方法的性能,MSL 与该客户紧密合作,以了解客户数据的特点,以及数据在存储和 GPU 之间传输的方式。他们利用此信息创建了多种工具和一个环境,用来生成预期训练系统的代表性流量,同时注意最终要扩展到数千个 GPU 的目标。
然后在完全相同的节点配置上测试了以下两种不同的存储解决方案:DSS S3 和 NFS。测试结果如下: