2024-05-29
算力集群选择RoCE还是InfiniBand(IB)?

在构建算力集群网络时,选择以太网集群搭建还是InfiniBand(IB)网部署,取决于具体的应用场景、性能需求、项目成本考虑以及技术兼容性等因素。
以太网作为一种广泛应用的网络技术,具有成本较低、兼容性好、标准化程度高等优点。它适用于大多数通用计算和存储的场景,能够满足大部分算力集群网络的基本需求。此外,以太网技术的不断发展也为其在高性能计算领域的应用提供了更多可能性。
然而对于需要极低延迟和高带宽的特定应用场景,如大规模并行计算、深度学习等,InfiniBand(IB)网可能更具优势。IB网络是一种专为高性能计算设计的网络技术,具有低延迟、高带宽和高效能等特点。它能够在节点之间实现快速的数据传输和通信,从而提高算力集群的整体性能。
在选择时,还需要考虑技术兼容性和生态系统。以太网技术已经得到了广泛的支持和应用,拥有庞大的生态系统和丰富的设备选择。而InfiniBand虽然具有高性能优势,但其生态系统相对较小,设备选择可能有限,售后和维护成本都较高。此外,IB技术与通用的以太网协议不兼容,这可能增加部署和管理网络的复杂性,而在以太网方面,华为等数通厂商也有对应的并行计算网络解决方案。
RDMA(Remote Direct Memory Access), 全称远程内存直接访问技术,是一种数据传输技术。 允许在计算机之间实现高性能、低延迟、高吞吐量的数据传输,由网络适配器直接处理主机内存之间的数据传输,以大大减少了CPU在数据传输过程中的参与(即从一个主机或服务器的内存直接访问另一个主机或服务器的内存,这个过程无需使用CPU )。 RDMA最早在Infiniband传输网络上实现,技术先进,但是价格高昂(只有Mellanox和Intel供应商提供全套网络解决方案),后来业界厂家把RDMA移植到传统Ethernet以太网上,降低了RDMA的使用成本,推动了RDMA技术普及。
我们知道,传统应用要发送数据,需要通过OS封装TCP/IP,然后依次经过主缓存、网卡缓存,再发出去。这个过程存在2个限制:
1)TCP/IP协议栈处理会带来数10微秒的 时延 。TCP协议栈在接收发送报文时,内核需要做多次上下文的切换,每次切换需要耗费5-10微秒。另外还需要至少三次的数据拷贝和依赖CPU进行协议工作,这导致仅仅协议上处理就会带来数10微秒的固定时延,协议栈时延成为最明显的瓶颈;
2)TCP协议栈处理导致服务器CPU负载居高不下。除了固定时延较长的问题,TCP/IP网络需要主机CPU多次参与协议的内存拷贝,网络规模越大,网络带宽越高,CPU在收发数据时的调度负担越大,导致CPU 持续高负载,效率越慢。
目前, 大致有三类RDMA网络,分别是Infiniband(IB),internet Wide Area RDMA Protocol(iWARP)和RDMA over Converged Ethernet(RoCE) 。其中,Infiniband是一种专为RDMA设计的网络,从硬件级别保证可靠传输 ,而RoCE 和 iWARP都是基于以太网的RDMA技术,支持相应的verbs接口。如下:
1)InfiniBand:设计之初就考虑了 RDMA,重新设计了物理链路层、网络层、传输层,从硬件级别,保证可靠传输,提供更高的带宽和更低的时延。但是成本高,需要支持IB网卡和交换机。
2)iWARP:基于TCP的RDMA网络,利用TCP达到可靠传输。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的内存资源,对系统规格要求更高。可以使用普通的以太网交换机,但是需要支持iWARP的网卡。
3)RoCE:基于 Ethernet的RDMA,RoCEv1版本基于网络链路层,无法跨网段,基本无应用。RoCEv2基于UDP,可以跨网段具有良好的扩展性,而且可以做到吞吐,时延相对性能较好,所以是大规模被采用的方案。RoCE消耗的资源比 iWARP 少,支持的特性比 iWARP 多。可以使用普通的以太网交换机,避免了使用高成本的Infiniband网络设备,可以降低成本,但是需要支持RoCE的网卡。
综上所述,选择以太网还是IB网作为算力集群网络取决于具体的应用场景和需求。在大多数情况下,以太网因其成本效益和广泛的兼容性而成为一个不错的选择。然而,在需要极高性能的场景中,InfiniBand可能更合适。在做出决策时,建议综合考虑性能需求、成本预算、技术兼容性和生态系统等因素。
微网聚力是成熟的IDC服务商,网络运营商,可提供相关的技术支持与技术维护。