InfiniBand(IB)是一種高效能計算和數據中心網絡架構,其設計目標是透過提供低延遲、高頻寬以及可延伸性來滿足大規模計算和數據傳輸的需求。讓我們深入了解InfiniBand的基本概念。
InfiniBand網絡采用點對點的直連架構。每個器材,如伺服器、儲存器材或其他計算資源,都透過InfiniBand介面卡直接連線到網絡,形成一個點對點的通訊結構。這種設計有助於降低通訊的延遲,提高整體效能。
InfiniBand網絡的實體層和數據鏈路層規定了數據在傳輸過程中的基本原則。實體層負責傳輸位元流,而數據鏈路層則處理流控、錯誤檢測和糾錯等任務。這兩個層次的協同工作確保了數據在InfiniBand網絡中的可靠傳輸。
InfiniBand網絡支持不同的傳輸速率,通常以Gbps(千兆位元每秒)為單位。例如,InfiniBand架構最初支持的是單數據率(SDR)為20 Gbps、雙數據率(DDR)為40 Gbps,以及四數據率(QDR)為80 Gbps。隨著技術的進步,還出現了更高速率的版本,如四teen數據率(FDR)為56 Gbps和電訊號強化(EDR)為100 Gbps。
網絡拓撲
InfiniBand網絡支持多種拓撲結構,使其適用於各種套用場景。
InfiniBand的靈活拓撲結構使其適用於不同規模和效能需求的套用。
透過 InfiniBand 傳輸數據
在傳統的互連結構中,作業系統通常是共享網絡資源的唯一所有者,這導致應用程式無法直接存取網絡。相反,數據傳輸通常需要依賴作業系統將數據從應用程式的虛擬緩沖區傳輸到網絡堆疊和路線。然而,InfiniBand技術的引入改變了這一傳統的網絡互動模式。
在傳統網絡結構中,應用程式需要透過作業系統來實作數據的傳輸。
這個過程包括:
這種結構下,應用程式無法直接控制網絡的數據傳輸,而是依賴於作業系統進行中介。
InfiniBand技術的突出特點之一是以套用為中心的網絡互動方式。這種方式下,應用程式能夠直接透過網絡進行數據的交換,而無需直接涉及作業系統。以下是InfiniBand實作套用為中心方式的關鍵機制:
遠端直接記憶體存取(RDMA)
InfiniBand網絡支持遠端直接記憶體存取(RDMA)技術。透過RDMA,應用程式可以在不涉及作業系統的情況下直接存取和交換記憶體中的數據。這種直接的記憶體存取方式消除了傳統網絡結構中的中介步驟,大大降低了數據傳輸的延遲。
使用者空間網絡堆疊
InfiniBand網絡允許在使用者空間中實作網絡堆疊,使得應用程式能夠直接處理網絡協定。這樣一來,應用程式不再需要透過作業系統的內核空間進行數據傳輸,而是可以直接在使用者空間中完成網絡操作,提高了效率和靈活性。
零拷貝技術
InfiniBand還支持零拷貝技術,透過這一技術,應用程式可以直接在記憶體中操縱數據,而無需將數據復制到中間緩沖區。這降低了數據傳輸的開銷,提高了效率。
透過InfiniBand實作套用為中心的網絡互動方式,帶來了一系列優勢,並與傳統網絡結構形成了關鍵區別:
1、低延遲
由於應用程式能夠直接進行數據交換,而無需經過多層的作業系統介入,因此InfiniBand網絡實作了更低的傳輸延遲。這對於對延遲要求較高的套用場景非常重要。
2、高頻寬
InfiniBand的套用為中心方式能夠更有效地利用網絡資源,提高了整體的頻寬利用率。這使得InfiniBand網絡在大規模數據傳輸和高效能計算等方面表現出色。
3、高效能
透過支持RDMA、使用者空間網絡堆疊和零拷貝技術,InfiniBand實作了更為高效的數據傳輸方式。這種高效能直接影響到應用程式的效能和響應速度。
4、靈活性
套用為中心的方式使得應用程式更靈活地控制數據傳輸和網絡操作,無需過多依賴於作業系統的限制。這為應用程式提供了更大的自主性和客製性。
InfiniBand 架構與 TCP/IP
InfiniBand架構與傳統的TCP/IP模型在網絡通訊中有著顯著的差異,尤其在分布式儲存和高效能計算領域的套用上。
InfiniBand 架構
InfiniBand架構分為五層,類似於傳統的TCP/IP模型。這五層分別是:
- 實體層: 處理硬件介面、電氣和光學傳輸等底層細節。
- 數據鏈路層: 負責數據的封裝和解封裝,錯誤檢測和糾正。
- 網絡層: 處理數據的路由和轉發,確保數據在不同器材之間的正確傳遞。
- 傳輸層: 負責端到端的可靠數據傳輸,包括流控制和錯誤恢復。
- 套用層: 提供網絡服務給應用程式,如傳輸控制協定(TCP)、使用者數據報協定(UDP)等。
InfiniBand在分布式儲存領域,尤其是在分布式平行計算(DPC)場景的儲存前端網絡中得到廣泛套用。其強調高效能、低延遲,適用於大規模平行計算機集群和需要高吞吐量的套用場景。
TCP/IP則更為普遍地套用於商業網絡和一般互聯網通訊。它是目前互聯網通訊的主流協定,用於支持各種套用,包括網頁瀏覽、電子郵件、檔傳輸等。
InfiniBand架構透過引入遠端直接記憶體存取(RDMA)技術等創新,解決了網絡傳輸過程中伺服器端數據處理的延遲問題。RDMA技術允許透過網絡介面直接存取記憶體數據,無需內核幹預,從而實作高吞吐量和低延遲的網絡通訊。
傳統的TCP/IP網絡通訊通常涉及透過內核進行訊息傳輸,導致數據移動和復制成本較高。這在高並行、低延遲套用場景下表現出一定的局限性。
InfiniBand的RDMA技術和套用為中心的設計使其特別適合大規模平行計算機集群,提供高效能、低延遲的數據傳輸。然而,它在普通商業網絡中的套用相對有限。
TCP/IP是互聯網通訊的事實標準,適用於各種套用場景。然而,其在高效能計算和大規模平行計算方面的效能限制,使得在這些領域需要更高效能的解決方案。
支持的上層協定
InfiniBand架構支持多種上層協定,這些協定在不同的套用場景中發揮著關鍵作用。
1. SCSI 協定(小型電腦系統介面)
SCSI是一種用於電腦和外部器材之間數據傳輸的標準介面協定。它支持各種外圍器材,包括磁碟機、印表機和其他儲存和輸入輸出器材。在InfiniBand架構中,SCSI協定的支持使得InfiniBand能夠與各種外圍器材進行高效的數據傳輸,為儲存和I/O操作提供了通用的標準介面。
2. IPoIB 協定(IP over InfiniBand)
IPoIB協定允許透過InfiniBand網絡進行IP數據傳輸。它是InfiniBand與TCP/IP協定棧相整合的關鍵協定,使得InfiniBand在互聯網和商業網絡中能夠無縫地與現有的IP網絡進行通訊。IPoIB協定的支持擴充套件了InfiniBand的套用領域,使其能夠在更廣泛的網絡環境中發揮作用。
3. SDP 協定(套接字直接協定)
SDP(Socket Direct Protocol)協定是為透過InfiniBand網絡進行套接字通訊而設計的協定。它提供高效能、低延遲的數據傳輸,為需要快速而可靠通訊的應用程式提供了支持。SDP協定的引入使得InfiniBand成為一種適用於更廣泛套用領域的通訊協定,尤其在需要低延遲的場景中表現優異。
4. MPI(訊息傳遞介面)
MPI(Message Passing Interface)是一種在平行計算中進行行程間通訊的標準協定。它常用於高效能計算(HPC)應用程式,其中多個處理單元需要協同工作。透過支持MPI協定,InfiniBand架構為HPC套用提供了高效、可靠的訊息傳遞機制,促進了大規模平行計算的發展。
這些上層協定的支持使得InfiniBand不僅在高效能計算環境中表現出色,同時也適用於大規模儲存、網絡通訊以及其他需要高效能和低延遲的套用場景。這豐富的協定支持為InfiniBand架構賦予了靈活性和廣泛的適用性。
遠端直接記憶體存取(RDMA)
InfiniBand網絡最引人註目的特性之一是遠端直接記憶體存取(RDMA)。RDMA允許數據在不涉及主機CPU的情況下直接在記憶體中傳輸,從而降低了通訊的延遲和CPU的負擔。這對於高效能計算和數據中心套用非常重要,特別是在需要大規模數據傳輸的場景下。
舉例來說,當一台伺服器需要從另一台伺服器的記憶體中讀取或寫入數據時,使用RDMA可以避免涉及中間步驟,直接在兩台伺服器之間進行數據傳輸,提高了數據傳輸的效率和速度。
InfiniBand網絡在效能方面表現出色,這使其成為高效能計算領域的首選網絡架構之一。以下是一些導致其效能優勢的關鍵因素:
InfiniBand網絡在多個領域得到廣泛套用,其中一些典型的套用場景包括:
與乙太網路等其他網絡技術相比,InfiniBand在某些方面具有獨特的優勢。然而,不同的套用場景可能需要根據具體需求選擇合適的網絡技術。以下是一些比較方面:
硬件中的傳輸層連線
在InfiniBand架構中,傳輸層的設計采用了一種特殊的方式,透過建立虛擬通道來連線兩個應用程式,從而實作它們在完全獨立的地址空間中進行通訊。這種設計優勢在於利用直接硬件數據傳輸,從而提高通訊效率和效能。
InfiniBand引入了虛擬通道的概念,這是在傳輸層中用於連線兩個應用程式的通道。透過建立虛擬通道,不同的數據流可以在網絡中獨立傳輸,而無需相互競爭網絡頻寬。每個虛擬通道都有自己的特定內容和服務質素,使得通訊能夠更加靈活和高效。
InfiniBand架構中的傳輸層設計中,訊息直接透過硬件進行傳輸,無需主機處理器的幹預。這一特性被實作透過引入遠端直接記憶體存取(RDMA)技術,允許數據在網絡介面卡之間直接傳遞,繞過主機記憶體。這種直接硬件數據傳輸的方式帶來了多重優勢:
1、提高通訊效率
透過直接硬件傳輸,訊息在網絡中的傳輸路徑更為直接,減少了數據傳輸的中間步驟。這有助於提高通訊效率,降低了傳輸的延遲。
2、提升效能
無需主機處理器的幹預意味著數據可以更快速地在網絡介面卡之間傳遞。這對於高效能計算和大規模平行計算等對效能要求較高的套用場景非常重要。
3、降低系統開銷
直接硬件數據傳輸減少了在數據傳輸過程中涉及主機處理器的操作,從而降低了系統的開銷。這對於提升系統整體的效能和資源利用率具有積極影響。
在訊息傳輸過程中,硬件中的傳輸層透過虛擬通道實作兩個應用程式的連線。訊息直接透過硬件傳輸,無需主機處理器的幹預。一旦訊息到達接收端,它將直接傳遞到接收應用程式的緩沖區,無需經過額外的處理步驟。這種設計有效地減少了傳輸的復雜性和時間成本,有助於實作高效、低延遲的通訊。
InfiniBand網絡的進階特性
網絡安全性與管理
隨著網絡攻擊的不斷演進,網絡安全性成為網絡設計的重要考慮因素之一。InfiniBand網絡透過加密和身份驗證等手段提高了數據傳輸的安全性。同時,網絡管理工具的不斷改進也使得對InfiniBand網絡進行更加精細的監控和管理成為可能。
網絡虛擬化
網絡虛擬化是一種在物理網絡基礎上建立多個虛擬網絡的技術。InfiniBand在這方面取得了一些進展,支持將物理網絡資源劃分為多個邏輯網絡,從而提高網絡資源的利用率和靈活性。這對於雲端運算和多租戶環境中的資源管理非常重要。
HDR InfiniBand
HDR(200 Gbps)是InfiniBand架構中的一代新產品,為網絡提供了更高的傳輸速率。HDR InfiniBand在支持大規模數據中心和高效能計算方面具有顯著的優勢,推動了InfiniBand網絡在超級計算和數據密集型套用中的地位。
開源專案與標準化
InfiniBand技術在一定程度上受到開源社區的關註,有一些開源專案致力於推動InfiniBand技術的進一步發展。此外,InfiniBand Trade Association(IBTA)等組織也在不斷推動InfiniBand技術的標準化,以確保其在不同器材和廠商之間的互操作性。
隨著計算和數據需求的不斷增長,InfiniBand網絡將繼續在高效能計算、大規模數據處理以及人工智能等領域發揮關鍵作用。未來的發展趨勢可能包括更高速率的InfiniBand版本、更加智能的網絡管理和最佳化,以及與其他新興技術的融合,如光網絡和量子計算。
總結
InfiniBand架構以其卓越的效能和低延遲的特性成為高效能計算和數據中心網絡的首選解決方案。透過深入探討InfiniBand的各個層次,包括實體層、鏈路層、網絡層、傳輸層和上層協定,我們了解了其獨特的設計和優勢。
在實體層,InfiniBand采用多種傳輸介質和硬件規格,包括電纜、光纖和連結器,以支持高頻寬、低延遲的數據傳輸。在鏈路層,本地識別元(LID)和轉發表的使用為封包的定位和傳輸提供了關鍵支持。網絡層的子網路劃分和子網路管理器的角色確保了網絡的靈活性和高效性。傳輸層引入了遠端直接記憶體存取(RDMA)技術,透過硬件級別的數據傳輸實作了低延遲和高吞吐量。
InfiniBand的套用廣泛涵蓋了高效能計算、大規模平行計算、雲端運算、機器學習和人工智能等領域。其在數據中心網絡中的卓越表現,使其成為處理大規模數據傳輸和復雜計算任務的理想選擇。隨著對計算能力和數據中心規模的不斷增長,InfiniBand作為一種高效能互連技術,將繼續在科學、工程和商業領域發揮至關重要的作用。其未來的發展將持續推動科技創新和高效能計算的進步。