Infiniband互连网络概述
一、Infiniband是什么?InfiniBand(简称IB)是一种工业标准规范,它定义了一种输入/输出架构,用于计算节点、通信基础设施设备、存储和嵌入式系统的互连。操作系统可以是Linux、Windows或ESXI。IB网络一共是五层,从第一天起,IB就被设计为提供一个端到端的解决方案,改善和加速从物理层到上层的所有协议层。IB协议于2000年由IBTA(InfiniBand Trade As
一、Infiniband是什么?
InfiniBand(简称IB)是一种工业标准规范,它定义了一种输入/输出架构,用于计算节点、通信基础设施设备、存储和嵌入式系统的互连。操作系统可以是Linux、Windows或ESXI。
IB协议于2000年由IBTA(InfiniBand Trade Association)提出,其规定了一整套完整的链路层到传输层(非传统OSI七层模型的传输层,而是位于其之上)规范,但是其无法兼容现有以太网。企业如果想部署,还要重新购买IB网卡和配套的交换设备。IB是一种专为RDMA设计的网络,从硬件级别保证可靠传输。
二、RoCE
由于使用IB网络的成本较高,因此,IBTA又提出了RoCE(RDMA over Converged Ethernet)协议,允许通过以太网络使用RDMA。简而言之,它可以看作是RDMA技术在超融合数据中心、云、存储和虚拟化环境中的应用。RoCE可以被认为是IB的“低成本解决方案”,将IB的报文封装成以太网包进行收发。由于RoCE 可以使用以太网的交换设备,所以现在在企业中应用也比较多,但是相同场景下相比IB性能要有一些损失。
三、玩家——标准/生态组织
提到IB协议,就不得不提到两大组织——IBTA和OFA。
IBTA
成立于1999年,负责制定和维护Infiniband协议标准。IBTA独立于各个厂商,通过赞助技术活动和推动资源共享来将整个行业整合在一起,积极推广IB和RoCE。IBTA会对商用的IB和RoCE设备进行协议标准符合性和互操作性测试及认证,由很多大型的IT厂商组成的委员会领导,其主要成员包括博通,HPE,IBM,英特尔,Mellanox和微软等。
OFA(OpenFabrics Alliance)
成立于2004年的非盈利组织,负责开发、测试、认证、支持和分发独立于厂商的开源跨平台infiniband协议栈,2010年开始支持RoCE。其对用于支撑RDMA/Kernel bypass应用的OFED(OpenFabrics Enterprise Distribution)软件栈负责,保证其与主流软硬件的兼容性和易用性。OFED软件栈包括驱动、内核、中间件和API。
上述两个组织是配合关系,IBTA主要负责开发、维护和增强Infiniband协议标准;OFA负责开发和维护Infiniband协议和上层应用API。
四、开发社区
Linux社区
Linux内核的RDMA子系统经常会讨论一些协议细节,对框架的修改比较频繁,另外包括华为和Mellanox在内的一些厂商也会经常对驱动代码进行修改。代码位于内核drivers/infiniband/目录下,包括框架核心代码和各厂商的驱动代码。代码仓:git.kernel.org/pub/scm/
RDMA社区
对于上层用户,IB提供了一套与Socket套接字类似的接口——libibverbs。在github上其仓库的名字为linux-rdma。主要包含两个子仓库:
1、rdma-core用户态核心代码,API,文档以及各个厂商的用户态驱动。
2、perftest一个功能强大的用于测试RDMA性能的工具代码仓:github.com/linux-rdma/
UCX
UCX是一个建立在RDMA等技术之上的用于数据处理和高性能计算的通信框架,RDMA是其底层核心之一。我们可以将其理解为是位于应用和RDMA API之间的中间件,向上层用户又封装了一层更易开发的接口。代码仓:github.com/openucx/ucx
五、硬件厂商
Mellanox:IB领域的领头羊,协议标准制定、软硬件开发和生态建设都能看到Mellanox的身影,其在社区和标准制定上上拥有最大的话语权。于2020年4月被NVIDIA正式收购,目前最新一代的网卡是支持400Gb/s的ConnextX-7系列。
六、Infiniband主要功能
提供高带宽、低延迟、高可扩展、Qos、CPU卸载(SHARP支持的聚合通信卸载)、易管理等服务。
IB网络带宽发展路标图:
更多推荐
所有评论(0)