NVIDIA与DDN合作:构建超级计算机EOS以支持大规模深度学习训练任务
Table of Contents
- 简介
- Nvidia的数据中心系统工程团队
- 构建超级计算机EOS
- EOS存储架构
- 测试和性能验证
- DL训练过程中的读取性能优化
- 本地缓存和Hot Nodes功能
- 与DDN的合作和未来发展
- 总结
- FAQ
简介
感谢大家!我是Adam Dionic,来自Nvidia的数据中心系统工程团队。今天我想和大家分享关于我们最新超级计算机EOS上与DDN的Exos Scaler系统合作的一些工作。让我先简要介绍一下我的团队。Nvidia的数据中心系统工程团队负责从头开始设计和构建高性能计算(HPC)和人工智能(AI)系统。我们的目标是实现AI性能的光速提升,并将其应用于各种领域。我们团队曾设计制造了Seline超级计算机,于2020年6月在Top500榜单上排名第五,并使用了DDN AI 400X存储和DGX A100系统。最近,我们推出了新的EOS系统,采用了Nvidia DGX H100和Mellanox NDR InfiniBand,并将DDN存储升级为AI 400X2。EOS系统在Top500榜单上排名第九,HPL(高性能排名)性能达到121 PTIF FLOPS,相当于Seline系统性能的两倍。我们的团队由来自数据中心、应用级别、网络级别和存储方面的专家组成,并为EOS系统的开发做出了很大的贡献。
Nvidia的数据中心系统工程团队
Nvidia的数据中心系统工程团队负责设计和建造高性能计算和人工智能系统。我们的团队由来自数据中心、应用级别、网络和存储的专家组成。团队致力于实现AI性能的最大化,并能够执行各种类型的任务。我们以Seline超级计算机为例,该计算机在2020年6月的Top500榜单上排名第五,性能达到了63 petaflops的HPL(高性能排名)。
构建超级计算机EOS
我们最新的超级计算机EOS是基于Nvidia DGX H100和Mellanox NDR InfiniBand构建的。与之前的Seline系统相比,EOS在性能上有了显著提升,HPL性能达到了121 PTIF FLOPS。我们将DDN存储升级为AI 400X2,以保证系统的高性能和扩展性。我们在构建EOS时采用了分层的方式,使得我们可以按照标准化的模块化单元进行部署,并逐步扩展系统规模。
EOS存储架构
我们在EOS系统中使用分层的存储架构。首先,我们将系统按32节点可扩展单元构建,然后将这些单元扩展到128节点的Pod(平行对象域)。我们通过多个POD的部署来扩展整个系统。在计算和存储方面,我们为两种类型的系统配置了单独的非阻塞NDR InfiniBand网络。我们使用三级Fat Tree拓扑结构,并使用Leaf Spine组将POD之间的网络连接起来。EOS系统包括四个POD,使用核心交换机将其连接在一起。我们将48个AI 400X存储设备通过HDR InfiniBand与网络相连。这些设备的连接分散在五个POD中,以实现端口和网络的均衡分配。POD5是在其他POD之后逐步构建的,因此存储设备的连接主要集中在其他四个POD中。然而,我们仍保留了后续添加存储的可能性,以满足性能和容量的需求。
测试和性能验证
我们的团队在开发过程中对集群进行了广泛的测试和性能验证。我们对数据中心、节点、网络以及各种软件层面的性能进行了仔细调校和监测,以确保整个系统在各个层面都能够正常运行。为了获得更多系统指标,我们使用了DDN SFA API来收集系统的遥测数据,并将其导入到基于Prometheus和Grafana的监控系统中。我们还对系统中各个存储目标进行了精细的IO性能测量,以便了解系统性能,发现潜在的瓶颈,并验证我们的性能目标。最近,我们在一个实际的深度学习训练任务中验证了EOS系统的性能,确保其达到了每秒2TB的最小读取性能要求。
DL训练过程中的读取性能优化
DL训练是一个读取密集型的过程,这是因为我们通常处理的是无法完全缓存在节点上的大型数据集。数据集需要在系统中的多个GPU上进行读取,并且可能会在一个作业中多次进行读取。在深度学习训练过程中,我们将数据在系统的多个节点上并行处理,并通过迭代的方式来计算权重。为了加速计算过程,我们需要尽可能减少IO的时间,因此我们充分利用了DDN的Hot Nodes功能。我们的DGX H100节点配备了30TB的本地NVMe存储,并将其中一半用于Hot Nodes功能,用于动态构建正在被读取的数据的缓存。另一半用于存储一些经常使用的静态数据。Hot Nodes功能对我们非常重要,因为我们在EOS系统上处理的训练任务涉及到各种不同的数据集。在由并行存储读取数据时,数据会被缓存在本地NVMe上,并在作业的不同节点之间进行重复读取时被频繁访问。这大大提高了读取性能,减少了对网络的负载,并使我们能够同时运行多个作业而不会相互干扰。缓存中的数据将根据最近使用的原则进行替换,以确保我们能够尽可能频繁地从缓存读取数据。
与DDN的合作和未来发展
我们与DDN紧密合作,进行持续的开发工作。最近,我们在Lustre文件系统中实现了与Microsoft Active Directory的跨域CIFS支持,用于管理用户账户和存储系统中的读写权限。这对于Nvidia的安全团队和合规性团队非常重要,因为他们希望能够将登录操作和存储系统中的读写操作与具体的用户关联起来。同时,我们也在与DDN合作,探索未来的性能优化。包括网络升级和进一步配置Hot Nodes和PCC等功能,以实现最佳性能。
总结
Nvidia的数据中心系统工程团队在构建超级计算机EOS方面取得了巨大的成功。我们与DDN合作,利用其Exos Scaler系统实现了出色的性能。通过优化存储架构、开展深入测试和借助Hot Nodes功能,我们确保了EOS系统具备卓越的读取性能,并能够支持规模化的深度学习训练任务。与DDN的合作也使我们能够不断探索系统的潜力,并寻求未来的性能提升和创新。
FAQ
问:EOS系统的存储架构对于深度学习训练有什么优势?
答:EOS系统的存储架构采用分层设计,通过在本地NVMe上建立缓存(Hot Nodes功能),实现了高效的数据读取。这对于深度学习训练非常重要,因为训练过程中需要频繁地读取大量数据,而即时的数据访问对于加速训练过程至关重要。
问:EOS系统在读取性能方面的最大优势是什么?
答:通过使用本地NVMe缓存和Hot Nodes功能,EOS系统能够实现高达2TB/s的读取性能。这大大提高了深度学习训练的效率,并减少了对存储系统和网络的负载。
问:与DDN的合作对EOS系统的发展有何贡献?
答:与DDN的合作使得EOS系统能够不断创新和优化。我们与DDN共同开发了跨域CIFS支持,并在性能提升方面进行了持续的合作和探索。这种合作为EOS系统的发展提供了更多的可能性,并推动了性能的不断提升。
问:EOS系统的存储容量是否可扩展?
答:是的,EOS系统的存储容量是可扩展的。我们的存储架构支持在需要时增加额外的存储容量,以满足不断增长的性能和容量需求。
问:EOS系统是否支持右侧缓存?
答:EOS系统当前的配置中并不支持右侧缓存。然而,我们的配置非常灵活,可以根据需求随时启用右侧缓存,以进一步提升性能和优化系统。
FAQ
问题:EOS系统的存储架构如何优化深度学习训练?
答:EOS系统采用分层存储架构,通过本地NVMe缓存和Hot Nodes功能优化了深度学习训练的读取性能。这样可以提供更快的数据访问速度,减少IO等待时间,从而加快训练过程。
问题:EOS系统如何保证高性能的读取速度?
答:EOS系统利用Hot Nodes功能,将频繁读取的数据缓存在本地NVMe上,以避免频繁的网络读取。这样可以大大减少训练过程中的IO等待时间,提高读取速度。
问题:EOS系统如何与DDN的Exos Scaler系统合作?
答:EOS系统与DDN的Exos Scaler系统紧密合作,利用其高效的存储设备和技术,提供出色的性能。双方还进行持续的合作,推动未来的性能改进和创新。
问题:EOS系统在深度学习训练方面有哪些优势?
答:EOS系统通过优化存储架构和实现本地缓存,可以提供高性能的深度学习训练支持。它具有出色的读取性能,可以处理大规模的数据集,加速训练过程。
问题:EOS系统的未来发展方向是什么?
答:EOS系统将继续与DDN合作,进行性能优化和创新。双方将致力于提高网络性能、进一步优化本地缓存和探索新的技术,以满足不断增长的数据处理需求。
Highlights
- Nvidia的数据中心系统工程团队与DDN合作开发了超级计算机EOS。
- EOS系统在Top500榜单上排名第九,HPL性能达到121 PTIF FLOPS,性能提升了近两倍。
- EOS系统以每秒2TB的读取性能支持大规模深度学习训练任务。
- 通过使用Hot Nodes功能和本地NVMe缓存,EOS系统优化了深度学习训练中的读取性能。
- Nvidia团队与DDN合作进行持续的开发工作,包括跨域CIFS支持和性能优化。
For the full article, please visit [资源链接].
资源链接: