當前位置:
首頁 > 科技 > 一文掌握InfiniBand技術和架構

一文掌握InfiniBand技術和架構

Infiniband開放標準技術簡化並加速了伺服器之間的連接,同時支持伺服器與遠程存儲和網路設備的連接。OpenFabrics Enterprise Distribution (OFED)是一組開源軟體驅動、核心內核代碼、中間件和支持InfiniBand Fabric的用戶級介面程序。

2005年由OpenFabrics Alliance (OFA)發布第一個版本。Mellanox OFED用於Linux,Windows (WinOF),包括各種診斷和性能工具,用於監視InfiniBand網路的運行情況,包括監視傳輸帶寬和監視Fabric內部的擁塞情況。

OpenFabrics Alliance (OFA)是一個基於開源的組織,它開發、測試、支持OpenFabrics企業發行版。該聯盟的任務是開發並推廣軟體,通過將高效消息、低延遲和最大帶寬技術架構直接應用到最小CPU開銷的應用程序中,從而實現最大應用效率。

該聯盟成立於2004年6月,最初是OpenIB聯盟,致力於開發獨立於供應商、基於Linux的InfiniBand軟體棧。2005,聯盟致力於支持Windows,此舉將使軟體棧真正跨平台。

2006年,該組織再次擴展其章程,包括對iWARP的支持,在2010年增加了對RoCE (RDMA over Converged)支持通過乙太網交付高性能RDMA和內核旁路解決方案。2014年,隨著OpenFabrics Interfaces工作組的建立,聯盟再次擴大,實現對其他高性能網路的支持

IB技術的發展

1999年開始起草規格及標準規範,2000年正式發表,但發展速度不及Rapid I/O、PCI-X、PCI-E和FC,加上Ethernet從1Gbps進展至10Gbps。所以直到2005年之後,InfiniBand Architecture(IBA)才在集群式超級計算機上廣泛應用。全球HPC高算系統TOP500大效能的超級計算機中有相當多套系統都使用上IBA。

除了InfiniBand Trade Association (IBTA)9個主要董事成員CRAY、Emulex、HP、IBM、intel、Mellanox、Microsoft、Oracle、Qlogic專門在應用和推廣InfiniBand外,其他廠商正在加入或者重返到它的陣營中來,包括Cisco、Sun、NEC、LSI等。InfiniBand已經成為目前主流的高性能計算機互連技術之一。為了滿足HPC、企業數據中心和雲計算環境中的高I/O吞吐需求,新一代高速率56Gbps的FDR (Fourteen Data Rate) 和100Gpb EDR InfiniBand技術已經廣泛應用。

IB技術的優勢

Infiniband大量用於FC/IP SAN、NAS和伺服器之間的連接,作為iSCSI RDMA的存儲協議iSER已被IETF標準化。目前EMC全系產品已經切換到Infiniband組網,IBM/TMS的FlashSystem系列,IBM的存儲系統XIV Gen3,DDN的SFA系列都採用Infiniband網路。

相比FC的優勢主要體現在性能是FC的3.5倍,Infiniband交換機的延遲是FC交換機的1/10,支持SAN和NAS。

存儲系統已不能滿足於傳統的FC SAN所提供的伺服器與裸存儲的網路連接架構。HP SFS和IBM GPFS 是在Infiniband fabric連接起來的伺服器和iSER Infiniband存儲構建的並行文件系統,完全突破系統的性能瓶頸。

Infiniband採用PCI串列高速帶寬鏈接,從SDR、DDR、QDR、FDR到EDR HCA連接,可以做到1微妙、甚至納米級別極低的時延,基於鏈路層的流控機制實現先進的擁塞控制。

InfiniBand採用虛通道(VL即Virtual Lanes)方式來實現QoS,虛通道是一些共享一條物理鏈接的相互分立的邏輯通信鏈路,每條物理鏈接可支持多達15條的標準虛通道和一條管理通道(VL15)。

RDMA技術實現內核旁路,可以提供遠程節點間RDMA讀寫訪問,完全卸載CPU工作負載,基於硬體傳出協議實現可靠傳輸和更高性能。

相比TCP/IP網路協議,IB使用基於信任的、流控制的機制來確保連接的完整性,數據包極少丟失,接受方在數據傳輸完畢之後,返回信號來標示緩存空間的可用性,所以IB協議消除了由於原數據包丟失而帶來的重發延遲,從而提升了效率和整體性能。

TCP/IP具有轉發損失的數據包的能力,但是由於要不斷地確認與重發,基於這些協議的通信也會因此變慢,極大地影響了性能。

IB基本概念

IB是以通道為基礎的雙向、串列式傳輸,在連接拓樸中是採用交換、切換式結構(Switched Fabric),在線路不夠長時可用IBA中繼器(Repeater)進行延伸。每一個IBA網路稱為子網(Subnet),每個子網內最高可有65,536個節點(Node),IBA Switch、IBARepeater僅適用於Subnet範疇,若要通跨多個IBASubnet就需要用到IBA路由器(Router)或IBA網關器(Gateway)。

每個節點(Node) 必須透過配接器(Adapter)與IBA Subnet連接,節點CPU、內存要透過HCA(Host Channel Adapter)連接到子網;節點硬碟、I/O則要透過TCA(TargetChannel Adapter)連接到子網,這樣的一個拓撲結構就構成了一個完整的IBA。

IB的傳輸方式和介質相當靈活,在設備機內可用印刷電路板的銅質線箔傳遞(Backplane背板),在機外可用銅質纜線或支持更遠光纖介質。若用銅箔、銅纜最遠可至17m,而光纖則可至10km,同時IBA也支持熱插拔,及具有自動偵測、自我調適的Active Cable活化智能性連接機制。

IB協議簡介

InfiniBand也是一種分層協議(類似TCP/IP協議),每層負責不同的功能,下層為上層服務,不同層次相互獨立。 IB採用IPv6的報頭格式。其數據包報頭包括本地路由標識符LRH,全局路由標示符GRH,基本傳輸標識符BTH等。

Mellanox OFED是一個單一的軟體堆棧,包括驅動、中間件、用戶介面,以及一系列的標準協議IPoIB、SDP、SRP、iSER、RDS、DAPL(Direct Access Programming Library),支持MPI、Lustre/NFS over RDMA等協議,並提供Verbs編程介面;Mellanox OFED由開源OpenFabrics組織維護。

當然,Mellanox OFED軟體堆棧是承載在InfiniBand硬體和協議之上的,軟體通協議和硬體進行有效的數據傳輸。

1、物理層

物理層定義了電氣特性和機械特性,包括光纖和銅媒介的電纜和插座、底板連接器、熱交換特性等。定義了背板、電纜、光纜三種物理埠。

並定義了用於形成幀的符號(包的開始和結束)、數據符號(DataSymbols)、和數據包直接的填充(Idles)。詳細說明了構建有效包的信令協議,如碼元編碼、成幀標誌排列、開始和結束定界符間的無效或非數據符號、非奇偶性錯誤、同步方法等。

2、 鏈路層

鏈路層描述了數據包的格式和數據包操作的協議,如流量控制和子網內數據包的路由。鏈路層有鏈路管理數據包和數據包兩種類型的數據包。

3、 網路層

網路層是子網間轉發數據包的協議,類似於IP網路中的網路層。實現子網間的數據路由,數據在子網內傳輸時不需網路層的參與。

數據包中包含全局路由頭GRH,用於子網間數據包路由轉發。全局路由頭部指明了使用IPv6地址格式的全局標識符(GID)的源埠和目的埠,路由器基於GRH進行數據包轉發。GRH採用IPv6報頭格式。GID由每個子網唯一的子網 標示符和埠GUID捆綁而成。

4、 傳輸層

傳輸層負責報文的分發、通道多路復用、基本傳輸服務和處理報文分段的發送、接收和重組。傳輸層的功能是將數據包傳送到各個指定的隊列(QP)中,並指示隊列如何處理該數據包。當消息的數據路徑負載大於路徑的最大傳輸單元(MTU)時,傳輸層負責將消息分割成多個數據包。

接收端的隊列負責將數據重組到指定的數據緩衝區中。除了原始數據報外,所有的數據包都包含BTH,BTH指定目的隊列並指明操作類型、數據包序列號和分區信息。

5、上層協議

InfiniBand為不同類型的用戶提供了不同的上層協議,並為某些管理功能定義了消息和協議。InfiniBand主要支持SDP、SRP、iSER、RDS、IPoIB和uDAPL等上層協議。

SDP(SocketsDirect Protocol)是InfiniBand Trade Association (IBTA)制定的基於infiniband的一種協議,它允許用戶已有的使用TCP/IP協議的程序運行在高速的infiniband之上。

SRP(SCSIRDMA Protocol)是InfiniBand中的一種通信協議,在InfiniBand中將SCSI命令進行打包,允許SCSI命令通過RDMA(遠程直接內存訪問)在不同的系統之間進行通信,實現存儲設備共享和RDMA通信服務。

iSER(iSCSIRDMA Protocol)類似於SRP(SCSI RDMA protocol)協議,是IB SAN的一種協議 ,其主要作用是把iSCSI協議的命令和數據通過RDMA的方式跑到例如Infiniband這種網路上,作為iSCSI RDMA的存儲協議iSER已被IETF所標準化。

RDS(Reliable Datagram Sockets)協議與UDP 類似,設計用於在Infiniband 上使用套接字來發送和接收數據。實際是由Oracle公司研發的運行在infiniband之上,直接基於IPC的協議。

IPoIB(IP-over-IB)是為了實現INFINIBAND網路與TCP/IP網路兼容而制定的協議,基於TCP/IP協議,對於用戶應用程序是透明的,並且可以提供更大的帶寬,也就是原先使用TCP/IP協議棧的應用不需要任何修改就能使用IPoIB。

uDAPL(UserDirect Access Programming Library)用戶直接訪問編程庫是標準的API,通過遠程直接內存訪問 RDMA功能的互連(如InfiniBand)來提高數據中心應用程序數據消息傳送性能、伸縮性和可靠性。

IB基本應用場景

Infiniband靈活支持直連及交換機多種組網方式,主要用於HPC高性能計算場景,大型數據中心高性能存儲等場景,HPC應用的共同訴求是低時延(

內容小結:一方面Infiniband在主機側採用RDMA技術釋放CPU負載,可以把主機內數據處理的時延從幾十微秒降低到1微秒;另一方面InfiniBand網路的高帶寬(40G、56G和100G)、低時延(幾百納秒)和無丟包特性吸取了FC網路的可靠性和乙太網的靈活擴展能力。

溫馨提示:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 架構師技術聯盟 的精彩文章:

架構之爭,MIPS走上開源道路!
數據的世界:確認過眼神也不一定找到對的人!

TAG:架構師技術聯盟 |