对于 InfiniBand ,很多搞数通的同学肯定不会陌生。 进入 21 世纪以来,随着云计算、大数据的不断普及,数据中心获得了高速发展。而 InfiniBand ,就是数据中心里的一项关键技术,地位极为重要。 尤其是今年以来,以 ChatGPT 为代表的 AI 大模型强势崛起,更是让 InfiniBand 的关注热度大涨。因为, GPT 们所使用的网络,就是英伟达公司基于 InfiniBand 构建的。 那么, InfiniBand 到底是什么技术?它为什么会倍受追捧?人们经常讨论的 “InfiniBand 与以太网 ” 之争,又是怎么回事? 今天这篇文章,就让小枣君来逐一解答。 █ InfiniBand 的发展历程 InfiniBand (简称 IB ),是一种能力很强的通信技术协议。它的英文直译过来,就是 “ 无限带宽 ” 。 Infiniband 的诞生故事,还要从计算机的架构讲起。 大家都知道,现代意义上的数字计算机,从诞生之日起,一直都是采用的冯 · 诺依曼架构。在这个架构中,有 CPU (运算器、控制器)、存储器(内存、硬盘),还有 I/O (输入 / 输出)设备。 上世纪 90 年代早期,为了支持越来越多的外部设备,英特尔公司率先在标准 PC 架构中引入 PCI ( Peripheral Component Interconnect ,外设部件互连标准)总线设计。 PCI 总线,其实就是一条通道。 不久后,互联网进入高速发展阶段。线上业务和用户规模的不断增加,给 IT 系统的承载能力带来了很大挑战。 当时,在摩尔定律的加持下, CPU 、内存、硬盘等部件都在快速升级。而 PCI 总线,升级速度缓慢,大大限制了 I/O 性能,成为整个系统的瓶颈。 为了解决这个问题,英特尔、微软、 SUN 公司主导开发了 “Next Generation I/O ( NGIO ) ” 技术标准。而 IBM 、康柏以及惠普公司,则主导开发的 “Future I/O ( FIO ) ” 。 IBM 这三家公司,还合力搞出了 PCI-X 标准( 1998 年)。 1999 年, FIO Developers Forum 和 NGIO Forum 进行了合并,创立了 InfiniBand 贸易协会( InfiniBand Trade Association , IBTA )。 很快, 2000 年, InfiniBand 架构规范的 1.0 版本正式发布了。 简单来说, InfiniBand 的诞生目的,就是为了取代 PCI 总线。它引入了 RDMA 协议,具有更低的延迟,更大的带宽,更高的可靠性,可以实现更强大的 I/O 性能。(技术细节,后文会详细介绍。) 说到 InfiniBand ,有一家公司我们是必须提到的,那就是大名鼎鼎的 Mellanox 。 迈络思 1999 年 5 月,几名从英特尔公司和伽利略技术公司离职的员工,在以色列创立了一家芯片公司,将其命名为 Mellanox 。 Mellanox 公司成立后,就加入了 NGIO 。后来, NGIO 和 FIO 合并, Mellanox 随之加入了 InfiniBand 阵营。 2001 年,他们推出了自己的首款 InfiniBand 产品。 2002 年, InfiniBand 阵营突遭巨变。 这一年,英特尔公司 “ 临阵脱逃 ” ,决定转向开发 PCI Express (也就是 PCIe , 2004 年推出)。而另一家巨头微软,也退出了 InfiniBand 的开发。 尽管 SUN 和日立等公司仍选择坚持,但 InfiniBand 的发展已然蒙上了阴影。 2003 年开始, InfiniBand 转向了一个新的应用领域,那就是计算机集群互联。 这一年,美国弗吉尼亚理工学院创建了一个基于 InfiniBand 技术的集群,在当时的 TOP500 (全球超级计算机 500 强)测试中排名第三。 2004 年,另一个重要的 InfiniBand 非盈利组织诞生 ——OFA ( Open Fabrics Alliance ,开放 Fabrics 联盟)。 OFA 和 IBTA 是配合关系。 IBTA 主要负责开发、维护和增强 Infiniband 协议标准; OFA 负责开发和维护 Infiniband 协议和上层应用 API 。 2005 年, InfiniBand 又找到了一个新场景 —— 存储设备的连接。 老一辈网工一定记得,当年 InfiniBand 和 FC ( Fibre Channel ,光纤通道)是非常时髦的 SAN ( Storage Area Network ,存储区域网络)技术。小枣君初次接触 InfiniBand ,就是在这个时候。 再后来, InfiniBand 技术逐渐深入人心,开始有了越来越多的用户,市场占比也不断提升。 到了 2009 年,在 TOP500 榜单中,已经有 181 个采用了 InfiniBand 技术。(当然,千兆以太网当时仍然是主流,占了 259 个。) 在 InfiniBand 逐渐崛起的过程中, Mellanox 也在不断壮大,逐渐成为了 InfiniBand 市场的领导者。 2010 年, Mellanox 和 Voltaire 公司合并, InfiniBand 主要供应商只剩下 Mellanox 和 QLogic 。不久后, 2012 年,英特尔公司出资收购了 QLogic 的 InfiniBand 技术,返回到 InfiniBand 的竞争赛道。 2012 年之后,随着高性能计算( HPC )需求的不断增长, InfiniBand 技术继续高歌猛进,市场份额不断提升。 2015 年, InfiniBand 技术在 TOP500 榜单中的占比首次超过了 50% ,达到 51.4% ( 257 套)。 这标志着 InfiniBand 技术首次实现了对以太网( Ethernet )技术的逆袭。 InfiniBand 成为超级计算机最首选的内部连接技术。 2013 年, Mellanox 相继收购了硅光子技术公司 Kotura 和并行光互连芯片厂商 IPtronics ,进一步完善了自身产业布局。 2015 年, Mellanox 在全球 InfiniBand 市场上的占有率达到 80% 。他们的业务范围,已经从芯片逐步延伸到网卡、交换机 / 网关、远程通信系统和线缆及模块全领域,成为世界级网络提供商。 面对 InfiniBand 的赶超,以太网也没有坐以待毙。 2010 年 4 月, IBTA 发布了 RoCE ( RDMA over Converged Ethernet ,基于融合以太网的远程直接内存访问),将 InfiniBand 中的 RDMA 技术 “ 移植 ” 到了以太网。 2014 年,他们又提出更加成熟的 RoCE v2 。 有了 RoCE v2 ,以太网大幅缩小了和 InfiniBand 之间的技术性能差距,结合本身固有的成本和兼容性优势,又开始反杀回来。 大家通过下面这张图,可以看出从 2007 年到 2021 年的 TOP500 榜单技术占比。 如图所示, 2015 年开始, 25G 及更高速率的以太网(图中深绿色的线)崛起,迅速成为行业新宠,一度压制住了 InfiniBand 。 2019 年,英伟达( Nvidia )公司豪掷 69 亿美元,击败对手英特尔和微软(分别出价 60 亿和 55 亿美元),成功收购了 Mellanox 。 对于收购原因,英伟达 CEO 黄仁勋是这么解释的: “ 这是两家全球领先高性能计算公司的结合,我们专注于加速计算( accelerated computing ),而 Mellanox 专注于互联和存储。 ” 现在看来,老黄的决策是非常有远见的。 正如大家所见, AIGC 大模型崛起,整个社会对高性能计算和智能计算的需求井喷。 想要支撑如此庞大的算力需求,必须依赖于高性能计算集群。而 InfiniBand ,在性能上是高性能计算集群的最佳选择。 将自家的 GPU 算力优势与 Mellanox 的网络优势相结合,就等于打造了一个强大的 “ 算力引擎 ” 。在算力基础设施上,英伟达毫无疑问占据了领先优势。 如今,在高性能网络的竞争上,就是 InfiniBand 和高速以太网的缠斗。双方势均力敌。不差钱的厂商,更多会选择 InfiniBand 。而追求性价比的,则会更倾向高速以太网。 剩下还有一些技术,例如 IBM 的 BlueGene 、 Cray ,还有 Intel 的 OmniPath ,基本属于第二阵营了。 █ InfiniBand 的技术原理 介绍完 InfiniBand 的发展历程,接下来,我们再看看它的工作原理。为什么它会比传统以太网更强。它的低时延和高性能,究竟是如何实现的。 起家本领 ——RDMA 前文提到, InfiniBand 最突出的一个优势,就是率先引入 RDMA ( Remote Direct Memory Access ,远程直接数据存取)协议。 在传统 TCP/IP 中,来自网卡的数据,先拷贝到核心内存,然后再拷贝到应用存储空间,或从应用空间将数据拷贝到核心内存,再经由网卡发送到 Internet 。 这种 I/O 操作方式,需要经过核心内存的转换。它增加了数据流传输路径的长度,增加了 CPU 的负担,也增加了传输延迟。 传统模式 VS RDMA 模式 RDMA 相当于是一个 “ 消灭中间商 ” 的技术。 RDMA 的内核旁路机制,允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近 1us 。 同时, RDMA 的内存零拷贝机制,允许接收端直接从发送端的内存读取数据,绕开了核心内存的参与,极大地减少了 CPU 的负担,提升 CPU 的效率。 如前文所说, InfiniBand 之所以能迅速崛起, RDMA 居功至伟。 InfiniBand 的网络架构 InfiniBand 的网络拓扑结构示意,如下图所示: InfiniBand 是一种基于通道的结构,组成单元主要分为四类: · HCA ( Host Channel Adapter ,主机通道适配器) · TCA ( Target Channel Adapter ,目标通道适配器) · InfiniBand link (连接通道,可以是电缆或光纤,也可以是板上链路) · InfiniBand 交换机和路由器(组网用的) 通道适配器就是搭建 InfiniBand 通道用的。所有传输均以通道适配器开始或结束,以确保安全或在给定的 QoS (服务质量)级别下工作。 使用 InfiniBand 的系统可以由多个子网( Subnet )组成,每个子网最大可由 6 万多个节点组成。子网内部, InfiniBand 交换机进行二层处理。子网之间,使用路由器或网桥进行连接。 InfiniBand 组网示例 InfiniBand 的二层处理过程非常简单,每个 InfiniBand 子网都会设一个子网管理器,生成 16 位的 LID (本地标识符)。 InfiniBand 交换机包含多个 InfiniBand 端口,并根据第二层本地路由标头中包含的 LID ,将数据包从其中一个端口转发到另一个端口。除管理数据包外,交换机不会消耗或生成数据包。 简单的处理过程,加上自有的 Cut-Through 技术, InfiniBand 将转发时延大幅降低至 100ns 以下,明显快于传统以太网交换机。 在 InfiniBand 网络中,数据同样以数据包(最大 4KB )的形式传输,采用的是串行方式。 InfiniBand 的协议栈 InfiniBand 协议同样采用了分层结构。各层相互独立,下层为上层提供服务。如下图所示: 其中,物理层定义了在线路上如何将比特信号组成符号,然后再组成帧、数据符号以及包之间的数据填充等,详细说明了构建有效包的信令协议等。 链路层定义了数据包的格式以及数据包操作的协议,如流控、 路由选择、编码、解码等。 网络层通过在数据包上添加一个 40 字节的全局的路由报头( Global Route Header, GRH )来进行路由的选择,对数据进行转发。 在转发的过程中,路由器仅仅进行可变的 CRC 校验,这样就保证了端到端的数据传输的完整性。 Infiniband 报文封装格式 传输层再将数据包传送到某个指定的队列偶( Queue Pair, QP )中,并指示 QP 如何处理该数据包。 可以看出, InfiniBand 拥有自己定义的 1-4 层格式,是一个完整的网络协议。端到端流量控制,是 InfiniBand 网络数据包发送和接收的基础,可以实现无损网络。 说到 QP (队列偶),我们需要多提几句。它是 RDMA 技术中通信的基本单元。 队列偶就是一对队列, SQ ( Send Queue ,发送工作队列)和 RQ ( Receive Queue ,接收工作队列)。用户调用 API 发送接收数据的时候,实际上是将数据放入 QP 当中,然后以轮询的方式,将 QP 中的请求一条条的处理。 InfiniBand 的链路速率 InfiniBand 链路可以用铜缆或光缆,针对不同的连接场景,需使用专用的 InfiniBand 线缆。 InfiniBand 在物理层定义了多种链路速度,例如 1X , 4X , 12X 。每个单独的链路是四线串行差分连接(每个方向两根线)。 以早期的 SDR (单数据速率)规范为例, 1X 链路的原始信号带宽为 2.5Gbps , 4X 链路是 10Gbps , 12X 链路是 30Gbps 。 1X 链路的实际数据带宽为 2.0Gbps (因为采用 8b/10b 编码)。由于链路是双向的,因此相对于总线的总带宽是 4Gbps 。 随着时间的推移, InfiniBand 的网络带宽不断升级,从早期的 SDR 、 DDR 、 QDR 、 FDR 、 EDR 、 HDR ,一路升级到 NDR 、 XDR 、 GDR 。如下图所示: 英伟达最新的 Quantum-2 平台好像采用的是 NDR 400G 具体速率和编码方式 InfiniBand 的商用产品 最后,我们再来看看市面上的 InfiniBand 商用产品。 英伟达收购 Mellanox 之后,于 2021 年推出了自己的第七代 NVIDIA InfiniBand 架构 ——NVIDIA Quantum-2 。 NVIDIA Quantum-2 平台包括: NVIDIA Quantum-2 系列交换机、 NVIDIA ConnectX-7 InfiniBand 适配器、 BlueField-3 InfiniBand DPU ,以及相关的软件。 NVIDIA Quantum-2 系列交换机采用紧凑型 1U 设计,包括风冷和液冷版本。交换机的芯片制程工艺为 7nm ,单芯片拥有 570 亿个晶体管(比 A100 GPU 还多)。采用 64 个 400Gbps 端口或 128 个 200Gbps 端口的灵活搭配,提供总计 51.2Tbps 的双向吞吐量。 NVIDIA ConnectX-7 InfiniBand 适配器,支持 PCIe Gen4 和 Gen5 ,具有多种外形规格,可提供 400Gbps 的单或双网络端口。 █ 结语 根据行业机构的预测,到 2029 年, InfiniBand 的市场规模将达到 983.7 亿美元,相比 2021 年的 66.6 亿美元,增长 14.7 倍。预测期内( 2021-2029 )的复合年增长率,为 40% 。 在高性能计算和人工智能计算的强力推动下, InfiniBand 的发展前景令人期待。 究竟它和以太网谁能笑到最后,就让时间来告诉我们答案吧! 关注公众号“优特美尔商城”,获取更多电子元器件知识、电路讲解、型号资料、电子资讯,欢迎留言讨论。