InfiniBand是目前發(fā)展最快的高速互連網(wǎng)絡(luò)技術(shù)之一,具有高帶寬、低延遲和易擴(kuò)展的特點。通過研究和實踐,對InfiniBand技術(shù)的數(shù)據(jù)包、數(shù)據(jù)傳輸、層次結(jié)構(gòu)、與以太網(wǎng)技術(shù)的對比、交換機(jī)制、發(fā)展愿景等進(jìn)行了全面探索。
1. 引言
隨著中央處理器(CPU)運算能力的極速增長,高速互連網(wǎng)絡(luò)HIS (High Speed Interconnection)已成為高性能計算機(jī)研制的關(guān)鍵所在。HSI 是改善計算機(jī)外圍元件擴(kuò)展接口(Peripheral Component Interface,PCI) 的性能不足而提出的一項新技術(shù)。經(jīng)過多年的發(fā)展,支持高性能計算(High Performance Computing,HPC) 的HSI目前主要是Gigabit Ethernet 和InfiniBand,而InfiniBand 是其中增長最快的HSI。InfiniBand 是在InfiniBand貿(mào)易協(xié)會(IBTA)監(jiān)督下發(fā)展起來的一種高性能、低延遲的技術(shù)。
2. InfiniBand Trade Association(IBTA)?
IBTA 成立于1999年,由Future I/O Developers Forum 和NGI/O Forum 兩個工業(yè)組織合二為一組成,在HP、IBM、Intel、Mellanox、Oracle、QLogic、Dell、Bull 等組成的籌劃運作委員會領(lǐng)導(dǎo)下工作。IBTA 專業(yè)從事產(chǎn)品的遵從性和互用性測試,其成員一直致力于推進(jìn)InfiniBand 規(guī)范的設(shè)立與更新。
3.InfiniBand 概述
InfiniBand是一種針對處理器與I/O 設(shè)備之間數(shù)據(jù)流的通信鏈路,其支持的可尋址設(shè)備高達(dá)64000 個。InfiniBand架構(gòu)(InfiniBand Architecture,IBA) 是一種定義點到點(point-to-point)交換式的輸入/ 輸出框架的行業(yè)標(biāo)準(zhǔn)規(guī)范,通常用于服務(wù)器、通信基礎(chǔ)設(shè)施、存儲設(shè)備和嵌入式系統(tǒng)的互連。
InfiniBand具有普適、低延遲、高帶寬、管理成本低的特性,是單一連接多數(shù)據(jù)流(聚類、通信、存儲、管理)理想的連接網(wǎng)絡(luò),互連節(jié)點可達(dá)成千上萬。最小的完整IBA 單元是子網(wǎng)(subnet),多個子網(wǎng)由路由器連接起來組成大的IBA 網(wǎng)絡(luò)。IBA 子網(wǎng)由端節(jié)點(end-node)、交換機(jī)、鏈路和子網(wǎng)管理器組成。
InfiniBand發(fā)展的初衷是把服務(wù)器總線網(wǎng)絡(luò)化,所以InfiniBand 除了具有很強(qiáng)的網(wǎng)絡(luò)性能以外還直接繼承了總線的高帶寬和低時延。總線技術(shù)中采用的DMA(Direct Memory Access) 技術(shù)在InfiniBand 中以RDMA (Remote Direct Memory Access)的形式得以實現(xiàn)。RDMA服務(wù)可在處理器之間進(jìn)行跨網(wǎng)絡(luò)數(shù)據(jù)傳輸,數(shù)據(jù)直接在暫時內(nèi)存之間傳遞,不需要操作系統(tǒng)介入或數(shù)據(jù)復(fù)制。RDMA 通過減少對帶寬和處理器開銷的需要降低了時延,這種效果是通過在NIC 的硬件中部署一項可靠的傳輸協(xié)議以及支持零復(fù)制網(wǎng)絡(luò)技術(shù)和內(nèi)核內(nèi)存旁路實現(xiàn)的。
這使得InfiniBand 在與、及存儲設(shè)備的數(shù)據(jù)交換方面天生地優(yōu)于萬兆以太網(wǎng)以及光纖通道(FiberChannel)。InfiniBand 實現(xiàn)了基于客戶機(jī)- 服務(wù)器和消息傳遞的通信方案及基于存儲映射實現(xiàn)網(wǎng)絡(luò)通信的方案,將復(fù)雜的I/O系統(tǒng)與處理器、存儲設(shè)備分離,使I/O 子系統(tǒng)獨立,是一種基于I/O 通道共享機(jī)制的總線互連技術(shù)。
InfiniBand系統(tǒng)由信道適配器(Channel Adapter)、交換機(jī)、路由器、線纜和連接器組成。CA 分為主機(jī)信道適配器(Host Channel Adapter) 和目標(biāo)信道適配器(Target ChannelAdapter)。IBA 交換機(jī)原理上與其它標(biāo)準(zhǔn)網(wǎng)絡(luò)交換機(jī)類似,但必須能滿足InfiniBand 的高性能和低成本的要求。InfiniBand 路由器是用來把大網(wǎng)絡(luò)分割為更小的子網(wǎng),并用路由器連接在一起。HCA 是一個設(shè)備點,諸如服務(wù)器或存儲設(shè)備的IB 端節(jié)點通過該設(shè)備點連接到IB 網(wǎng)絡(luò)。TCA是信道適配器的一種特別形式,多用于存儲設(shè)備等嵌入式環(huán)境。
InfiniBand 體系結(jié)構(gòu)如圖1所示
InfiniBand有幾大優(yōu)勢,基于標(biāo)準(zhǔn)的協(xié)議、高速率、遠(yuǎn)程直接內(nèi)存存取(RDMA)、傳輸卸載(transport offload)、網(wǎng)絡(luò)分區(qū)和服務(wù)質(zhì)量(QoS)。
標(biāo)準(zhǔn):成立于1999年的IBTA 擁有300 多個成員,它們共同設(shè)計了IBA 開放標(biāo)準(zhǔn)。IBA 支持SRP(SCSI RDMA Protocol)和iSER(iSCSI Extensions for RDMA)存儲協(xié)議。
速率:InfiniBand傳輸速率目前已達(dá)168Gbps(12xFDR),遠(yuǎn)遠(yuǎn)高于萬兆光纖通道的10Gbps 和10 萬兆以太網(wǎng)的100Gbps。
內(nèi)存:支持InfiniBand的服務(wù)器使用主機(jī)通道適配器(HCA),把協(xié)議轉(zhuǎn)換到服務(wù)器內(nèi)部的PCI-X或PCI-E 總線。HCA 具有RDMA 功能,RDMA 通過一個虛擬的尋址方案,數(shù)據(jù)直接在服務(wù)器內(nèi)存中傳輸,無需涉及操作系統(tǒng)的內(nèi)核,這對于集群來說很適合。
傳輸卸載:RDMA實現(xiàn)了傳輸卸載,使數(shù)據(jù)包路由從操作系統(tǒng)轉(zhuǎn)到芯片級,大大節(jié)省了處理器的處理負(fù)擔(dān)。網(wǎng)絡(luò)分區(qū):支持可編程的分區(qū)密鑰和路由。
服務(wù)質(zhì)量:多層次的QoS 保障,滿足服務(wù)請求者對QoS需求的多樣性。
4.InfiniBand 數(shù)據(jù)包和數(shù)據(jù)傳輸
數(shù)據(jù)包(Packet)是InfiniBand 數(shù)據(jù)傳輸?shù)幕締卧槭?a target="_blank">信息在InfiniBand 網(wǎng)絡(luò)中有效傳播,信息由信道適配器分割成許多的數(shù)據(jù)包。一個完整的IBA 數(shù)據(jù)包由本地路由報頭(Local Route Header)、全局路由報頭(Global Route Header)、基本傳輸報頭(Base TransportHeader)、擴(kuò)展傳輸報頭(Extended Transport Header)、凈荷(Payload,PYLD)、固定循環(huán)冗余檢測(Invariant CRC,ICRC)和可變循環(huán)冗余檢測(Variant CRC,VCRC)等域(field)組成,如圖2 所示。
LRH:8 字節(jié),用于交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)包時確定本地源端口和目的端口以及規(guī)范數(shù)據(jù)包傳輸?shù)姆?wù)等級和虛通路(Virtual Lane,VL)。
GRH:40 字節(jié),用于對子網(wǎng)間的數(shù)據(jù)包進(jìn)行路由,確保數(shù)據(jù)包在子網(wǎng)之間的正確傳輸。它由LRH 中的Link Next Header(LNH)域指定,采用RFC 2460 定義的IPv6 報頭規(guī)范。
BTH:12 字節(jié),指明目的隊列偶(Queue Pair,QP)、指示操作碼、數(shù)據(jù)包序列號和分段。
ETH:4-28 字節(jié),提供可靠數(shù)據(jù)報(Datagram)服務(wù)。Payload (PYLD):0-4096 字節(jié),被發(fā)送的端到端應(yīng)用數(shù)據(jù)。
ICRC:4 字節(jié),封裝數(shù)據(jù)包中從源地址發(fā)往目的地址時保持不變的數(shù)據(jù)。
VCRC:2 字節(jié),封裝鏈接過程中可變的IBA 和原始(raw)數(shù)據(jù)包。VCRC 在結(jié)構(gòu)(fabric)中可被重構(gòu)。
InfiniBand數(shù)據(jù)包使用一個128 位的IPv6 擴(kuò)展地址,其數(shù)據(jù)包包括InfiniBand GRH 中的源(HCA)和目的(TCA)地址,這些地址使InfiniBand 交換機(jī)可以立即將數(shù)據(jù)包直接交換到正確的設(shè)備上。
基于銅纜和光纖,InfiniBand物理層支持單線(1X)、4 線(4X)、8 線(8X)和12 線(12X)數(shù)據(jù)包傳輸。
InfiniBand標(biāo)準(zhǔn)支持單倍速(SDR)、雙倍速(DDR)、四倍速(QDR)、十四倍速(FDR)和增強(qiáng)倍速(EDR)數(shù)據(jù)傳輸速率,使InfiniBand 能夠傳輸更大的數(shù)據(jù)量( 見表1)。由于InfiniBand DDR/QDR 極大地改善了性能,所以它特別適合于傳輸大數(shù)據(jù)文件的應(yīng)用,如分布式數(shù)據(jù)庫和數(shù)據(jù)挖掘應(yīng)用。
與InfiniBandSDR 一樣,DDR 和QDR 也采用了直通轉(zhuǎn)發(fā)技術(shù)(Cut-Through)。如果采用不同的傳輸速率,則InfiniBand 子網(wǎng)管理器須是拓?fù)渫该?Topology-aware)的,并只把SDR 數(shù)據(jù)包轉(zhuǎn)發(fā)至SDR 連接(或把DDR 數(shù)據(jù)包轉(zhuǎn)發(fā)至DDR 連接),或者交換網(wǎng)絡(luò)須能存儲和轉(zhuǎn)發(fā)數(shù)據(jù)包以提供速率匹配。
當(dāng)在SDR 和DDR 連接之間進(jìn)行數(shù)據(jù)交換時,附加的存儲轉(zhuǎn)發(fā)延時是數(shù)據(jù)包串行化延時的一半。為了在SDR 主機(jī)和DDR 主機(jī)進(jìn)行數(shù)據(jù)交換,DDR主機(jī)根據(jù)連接建立時交換產(chǎn)生的QP 參數(shù)進(jìn)行限速傳輸。
5.InfiniBand 架構(gòu)層次結(jié)構(gòu)
根據(jù)IBTA 的定義,InfiniBand 架構(gòu)由物理層、鏈路層、網(wǎng)絡(luò)層和傳輸層組成,其層次結(jié)構(gòu)如圖3所示。
物理層:物理層為鏈路層提供服務(wù),并提供這兩層的邏輯接口。物理層由端口信號連接器、物理連接(電信號和光信號)、硬件管理、電源管理、編碼線等模塊組成,其主要的作用:
(1)建立物理連接;
(2)通知鏈路層物理連接是否有效;
(3)監(jiān)聽物理連接狀態(tài),在物理連接有效時,把控制信號和數(shù)據(jù)傳遞給鏈路層,傳輸從鏈路層來的控制和數(shù)據(jù)信息。
鏈路層:鏈路層負(fù)責(zé)處理數(shù)據(jù)包中鏈接數(shù)據(jù)的收發(fā),提供地址、緩沖、流控制、錯誤檢測和數(shù)據(jù)交換等服務(wù)。服務(wù)質(zhì)量(QoS)主要由該層體現(xiàn)。狀態(tài)機(jī)(state machine)用來把鏈路層的邏輯操作定義為外部可訪問操作,并不指定內(nèi)部操作。
例如,雖然我們希望鏈路層的操作能夠并行處理數(shù)據(jù)流的多個字節(jié),但數(shù)據(jù)包接收狀態(tài)機(jī)還是將從鏈路層接收到的數(shù)據(jù)作為字節(jié)流來處理。
網(wǎng)絡(luò)層:網(wǎng)絡(luò)層負(fù)責(zé)對IBA 子網(wǎng)間的數(shù)據(jù)包進(jìn)行路由,包括單點傳送(unicast)和多點傳送(multicast)操作。網(wǎng)絡(luò)層不指定多協(xié)議路由(如非IBA 類型之上的IBA 路由),也不指定IBA 子網(wǎng)間原始數(shù)據(jù)包是如何路由。
傳輸層:每個IBA數(shù)據(jù)包含有一個傳輸報頭(header)。傳輸報頭包含了端節(jié)點所需的信息以完成指定的操作。通過操控QP,傳輸層的IBA 通道適配器通信客戶端組成了“發(fā)送”工作隊列和“接收”工作隊列。
對于主機(jī)來說,傳輸層的客戶端是一個Verbs 軟件層,客戶端傳遞緩沖器或命令至這些隊列,硬件則往來傳送緩沖器數(shù)據(jù)。當(dāng)建立QP時,它融合了四種IBA 傳輸服務(wù)類型(可靠的連接、可靠的自帶尋址信息、不可靠的自帶尋址信息、不可靠的連接)中的一種或非IBA協(xié)議封裝服務(wù)。傳輸服務(wù)描述了可靠性和QP 傳送數(shù)據(jù)的工作原理和傳輸內(nèi)容。
6.InfiniBand 的交換機(jī)制
InfiniBand所采用的交換結(jié)構(gòu)(Switched Fabric)是一種面向系統(tǒng)故障容忍性和可擴(kuò)展性的基于交換的點到點互聯(lián)結(jié)構(gòu)。
交換機(jī)主要作用是把數(shù)據(jù)包送達(dá)數(shù)據(jù)包本地路由報頭指定的目標(biāo)地址,同時交換機(jī)也耗用數(shù)據(jù)包以滿足自管理的需要。IBA 交換機(jī)是內(nèi)部子網(wǎng)路由的基本路由構(gòu)件(子網(wǎng)間路由功能由IBA 路由器提供)。交換機(jī)的相互連接由鏈路間的中繼數(shù)據(jù)包(relaying packets)來完成。
InfiniBand交換機(jī)實現(xiàn)的功能有:子網(wǎng)管理代理(SMA)、性能管理代理(PMA)和基板管理代理(BMA)。SMA 提供一個讓子網(wǎng)管理者通過子網(wǎng)管理包獲得交換機(jī)內(nèi)部的記錄和表數(shù)據(jù)的接口,實現(xiàn)消息通知、服務(wù)等級(Service Level,SL)到虛路徑(Virtual Lane,VL)的映射、VL 仲裁、多播轉(zhuǎn)發(fā)、供應(yīng)商特性等功能。PMA 提供一個讓性能管理者監(jiān)控交換機(jī)的數(shù)據(jù)吞吐量和錯誤累計量等性能信息的接口。BMA 在基板管理者和底架管理者之間提供一個通信通道。
InfiniBand交換機(jī)的數(shù)據(jù)轉(zhuǎn)發(fā)主要功能:
(1)選擇輸出端口:根據(jù)數(shù)據(jù)包的本地目的標(biāo)識符(Destination Local Identifier,DLID),交換機(jī)從轉(zhuǎn)發(fā)表中查出輸出端口的端口號。
(2)選擇輸出VL:支持SL 和VL。交換機(jī)根據(jù)SL-VL 映射表確定不同優(yōu)先級別的數(shù)據(jù)包所使用輸出端口的VL。
(3)數(shù)據(jù)流控制:采用基于信用的鏈路級流控機(jī)制。
(4)支持單播、多播和廣播:交換機(jī)能把多播包或廣播包轉(zhuǎn)換為多個單播包進(jìn)行交換。
(5)分區(qū)劃分:只有同一分區(qū)的主機(jī)才能相互通信。每個分區(qū)具有唯一的分區(qū)密鑰,交換機(jī)檢查數(shù)據(jù)包的DLID 是否在密鑰所對應(yīng)的分區(qū)內(nèi)。
(6)錯誤校驗:包括不一致錯誤檢驗、編碼錯誤校驗、成幀錯誤校驗、包長度校驗、包頭版本校驗、服務(wù)級別有效性校驗、流控制遵從和最大傳輸單元校驗。
(7)VL 仲裁:支持子網(wǎng)VL(包括管理VL15 和數(shù)據(jù)VL)。交換機(jī)采用VL 仲裁保證優(yōu)先級高的數(shù)據(jù)包得到更好的服務(wù)。
目前生產(chǎn)InfiniBand交換機(jī)的廠商主要有Mallanox、QLogic、Cisco、IBM 等。
7.InfiniBand 與以太網(wǎng)
從InfiniBand的誕生、發(fā)展,到現(xiàn)在占據(jù)HPC 領(lǐng)域的主流地位,人們總會拿它與普遍采用的以太網(wǎng)技術(shù)做比較。作者整理兩者的比較如表2 所示。
從表2 可知,InfiniBand 在數(shù)據(jù)傳輸和低延遲兩方面大大超過了以太網(wǎng)。InfiniBand 的低延遲設(shè)計使得它極其適合高性能計算領(lǐng)域。此外,InfiniBand 在單位成本方面也具有相當(dāng)?shù)膬?yōu)勢。
從最新的全球HPCTOP500中可以發(fā)現(xiàn),Infiniband 的占有率不斷提高,其在TOP100 中更是占主導(dǎo)地位,而以太網(wǎng)的占有率則逐年下降,目前兩者在HPC 領(lǐng)域的占有率基本持平。
8.結(jié)束語 ? ?
隨著InfiniBand的不斷發(fā)展,它已成為取代千兆/ 萬兆以太網(wǎng)的最佳方案,必將成為高速互連網(wǎng)絡(luò)的首選,其與以太網(wǎng)絡(luò)、iSCSI 融合將更加緊密。IBTA 對InfiniBand的發(fā)展作出了預(yù)測,表明在未來三年里InfiniBand FDR、EDR 和HDR 將有快速增長的市場需求,2020 年之前InfiniBand 的帶寬將有望達(dá)到1000Gbps。InfiniBand 未來在GPU、固態(tài)硬盤和集群數(shù)據(jù)庫方面將有廣闊的應(yīng)用前景。
編輯:黃飛
?
評論
查看更多