Infiniband互连网络概述
一、Infiniband是什么?? ? ? ?
? ? ? ?InfiniBand(簡稱IB)是一種工業(yè)標(biāo)準(zhǔn)規(guī)范,它定義了一種輸入/輸出架構(gòu),用于計(jì)算節(jié)點(diǎn)、通信基礎(chǔ)設(shè)施設(shè)備、存儲和嵌入式系統(tǒng)的互連。操作系統(tǒng)可以是Linux、Windows或ESXI。
? ? ? IB協(xié)議于2000年由IBTA(InfiniBand Trade Association)提出,其規(guī)定了一整套完整的鏈路層到傳輸層(非傳統(tǒng)OSI七層模型的傳輸層,而是位于其之上)規(guī)范,但是其無法兼容現(xiàn)有以太網(wǎng)。企業(yè)如果想部署,還要重新購買IB網(wǎng)卡和配套的交換設(shè)備。IB是一種專為RDMA設(shè)計(jì)的網(wǎng)絡(luò),從硬件級別保證可靠傳輸。
二、RoCE
? ? ? ?由于使用IB網(wǎng)絡(luò)的成本較高,因此,IBTA又提出了RoCE(RDMA over Converged Ethernet)協(xié)議,允許通過以太網(wǎng)絡(luò)使用RDMA。簡而言之,它可以看作是RDMA技術(shù)在超融合數(shù)據(jù)中心、云、存儲和虛擬化環(huán)境中的應(yīng)用。RoCE可以被認(rèn)為是IB的“低成本解決方案”,將IB的報(bào)文封裝成以太網(wǎng)包進(jìn)行收發(fā)。由于RoCE 可以使用以太網(wǎng)的交換設(shè)備,所以現(xiàn)在在企業(yè)中應(yīng)用也比較多,但是相同場景下相比IB性能要有一些損失。
三、玩家——標(biāo)準(zhǔn)/生態(tài)組織
? ? ? ?提到IB協(xié)議,就不得不提到兩大組織——IBTA和OFA。
? ? ? ?IBTA
? ? ? ?成立于1999年,負(fù)責(zé)制定和維護(hù)Infiniband協(xié)議標(biāo)準(zhǔn)。IBTA獨(dú)立于各個(gè)廠商,通過贊助技術(shù)活動和推動資源共享來將整個(gè)行業(yè)整合在一起,積極推廣IB和RoCE。IBTA會對商用的IB和RoCE設(shè)備進(jìn)行協(xié)議標(biāo)準(zhǔn)符合性和互操作性測試及認(rèn)證,由很多大型的IT廠商組成的委員會領(lǐng)導(dǎo),其主要成員包括博通,HPE,IBM,英特爾,Mellanox和微軟等。
? ? ? ?OFA(OpenFabrics Alliance)
? ? ? 成立于2004年的非盈利組織,負(fù)責(zé)開發(fā)、測試、認(rèn)證、支持和分發(fā)獨(dú)立于廠商的開源跨平臺infiniband協(xié)議棧,2010年開始支持RoCE。其對用于支撐RDMA/Kernel bypass應(yīng)用的OFED(OpenFabrics Enterprise Distribution)軟件棧負(fù)責(zé),保證其與主流軟硬件的兼容性和易用性。OFED軟件棧包括驅(qū)動、內(nèi)核、中間件和API。
? ? ? 上述兩個(gè)組織是配合關(guān)系,IBTA主要負(fù)責(zé)開發(fā)、維護(hù)和增強(qiáng)Infiniband協(xié)議標(biāo)準(zhǔn);OFA負(fù)責(zé)開發(fā)和維護(hù)Infiniband協(xié)議和上層應(yīng)用API。
四、開發(fā)社區(qū)
? ? ? ? Linux社區(qū)
? ? ? ?Linux內(nèi)核的RDMA子系統(tǒng)經(jīng)常會討論一些協(xié)議細(xì)節(jié),對框架的修改比較頻繁,另外包括華為和Mellanox在內(nèi)的一些廠商也會經(jīng)常對驅(qū)動代碼進(jìn)行修改。代碼位于內(nèi)核drivers/infiniband/目錄下,包括框架核心代碼和各廠商的驅(qū)動代碼。代碼倉:git.kernel.org/pub/scm/
? ? ? ?RDMA社區(qū)
? ? ? ?對于上層用戶,IB提供了一套與Socket套接字類似的接口——libibverbs。在github上其倉庫的名字為linux-rdma。主要包含兩個(gè)子倉庫:
? ? ? ?1、rdma-core用戶態(tài)核心代碼,API,文檔以及各個(gè)廠商的用戶態(tài)驅(qū)動。
? ? ? ?2、perftest一個(gè)功能強(qiáng)大的用于測試RDMA性能的工具代碼倉:github.com/linux-rdma/
? ? ? ?UCX
? ? ? ?UCX是一個(gè)建立在RDMA等技術(shù)之上的用于數(shù)據(jù)處理和高性能計(jì)算的通信框架,RDMA是其底層核心之一。我們可以將其理解為是位于應(yīng)用和RDMA API之間的中間件,向上層用戶又封裝了一層更易開發(fā)的接口。代碼倉:github.com/openucx/ucx
五、硬件廠商
? ? ? ?Mellanox:IB領(lǐng)域的領(lǐng)頭羊,協(xié)議標(biāo)準(zhǔn)制定、軟硬件開發(fā)和生態(tài)建設(shè)都能看到Mellanox的身影,其在社區(qū)和標(biāo)準(zhǔn)制定上上擁有最大的話語權(quán)。于2020年4月被NVIDIA正式收購,目前最新一代的網(wǎng)卡是支持400Gb/s的ConnextX-7系列。?
?六、Infiniband主要功能
? ? ? ?提供高帶寬、低延遲、高可擴(kuò)展、Qos、CPU卸載(SHARP支持的聚合通信卸載)、易管理等服務(wù)。
?IB網(wǎng)絡(luò)帶寬發(fā)展路標(biāo)圖:
總結(jié)
以上是生活随笔為你收集整理的Infiniband互连网络概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Maven的下载与使用
- 下一篇: 四相开关磁阻电机Maxwell+Simp