當前位置: 華文世界 > 科技

一種高效能計算和數據中心網路架構:InfiniBand(IB)

2024-02-08科技

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網路支持多種拓撲結構,使其適用於各種套用場景。

  • 匯流排拓撲(Bus Topology): 裝置連線到單一的匯流排上,適用於小規模集群。
  • 環形拓撲(Ring Topology): 裝置按環形連線,形成封閉的通訊環境。
  • 樹狀拓撲(Tree Topology): 裝置以分層的樹狀結構連線,提供更好的可延伸性。
  • 網狀拓撲(Mesh Topology): 裝置以網狀連線,適用於大規模、高效能計算環境。
  • InfiniBand的靈活拓撲結構使其適用於不同規模和效能需求的套用。

    透過 InfiniBand 傳輸數據

    在傳統的互連結構中,作業系統通常是共享網路資源的唯一所有者,這導致應用程式無法直接存取網路。相反,數據傳輸通常需要依賴作業系統將數據從應用程式的虛擬緩沖區傳輸到網路堆疊和路線。然而,InfiniBand技術的引入改變了這一傳統的網路互動模式。

    在傳統網路結構中,應用程式需要透過作業系統來實作數據的傳輸。

    這個過程包括:

  • 應用程式緩沖區: 數據通常儲存在應用程式的緩沖區中,等待被傳輸。
  • 作業系統介入: 應用程式透過系統呼叫等方式請求作業系統將數據傳輸到網路堆疊中。
  • 網路堆疊傳輸: 作業系統將數據從應用程式緩沖區傳輸到網路堆疊,其中包括協定棧的處理,例如TCP/IP協定。
  • 網路路線傳輸: 最終,數據透過網路路線傳輸到目標節點。
  • 這種結構下,應用程式無法直接控制網路的數據傳輸,而是依賴於作業系統進行中介。

    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模型。這五層分別是:

    1. 實體層: 處理硬體介面、電氣和光學傳輸等底層細節。
    2. 數據鏈路層: 負責數據的封裝和解封裝,錯誤檢測和糾正。
    3. 網路層: 處理數據的路由和轉發,確保數據在不同裝置之間的正確傳遞。
    4. 傳輸層: 負責端到端的可靠數據傳輸,包括流控制和錯誤恢復。
    5. 套用層: 提供網路服務給應用程式,如傳輸控制協定(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網路的點對點直連結構以及支持RDMA技術,使其具有低延遲的特點,適用於對通訊延遲要求較高的套用。
  • 高吞吐量: 高傳輸速率和並列性質使InfiniBand能夠支持大規模數據集的高吞吐量傳輸,對於需要大量數據處理的套用非常重要,例如科學計算、模擬和人工智慧等領域。
  • 可延伸性: 不同拓撲結構的支持以及InfiniBand架構的設計使其在大規模計算集群中具有出色的可延伸性。
  • InfiniBand網路在多個領域得到廣泛套用,其中一些典型的套用場景包括:

  • 超級計算: InfiniBand在超級計算環境中廣泛套用,支持大規模平行計算任務,提供出色的效能和可延伸性。
  • 數據中心: 用於連線伺服器、儲存系統和其他網路裝置,滿足數據中心對高效能和低延遲的需求。
  • 人工智慧: 在深度學習和機器學習等人工智慧領域,InfiniBand網路能夠支持大規模數據集的快速傳輸和分布式計算。
  • 與乙太網路等其他網路技術相比,InfiniBand在某些方面具有獨特的優勢。然而,不同的套用場景可能需要根據具體需求選擇合適的網路技術。以下是一些比較方面:

  • 延遲與頻寬: 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作為一種高效能互連技術,將繼續在科學、工程和商業領域發揮至關重要的作用。其未來的發展將持續推動科技創新和高效能計算的進步。