InfiniBand见解:在数字时代推动高性能计算
进入21世纪以来,在云计算和大数据的迅猛普及的推动下,数据中心的快速发展变得越来越明显。在这种变化的环境中,InfiniBand已成为一项关键技术,在数据中心的核心中发挥着至关重要的作用。值得注意的是,截至2023年,以ChatGPT等创新技术为代表的大型计算模型的兴起将InfiniBand推向了更加关键的位置。之所以受到如此高的关注,是因为支撑GPT模型的网络是在InfiniBand的基础上构建的。
但是,究竟InfiniBand技术是什么,具有哪些特性值得被广泛使用?此外,为什么围绕“InfiniBand vs以太网”的争论仍在继续?本文将逐一解答这些问题,为InfiniBand技术的复杂性及其在不断发展的高性能计算领域中的重要性提供有价值的见解。
InfiniBand技术的发展历程
InfiniBand(IB)是一种强大的通信协议,其发展历程与计算机架构的演变紧密相连。现代数字计算机的基础建立在冯·诺依曼架构之上,这种架构包含诸如CPU(包含算术逻辑单元和控制单元)、内存(包括RAM和硬盘)以及输入/输出设备等基本组件。
进入20世纪90年代初,计算领域对支持越来越多外部设备的需求激增。为了满足这一需求,英特尔(Intel)率先在标准PC架构中引入了外设组件互连(PCI)总线设计。这一创新举措标志着计算机发展历程中的关键时刻,为后来强大的通信协议InfiniBand的出现奠定了基础。
随后,互联网经历了快速发展阶段,伴随着在线业务和用户群的蓬勃发展,这反过来又对IT系统的能力提出了重大挑战。
在此期间,尽管在摩尔定律的推动下,CPU、内存和硬盘等组件取得了显著的进步,但PCI总线在升级方面却面临着滞后的问题。这种缓慢的发展速度较大程度限制了I/O性能,成为整个系统的瓶颈。
为了解决这一瓶颈,英特尔(Intel)、微软和SUN等行业巨头共同合作,推出了 "下一代I/O(NGIO) "技术标准。同时,IBM、Compaq和Hewlett-Packard负责开发“未来I/O(FIO)”。值得注意的是,这三家公司在1998年共同率先创建了PCI-X标准。
FIO开发者论坛和NGIO论坛的合并是一个关键转折点,为InfiniBand贸易协会的成立奠定了基础。这种合作努力为2000年InfiniBand架构规范1.0版本的正式发布铺平了道路。从本质上讲,InfiniBand的成立旨在取代PCI总线。通过引入RDMA协议,InfiniBand提供了更低的延迟、更高的带宽和更强的可靠性,从而提高了I/O性能。
1999年5月,一群前英特尔(Intel)和伽利略科技公司的员工走到一起,成立了一家位于以色列的芯片公司迈络思(Mellanox)。成立后,迈络思(Mellanox)与NGIO结盟。当NGIO和FIO合并后,迈络思(Mellanox)无缝过渡到InfiniBand生态系统。2001年是一个里程碑,迈络思(Mellanox)推出了其首款InfiniBand产品。
然而,2002年,InfiniBand社区格局发生了重大变化。英特尔(Intel)作为关键成员,突然将注意力转向开发PCIExpress(PCIe),该产品于2004年正式推出。与此同时,另一位重要贡献者Microsoft退出了InfiniBand开发。虽然SUN和Hitachi等一些实体公司坚持了下来,但行业巨头的离开给InfiniBand的发展蒙上了阴影。
2003年迎来了一个转折点,InfiniBand发现了一个新的应用领域——计算机集群互连。同年,弗吉尼亚理工大学构建了一个基于InfiniBand技术的集群,在全球超级计算机排名TOP500榜单中名列第三。
2004年,另一个值得关注的InfiniBand非营利组织应运而生——开放Fabric联盟(OFA)。OFA和IBTA保持着良好合作关系,IBTA专注于InfiniBand协议标准的开发、维护和提升,而OFA则负责开发和维护InfiniBand协议和更高级别的应用程序API。
2005年,InfiniBand发现了另一个应用场景——连接存储设备。这一时期还见证了InfiniBand和光纤通道(FC)作为存储区域网络(SAN)技术的普及,提高了对InfiniBand技术的认识。
随着InfiniBand的普及,其用户群不断增长。到2009年,TOP500榜单中有181个系统采用了InfiniBand技术,尽管当时千兆以太网仍然是主流,有259个系统采用。
2012年后,在高性能计算(HPC)需求不断升级的推动下,InfiniBand技术不断进步,市场份额稳步增长。2015年,它在TOP500榜单中的份额首次超过50%。这是一个重要的里程碑,标志着InfiniBand成为超级计算机首选的内部互连技术。
为了跟上InfiniBand的进步,以太网也在不断发展。2010年4月,IBTA推出了RoCE(RDMA over Converged Ethernet),将RDMA技术从InfiniBand“移植”到以太网。到2014年,更成熟的版本RoCE v2问世。通过RoCE v2,以太网利用其成本和兼容性优势,大大缩小了与InfiniBand的技术性能差距。
下图显示了2007年至2021年TOP500榜单中的技术份额,展示了高性能计算技术的动态格局
从图中可以明显看出,25G和更高速以太网(由深绿线表示)的崛起始于2015年,并迅速获得了业界的青睐,暂时盖过了InfiniBand。以GPT-3为代表的大型HPC语言模型的兴起引发了社会对高性能计算和智能计算的需求指数级增长。
为了满足GPT-3等大型HPC语言模型带来的惊人计算需求,高性能计算集群是不可或缺的构成。在性能方面,InfiniBand是此类集群的首选。
在高性能网络领域,战场主要在InfiniBand和高速以太网之间,双方都表现出了相当的实力。拥有充足资源的制造商通常会选择InfiniBand,而那些优先考虑成本效益的制造商往往会倾向于高速以太网。
其他技术,如IBM的BlueGene、Cray和英特尔(Intel)的OmniPath,则作为替代技术徘徊在第二梯队。这些技术之间错综复杂的相互作用反映了高性能计算的动态发展。
InfiniBand的技术原理
在追溯了InfiniBand的发展历史之后,深入探索其工作原理,揭示为什么它在性能和延迟方面超越了传统以太网。InfiniBand如何实现如此低延迟和高性能?
开创性的进步:RDMA
如前所述,InfiniBand的一个突出特点是它早期集成了远程直接内存访问(RDMA)协议。
在传统的TCP/IP框架中,数据从网卡传输到主存储器,然后进行额外的传输到应用程序的存储空间。相反,来自应用程序空间的数据遵循类似的路线——从应用程序空间移动到主内存,然后通过网卡传输到互联网。
这种复杂的I/O操作需要在主内存中进行中间复制,从而拉长数据传输路径,给CPU施加负载,并带来传输延迟。
RDMA是一种有效“消除中间商”的技术。RDMA采用内核旁路机制,促进了应用程序与网卡之间的直接数据读写,将服务器内部的数据传输延迟降至近1微秒。
此外,RDMA的零拷贝机制允许接收端直接从发送方的内存中访问数据,从而避免了主内存参与。这大大减轻了CPU负担,显著提高了整体CPU效率。
如前所述,InfiniBand的广泛采用在很大程度上归功于RDMA对数据传输效率的变革性影响。
InfiniBand网络架构
InfiniBand的网络拓扑结构如下图所示:
InfiniBand建立在基于通道的架构上,由四个主要组件组成:
-
HCA(主机通道适配器)
-
TCA(目标通道适配器)
-
InfiniBand链路(连接通道,从线缆到光纤,甚至板载链路)
-
InfiniBand交换机和路由器(用于网络的集成)
通道适配器,特别是HCA和TCA,在建立InfiniBand通道、确保所有传输的安全性和遵守指定的服务质量 (QoS) 水平方面发挥着至关重要的作用。
利用InfiniBand的系统可以构建为多个子网,每个子网能够支持超过60,000个节点。在子网中,InfiniBand交换机进行第2层处理,而路由器或网桥则促进子网之间的连接。
InfiniBand的第二层处理流程简洁。每个InfiniBand子网都配备了一个子网管理器,负责生成16位本地标识符(LID)。InfiniBand交换机包含多个端口,可根据第2层本地路由报头中包含的LID将数据包从一个端口转发到另一个端口。值得注意的是,交换机主要处理数据包管理,不会主动生成或消耗数据包。
利用其简单的处理和专有的直通技术,InfiniBand实现了转发延迟的显著降低,达到100ns以下的水平。这种延迟速度要比传统以太网交换机所能提供的速度快得多。
在InfiniBand网络中,数据以数据包的形式进行串行传输,每个数据包的最大容量为4KB。
InfiniBand协议栈
InfiniBand协议采用结构化的分层方法,每一层独立运行,并向位于其上的层次提供服务。请参考下图的直观表示:
InfiniBand协议栈包括物理层,它决定了如何在线上将比特信号结构化为符号、帧、数据符号以及数据包之间的填充,为信号协议提供了精确的规范,从而便于构建高效的数据包。
沿着协议栈向上,链路层定义了数据包的格式,并概述了像流量控制、路由选择、编码和解码等基本数据包操作的协议。
网络层通过在数据包中附加一个40字节的全局路由报头(GRH)负责路由选择,从而促进有效的数据转发。
在转发过程中,路由器执行可变的CRC校验,确保端到端数据传输的完整性。
在协议栈中,传输层负责将数据包传送到指定的队列对(QP),并向QP提供如何有效处理数据包的指令。
InfiniBand的1-4层定义清晰,共同构成了一个全面的网络协议,其端到端的流量控制构成了网络数据传输和接收的基础,确保了无损网络的实现。
队列对(QP)在RDMA技术中起着关键作用。QP由发送队列(SQ)和接收队列(RQ)两个部分组成,作为基本通信单元发挥作用。当用户调用API发送或接收数据时,实际上是将数据放入队列中。队列中的请求会按照顺序使用轮询机制进行处理。
链路速率
可以使用铜缆或光缆建立InfiniBand链路,并根据特定的连接要求选择专用的InfiniBand线缆。
InfiniBand在物理层定义了多种链路速度,例如1X、4X和12X,每个链路速度都采用四线串行差分连接,每个方向有两根线。
例如,早期的SDR(单数据速率)规范为1X链路的带宽为2.5Gbps,4X链路的带宽为10Gbps,12X链路的带宽为30Gbps。但是,由于使用了8b/10b编码,1X链路的实际数据带宽为2.0Gbps。考虑到链路的双向特性,对于总线而言,总带宽为4 Gbps。
随着时间的推移,InfiniBand的网络带宽不断升级,从SDR、DDR、QDR、FDR、EDR和HDR发展到NDR、XDR和GDR,如下图所示:
InfiniBand的商业产品
飞速(FS)提供涵盖40G至800G多样化产品组合,以满足客户不同速度需求,包括NDR、HDR、EDR和FRD等。我们的产品线包括InfiniBand Quantum/Quantum-2交换机、InfiniBand光模块 、InfiniBand网卡 以及AOC/DAC线缆(0.5m~100m)。这些产品不仅支持高速互连和极低延迟,还提供可扩展的解决方案,加速开发人员和科研人员的研究、创新和产品开发。
此外,我们在全球拥有7个本地仓库 ,确保实现快速交货。飞速(FS)对产品进行严格的性能、可靠性、适用场景和兼容性测试,以确保产品卓越表现。作为一家拥有专业技术团队和丰富跨应用场景解决方案部署经验的公司,飞速(FS)积极为高性能计算、数据中心、教育、研究、生物医药、金融、能源、自动驾驶、互联网、制造和电信等领域提供定制化的解决方案。同时,我们也为其他领域的客户提供专业服务,以满足他们的需求。
结论
总而言之,在高性能计算需求激增的推动下,InfiniBand的发展前景充满希望。
广泛应用于扩展计算集群和超级计算机中,InfiniBand凭借其高性能和低延迟的互连技术脱颖而出。它通过提供更高的带宽和更低的延迟,无缝地满足了大量数据传输和并发计算的要求。对各种拓扑结构和复杂通信模式的适应性使InfiniBand具有独特的优势,成为高性能计算领域的强大选择。
尽管如此,以太网作为一种普及的网络技术,仍然处于发展进程中。以不断提升的速度和技术突破为标志,以太网已经在数据中心领域巩固了其地位,并弥补了某些与与InfiniBand之间的差距。以太网拥有全面的生态系统和成熟的标准化支持,因此在典型数据中心环境中,它已成为一种易于获取且管理便捷的解决方案。
随着技术的进步和需求的变化,InfiniBand和以太网都准备在不同的应用场景中发挥各自的优势。InfiniBand和以太网之间的最终赢家仍然不确定,唯有时间能揭示这场竞争的结局。毋庸置疑,它们将继续引领信息技术的发展,满足不断增长的带宽需求,并为高效的数据传输和处理提供强大的能力。
相关文章推荐
邮箱地址
-
Cat5e、Cat6、Cat6a和Cat7网线有什么区别?哪个更好?
2020年08月21日
-
一文带你了解SFP、SFP+、SFP28、QSFP+和QSFP28之间的区别
2024年04月13日
-
OM1、OM2、OM3、OM4和OM5多模光纤有什么区别?
2021年11月24日
-
SFP端口是什么?有什么作用?可以接RJ45吗?
2020年09月15日
-
QSFP-DD封装有何优势?800G光模块是否会沿用QSFP-DD封装?
2020年10月16日