关于InfiniBand几个基本知识点解释
IP網(wǎng)絡(luò)協(xié)議如TCP/IP,具有轉(zhuǎn)發(fā)丟失數(shù)據(jù)包的特性,網(wǎng)絡(luò)不良時要不斷地確認(rèn)與重發(fā),基于這些協(xié)議的通信也會因此變慢,極大地影響了性能。與之相比,IB使用基于信任的、流控制的機(jī)制來確保連接的完整性,數(shù)據(jù)包極少丟失。
使用IB協(xié)議,除非確認(rèn)接收緩存具備足夠的空間,否則不會傳送數(shù)據(jù)。接受方在數(shù)據(jù)傳輸完畢之后,返回信號來標(biāo)示緩存空間的可用性。通過這種辦法,IB協(xié)議消除了由于原數(shù)據(jù)包丟失而帶來的重發(fā)延遲,從而提升了效率和整體性能。?
什么是InfiniBand網(wǎng)絡(luò)
InfiniBand是一種網(wǎng)絡(luò)通信協(xié)議,它提供了一種基于交換的架構(gòu),由處理器節(jié)點之間、處理器節(jié)點和輸入/輸出節(jié)點(如磁盤或存儲)之間的點對點雙向串行鏈路構(gòu)成。每個鏈路都有一個連接到鏈路兩端的設(shè)備,這樣在每個鏈路兩端控制傳輸(發(fā)送和接收)的特性就被很好地定義和控制了。
InfiniBand通過交換機(jī)在節(jié)點之間直接創(chuàng)建一個私有的、受保護(hù)的通道,進(jìn)行數(shù)據(jù)和消息的傳輸,無需CPU參與遠(yuǎn)程直接內(nèi)存訪問(RDMA)和發(fā)送/接收由InfiniBand適配器管理和執(zhí)行的負(fù)載。
適配器通過PCI Express接口一端連接到CPU,另一端通過InfiniBand網(wǎng)絡(luò)端口連接到InfiniBand子網(wǎng)。與其他網(wǎng)絡(luò)通信協(xié)議相比,這提供了明顯的優(yōu)勢,包括更高的帶寬、更低的延遲和增強(qiáng)的可伸縮性。
什么是InfiniBand架構(gòu)
InfiniBand Architecture(IBA)是為硬件實現(xiàn)而設(shè)計的,而TCP則是為軟件實現(xiàn)而設(shè)計的。因此,InfiniBand是比TCP更輕的傳輸服務(wù),因為它不需要重新排序數(shù)據(jù)包,因為較低的鏈路層提供有序的數(shù)據(jù)包交付。傳輸層只需要檢查包序列并按順序發(fā)送包。
進(jìn)一步,因為InfiniBand提供以信用為基礎(chǔ)的流控制(發(fā)送方節(jié)點不給接收方發(fā)送超出廣播 “信用“大小的數(shù)據(jù)包),傳輸層不需要像TCP窗口算法那樣的包機(jī)制確定最優(yōu)飛行包的數(shù)量。這使得高效的產(chǎn)品能夠以非常低的延遲和可忽略的CPU利用率向應(yīng)用程序交付56、100Gb/s的數(shù)據(jù)速率。
IB是以通道(Channel)為基礎(chǔ)的雙向、串行式傳輸,在連接拓樸中是采用交換、切換式結(jié)構(gòu)(Switched Fabric),所以會有所謂的IBA交換器(Switch),此外在線路不夠長時可用IBA中繼器(Repeater)進(jìn)行延伸。
而每一個IBA網(wǎng)絡(luò)稱為子網(wǎng)(Subnet),每個子網(wǎng)內(nèi)最高可有65,536個節(jié)點(Node),IBASwitch、IBA Repeater僅適用于Subnet范疇,若要通跨多個IBA Subnet就需要用到IBA路由器(Router)或IBA網(wǎng)關(guān)器(Gateway)。
至于節(jié)點部分,Node想與IBA Subnet接軌必須透過配接器(Adapter),若是CPU、內(nèi)存部分要透過HCA (Host Channel Adapter),若為硬盤、I/O部分則要透過TCA (Target Channel Adapter),之后各部分的銜接稱為聯(lián)機(jī)(Link)。上述種種構(gòu)成了一個完整的IBA。
InfiniBand速率發(fā)展介紹
InfiniBand串行鏈路可以在不同的信令速率下運行,然后可以捆綁在一起實現(xiàn)更高的吞吐量。原始信令速率與編碼方案耦合,產(chǎn)生有效的傳輸速率。編碼將通過銅線或光纖發(fā)送的數(shù)據(jù)的錯誤率降至最低,但也增加了一些開銷(例如,每8位數(shù)據(jù)傳輸10位)。
典型的實現(xiàn)是聚合四個鏈接單元(4X)。目前,InfiniBand系統(tǒng)提供以下吞吐量速率:
InfiniBand網(wǎng)絡(luò)主要上層協(xié)議
?InfiniBand為不同類型的用戶提供了不同的上層協(xié)議,并為某些管理功能定義了消息和協(xié)議。InfiniBand主要支持SDP、SRP、iSER、RDS、IPoIB和uDAPL等上層協(xié)議。
SDP (Sockets Direct Protocol)是InfiniBand Trade Association (IBTA)制定的基于infiniband的一種協(xié)議,它允許用戶已有的使用TCP/IP協(xié)議的程序運行在高速的infiniband之上。
SRP(SCSIRDMA Protocol)是InfiniBand中的一種通信協(xié)議,在InfiniBand中將SCSI命令進(jìn)行打包,允許SCSI命令通過RDMA(遠(yuǎn)程直接內(nèi)存訪問)在不同的系統(tǒng)之間進(jìn)行通信,實現(xiàn)存儲設(shè)備共享和RDMA通信服務(wù)。
iSER(iSCSI RDMA Protocol)類似于SRP(SCSI RDMA protocol)協(xié)議,是IB SAN的一種協(xié)議?,其主要作用是把iSCSI協(xié)議的命令和數(shù)據(jù)通過RDMA的方式跑到例如Infiniband這種網(wǎng)絡(luò)上,作為iSCSI RDMA的存儲協(xié)議iSER已被IETF所標(biāo)準(zhǔn)化。
RDS(Reliable Datagram Sockets)協(xié)議與UDP?類似,設(shè)計用于在Infiniband?上使用套接字來發(fā)送和接收數(shù)據(jù)。實際是由Oracle公司研發(fā)的運行在infiniband之上,直接基于IPC的協(xié)議。
IPoIB(IP-over-IB)是為了實現(xiàn)INFINIBAND網(wǎng)絡(luò)與TCP/IP網(wǎng)絡(luò)兼容而制定的協(xié)議,基于TCP/IP協(xié)議,對于用戶應(yīng)用程序是透明的,并且可以提供更大的帶寬,也就是原先使用TCP/IP協(xié)議棧的應(yīng)用不需要任何修改就能使用IPoIB。
uDAPL(User Direct Access Programming Library)用戶直接訪問編程庫是標(biāo)準(zhǔn)的API,通過遠(yuǎn)程直接內(nèi)存訪問?RDMA功能的互連(如InfiniBand)來提高數(shù)據(jù)中心應(yīng)用程序數(shù)據(jù)消息傳送性能、伸縮性和可靠性。
iSER (iSCSI Extensions for RDMA)和NFSoRDMA (NFS over RDMA),SRP (SCSI RDMA Protocol) 等是InfiniBand中的一種通信協(xié)議,在InfiniBand中將SCSI命令進(jìn)行打包,允許SCSI命令通過RDMA在不同的系統(tǒng)之間進(jìn)行通信,實現(xiàn)存儲設(shè)備共享和RDMA通信服務(wù)。
InfiniBand管理軟件
OpenSM軟件是符合InfiniBand的子網(wǎng)管理器(SM),運行在Mellanox OFED軟件堆棧進(jìn)行IB?網(wǎng)絡(luò)管理,管理控制流走業(yè)務(wù)通道,屬于帶內(nèi)管理方式。
?OpenSM包括子網(wǎng)管理器、背板管理器和性能管理器三個組件,綁定在交換機(jī)內(nèi)部的必備部件。提供非常完備的管理和監(jiān)控能力,如設(shè)備自動發(fā)現(xiàn)、設(shè)備管理、Fabric可視化、智能分析、健康監(jiān)測等等。
?
更多關(guān)于InfiniBand技術(shù)細(xì)節(jié),請參考梳理成文的“InfiniBand架構(gòu)和技術(shù)實戰(zhàn)總結(jié)”電子書,點擊原文鏈接獲取詳情。
推薦閱讀:
InfiniBand架構(gòu)和技術(shù)實戰(zhàn)總結(jié)
詳解如何從0開始學(xué)大數(shù)據(jù)
溫馨提示:
請搜索“ICT_Architect”或“掃一掃”二維碼關(guān)注公眾號,點擊原文鏈接獲取更多技術(shù)文章。
求知若渴,?虛心若愚
總結(jié)
以上是生活随笔為你收集整理的关于InfiniBand几个基本知识点解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql server——分组查询
- 下一篇: CloudComparePCL 体元累加