InfiniBand 的前世今生
今年,以 ChatGPT 为代表的 AI 大模型强势崛起,而 ChatGPT 所使用的网络,正是 InfiniBand,这也让 InfiniBand 大火了起来。那么,到底什么是 InfiniBand 呢?下面,我们就来带你深入了解 InfiniBand。
InfiniBand的发展历史
InfiniBand(也称为“无限带宽”,缩写为 IB)是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。InfiniBand 也用作服务器与存储系统之间的直接或交换互连,以及存储系统之间的互连。随着人工智能的兴起,它也是 GPU 服务器的首选网络互连技术。
我们来看下 InfiniBand 的发展历程:
1999 年,一家名为 InfiniBand Trade Association(IBTA)的组织发布了 InfiniBand 架构,该架构的目的是为了取代 PCI 总线,旨在提供一种高性能、低延迟的计算和存储互连技术。
2000年,InfiniBand架构规范的 1.0 版本正式发布。紧接着在 20021 年,首批 InfiniBand 产品问世,多家厂商也开始推出支持 InfiniBand 的产品,包括服务器、存储系统和网络设备等。
2003 年,InfiniBand 转向一个新的应用领域——计算机集群互联,并在当时的 TOP500 超级计算机中得到了广泛应用。
在接下来的几年中,InfiniBand 多次引入新的特性和改进,支持双倍带宽的 DDR(Double Date Rate)、远程直接内存访问和更好的虚拟化支持,这些新特性为高性能计算和存储系统提供了更多的灵活性和性能优势。
到 2019 年的 TOP500 超级计算机中,已经有 181 个采用了 InfiniBand 技术,当时的 Ethernet(以太网)仍然是主流。而到了 2015 年,InfiniBand 技术在 TOP500 超级计算机中的占比首次超过了50%,达到 51.4%。这标志着 InfiniBand 技术首次实现了对以太网技术的逆袭,成为超级计算机中最受欢迎的内部连接技术。
InfiniBand的架构
InfiniBand 是处理器和 I/O 设备之间数据流的通信链路,支持多达 64,000 个可寻址设备。InfiniBand 架构 (IBA) 是一种行业标准规范,定义了用于互连服务器、通信基础设施、存储设备和嵌入式系统的点对点交换输入/输出框架。
InfiniBand的网络架构
InfiniBand 具有普遍性、低延迟、高带宽和低管理成本,非常适合在单个连接中连接多个数据流(集群、通信、存储、管理),具有数千个互连节点。最小的完整 IBA 单元是子网,多个子网通过路由器连接起来形成一个大的 IBA 网络。
InfiniBand 系统由通道适配器、交换机、路由器、电缆和连接器组成。CA 分为主机通道适配器(HCA)和目标通道适配器(TCA)。IBA 交换机在原理上与其他标准网络交换机类似,但必须满足 InfiniBand 的高性能和低成本要求。HCA 是 IB 端节点(例如服务器或存储设备)连接到 IB 网络的设备点。TCA 是一种特殊形式的通道适配器,主要用于存储设备等嵌入式环境。

△ InfiniBand 的网络拓扑结构
InfiniBand的分层架构
InfiniBand 架构分为多个层,每个层彼此独立运行。InfiniBand 分为以下几层:物理层、链路层、网络层、传输层和上层。

物理层:物理层服务于链路层并提供这两层之间的逻辑接口。物理层由端口信号连接器、物理连接(电和光)、硬件管理、电源管理、编码线等模块组成,
链路层:链路层负责处理分组中链路数据的发送和接收,提供寻址、缓冲、流量控制、错误检测和数据交换等服务。服务质量(QoS)主要由这一层体现。
网络层:网络层负责在 IBA 子网之间路由数据包,包括单播和多播操作。网络层不指定多协议路由(例如,非 IBA 类型上的 IBA 路由),也不指定原始数据包如何在 IBA 子网之间路由。
传输层:每个 IBA 数据都包含一个传输头。传输头包含端节点执行指定操作所需的信息。通过操纵 QP,传输层的 IBA 通道适配器通信客户端形成“发送”工作队列和“接收”工作队列。
上层:上层协议和应用层负责处理更高级别的通信功能和应用需求。上层协议可以包括诸如TCP/IP(传输控制协议/互联网协议)、UDP(用户数据报协议)、MPI(消息传递接口)等常见的网络协议。它们利用底层提供的基础通信能力,通过InfiniBand网络进行数据传输和通信,用于实现应用程序之间的通信和数据交换。此外,上层还包括运行在 InfiniBand 网络上的应用程序。
InfiniBand的特点及优势
InfiniBand 最突出的一个优势,就是率先引入了 RDMA (Remote Direct Memory Access)协议。RDMA 是一种绕过远程主机而访问其内存中数据的技术,解决网络传输中数据处理延迟而产生的一种远端内存直接访问技术。
在传统的 TCP/IP 网络通信中,数据发送方需要将数据进行多次内存拷贝,并经过一系列的网络协议的数据包处理工作;数据接收方在应用程序中处理数据前,也需要经过多次内存拷贝和一系列的网络协议的数据包处理工作。
而 RDMA 允许应用与网卡之间的直接数据读写,允许接收端直接从发送端的内存读取数据,RDMA 可以显著降低传输延迟,加快数据交换速度,并可以减轻 CPU 负载,释放 CPU 的计算能力。

△ 传统传输 VS RDMA
除了 InfiniBand 对 RDMA 协议的支持,还有以下优势:
- 低延迟:InfiniBand 网络以其极低的延迟而著称。RDMA 零拷贝网络减少了操作系统开销,使得数据能够在网络中快速移动,InfiniBand 网络延迟可达到 0.7 微秒。
- 高带宽:InfiniBand 网络提供高带宽的数据传输能力。它通常支持数十Gb/s甚至更高的带宽,取决于网络设备和配置。高带宽使得节点之间可以以高速进行数据交换,适用于大规模数据传输、并行计算和存储系统等应用。
- 可扩展性:IB网络具有出色的可扩展性,适用于构建大规模计算集群和数据中心。它支持多级拓扑结构,如全局互连网络、树状结构和扁平结构,可以根据应用需求和规模进行灵活配置和扩展。此外,IB网络还支持多个子网的互连,使得不同子网之间的节点可以进行通信和数据交换。这种可扩展性使得IB网络能够应对不断增长的计算和存储需求。
- 高吞吐量:由于低延迟和高带宽的特性,IB网络能够实现高吞吐量的数据传输。它支持大规模数据流的并行传输,同时减少了中间处理和拷贝操作,提高了系统的整体性能。高吞吐量对于需要大规模数据共享和并行计算的应用非常重要,如科学模拟、大数据分析和机器学习。
在看了上文后,相信你对 InfiniBand 已经有了一定的了解。根据行业机构的预测,InfiniBand 的市场规模在 2029 年将达到 983.7 亿美元,相比 2021 年的66.6亿美元,增长 14.7 倍。在高性能计算和 AI 的强力推动下,InfiniBand 的发展前景令人期待。
InfiniBand 的前世今生的更多相关文章
- 【调侃】IOC前世今生
前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- docker4dotnet #1 – 前世今生 & 世界你好
作为一名.NET Developer,这几年看着docker的流行实在是有些眼馋.可惜的是,Docker是基于Linux环境的,眼瞧着那些 java, python, node.js, go 甚至连p ...
- Atitit 智能云网络摄像机的前世今生与历史 优点 密码默认888888
Atitit 智能云网络摄像机的前世今生与历史 优点 密码默认888888 用户名admin 密码aaaaaa 网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将影像通过网络传 ...
- 阿里开源消息中间件RocketMQ的前世今生-转自阿里中间件
昨天,我们将分布式消息中间件RocketMQ捐赠给了开源软件基金会Apache. 孵化成功后,RocketMQ或将成为国内首个互联网中间件在Apache上的顶级项目. 消息一出,本以为群众的反应是这样 ...
- JavaScript的前世今生
和CSS一样,JavaScript在各浏览器下并非完全一致,它所带来的兼容性问题时常困扰着我们,以至于现在“能否处理流行浏览器的兼容性问题”成为了检验一个程序员是否合格的标准之一.了解JavaScri ...
- 主成分分析PCA的前世今生
这篇博客会以攻略形式介绍PCA在前世今生. 其实,主成分分析知识一种分析算法,他的前生:应用场景:后世:输出结果的去向,在网上的博客都没有详细的提示.这里,我将从应用场景开始,介绍到得出PCA结果后, ...
- SpringMVC源码剖析(二)- DispatcherServlet的前世今生
上一篇文章<SpringMVC源码剖析(一)- 从抽象和接口说起>中,我介绍了一次典型的SpringMVC请求处理过程中,相继粉墨登场的各种核心类和接口.我刻意忽略了源码中的处理细节,只列 ...
- (转)word2vec前世今生
word2vec 前世今生 2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效 ...
- Spring学习总结(2)——Spring IOC的前世今生
前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...
随机推荐
- 【转载】Linux虚拟化KVM-Qemu分析(四)之CPU虚拟化(2)
原文信息: 作者:LoyenWang 出处:https://www.cnblogs.com/LoyenWang/ 公众号:LoyenWang 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作 ...
- linux内核Makefile中的变量build--- 过渡篇(五)
一. kbuild系统主要涉及的几个文件 文件名 作用 Makefile 内核源代码顶层目录的Makefile文件 scripts/Makefile.build 通常在进行递归make时会用到的Mak ...
- 无需学习Python,一个公式搞定领导想看的大屏
摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 不要让"做不了"成为数字化转型的障碍 随着 ...
- Ubuntu 20.04使用 VNC远程桌面连接避坑指南
Ubuntu 20.04使用 VNC远程桌面连接避坑指南 自从开始使用Ubuntu 20.04搭建深度学习服务器,就想到使用VNC远程桌面连接使用.可是之前一直使用的是Ubuntu18.04,心里想着 ...
- Nginx获取用户真实IP
Nginx获取用户真实IP地址 本人在一次项目中,使用Nginx需要获取到用户IP,本来可以很常规的获取的,可现实往往不常规,项目是前后端分离的,部署时,前端使用了Nginx进行了代理并转发,后端也使 ...
- don't be shy to use reshape
don't be shy to use reshape
- 【Unity3D】平面光罩特效
1 前言 屏幕深度和法线纹理简介中对深度和法线纹理的来源.使用及推导过程进行了讲解,激光雷达特效中讲述了一种重构屏幕像素点世界坐标的方法,本文将沿用激光雷达特效中重构像素点世界坐标的方法,实现平面 ...
- VScode软件的安装以及C/C++环境配置的方法
今天和大家分享一下VScode软件的安装以及C/C++环境配置的方法.手把手教大家入门. 1,下载VScode编译器 (1) 官网下载链接:https://code.visualstudio.c ...
- 带你读论文丨S&P2019 HOLMES Real-time APT Detection
本文分享自华为云社区<[论文阅读] (09)S&P2019 HOLMES Real-time APT Detection(溯源图)>,作者: eastmount . 摘要 本文提出 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-13-playwright操作iframe-下篇
1.简介 通过前边两篇的学习,想必大家已经对iframe有了一定的认识和了解,今天这一篇主要是对iframe做一个总结,主要从iframe的操作(输入框.点击等等)和定位两个方面进行总结. 2.ifr ...