“不要让网络成为多节点并行计算效率的瓶颈。”
HPC为啥要用IB网?这个说法其实并不准确,应该问:HPC为啥要用RDMA?
高性能计算(HPC)集群中多节点并行时,核与核之间需要通过计算网络实时通信,这就要求计算网络具有大带宽、低延时的特性。而传统以太网TCP/IP的通信方式,需要将数据传输到操作系统内核,然后再从内核复制到目标计算机的内存中,不仅延迟较高,而且还占用了CPU的计算资源。
RDMA(remote directly memory access)则可以在不经过操作系统内核的情况下将数据从一个计算机直接传输到另一个计算机的内存中。这种直接访问内存的方式可以避免操作系统内核的干扰,从而减少了延迟和CPU使用率。
目前支持RDMA的网络协议有:
InfiniBand(IB): 从一开始就支持RDMA的新一代网络协议。由于这是一种新的网络技术,因此需要支持该技术的网卡和交换机。
RDMA融合以太网(RoCE): 即RDMA over Ethernet, 允许通过以太网执行RDMA的网络协议。这允许在标准以太网基础架构(交换机)上使用RDMA,只不过网卡必须是支持RoCE的特殊的NIC。
互联网广域RDMA协议(iWARP): 即RDMA over TCP, 允许通过TCP执行RDMA的网络协议。这允许在标准以太网基础架构(交换机)上使用RDMA,只不过网卡要求是支持iWARP的NIC。
在三种主流的RDMA技术中,可以划分为两大阵营。一个是InfiniBand(IB)技术, 另一个是支持RDMA的以太网技术(RoCE和iWARP)。其中, InfiniBand行业协会(IBTA)力挺的技术自然是IB和RoCE, Mellanox公司(一个以色列人搞的公司, 于2020年4月被Nvidia斥资68亿美元收购)是这方面的先驱者。而iWARP则是IEEE/IETF力挺的技术,主要是Chelsio公司在推进。
高性能计算(HPC)需要处理大量的数据和计算任务,因此需要使用高效的网络通信技术来实现快速数据传输和低延迟的计算。无疑是最适合IB网络的应用场景。可以说IB网络是专为HPC而生。