繁體中文

InfiniBand 網絡和架構概述

更新於 2024年02月19日 by
4.2k

隨着當前計算能力的飛速發展,對數據中心和高性能計算的需求持續激增。在此背景下,InfiniBand架構作為高性能網絡解決方案獲得了廣泛關注。本文深入探討了InfiniBand的概念與特性,剖析其在當前計算力發展趨勢下的必然增長和發展。我們將重點關注InfiniBand網絡的主要組成部分,並將其與傳統的TCP/IP進行對比,揭示其在高性能計算環境中的優勢。通過分析InfiniBand架構的不同層次,包括上層、傳輸層、網絡層以及物理層,我們將全面理解它在構建高效、低延遲數據傳輸網絡中的作用。

InfiniBand架構基礎

InfiniBand(IB)是一種用於處理器與I/O設備間數據流傳輸的通信鏈路,最多可支持64,000個可尋址設備。InfiniBand架構(IBA)是一項行業標準規範,它定義了一種點對點交換輸入/輸出框架,通常被用於互連服務器、通信基礎設施、存儲設備以及嵌入式系統。InfiniBand具有通用性、低延遲、高帶寬和低管理成本等特點,使其成為單一連接多數據流(如集群、通信、存儲、管理)的理想連接網絡,互聯節點可達數千個。

InfiniBand網絡採用點對點連接方式,每個節點通過專用通道直接與其他節點通信,從而減少了網絡擁塞並提升了整體性能。這種架構支持遠程直接內存訪問(RDMA)技術,使得數據能夠在不涉及主機CPU的情況下直接在內存之間傳輸,進一步增強了傳輸效率。

InfiniBand架構中的最小完整單元是一個子網,多個子網通過路由器相互連接以構建大型InfiniBand網絡。每個子網包含端節點、交換機、鏈路和子網管理器。InfiniBand網絡在數據中心、雲計算、高性能計算(HPC)、機器學習和高性能計算等領域均有應用。其核心目標在於最大化網絡利用率、CPU利用率以及應用程序性能。

通過InfiniBand進行數據傳輸 在傳統的互連架構中,操作系統是共享網絡資源的唯一管理者,這意味着應用程序無法直接訪問網絡。相反,應用程序必須依賴操作系統將數據從應用程序的虛擬緩衝區轉移到網絡堆棧和線路。

而InfiniBand則允許應用程序直接通過網絡進行數據交換,無需操作系統直接參与。這種以應用程序為中心的方法是InfiniBand網絡與傳統網絡之間的關鍵區別所在,也正是InfiniBand網絡優勢的核心所在。

InfiniBand架構與TCP/IP的對比

InfiniBand架構組織成五個層次,類似於傳統的TCP/IP模型。然而,兩者之間存在許多差異。

In the realm of distributed storage, IB is often utilized in the storage front-end network of DPC (Distributed Parallel Computing) scenarios. On the other hand, TCP/IP is commonly employed in business networks.

這是因為現有的TCP/IP軟件和硬件架構難以滿足高並發和低延遲應用的需求。傳統的TCP/IP網絡通信需要通過內核傳遞消息,這會帶來高昂的數據移動和複製成本。而包括RoCE(遠程直接內存訪問 over Converged Ethernet)和InfiniBand在內的RDMA技術解決了在網絡傳輸過程中服務器端數據處理的延遲問題。它允許通過網絡接口直接訪問內存數據,無需內核介入,從而實現高效能、低延遲的網絡通信。這種特性使得RDMA特別適用於大規模並行計算機集群環境。

InfiniBand架構由以下幾層組成:

上層:上層包括諸如SCSI(小型計算機系統接口)、IPoIB(InfiniBand上的IP)等協議和服務,支持不同的應用和服務。

傳輸層:傳輸層提供端到端的通信服務,涵蓋了可靠數據傳輸、流量控制以及錯誤處理等功能。它負責管理數據傳輸的順序性、完整性以及可靠性。

網絡層:網絡層負責端到端的通信和路由,確保數據包能從源節點正確傳輸至目標節點。它為InfiniBand子網中的節點定義了地址和路由規則。

物理層:物理層定義了InfiniBand連接的硬件規格,包括電纜、光纖、連接器以及接口等。

鏈路層(註:此處應為“鏈路層”而非“數據鏈路層”):鏈路層負責錯誤檢測與糾正,管理數據包的流動,並在物理層進行數據幀的封裝與解封裝。

上層

支持的部分上層協議包括:

S SCSI協議(小型計算機系統接口):一種用於計算機與外部設備間數據傳輸的標準接口協議,支持磁盤驅動器、打印機和其他外設等設備。

IPoIB協議(InfiniBand上的IP):一種允許通過InfiniBand網絡進行IP數據傳輸的協議,使得InfiniBand能夠支持TCP/IP協議棧。

SDP協議(套接字直接協議):一種在InfiniBand網絡上用於套接字通信的協議,提供高性能、低延遲的數據傳輸功能。

MPI(消息傳遞接口):一種用於並行計算中進程間通信的標準協議,在HPC應用中廣泛應用。

傳輸層

InfiniBand傳輸服務在傳輸層與TCP/IP不同。

InfiniBand採用了遠程直接內存訪問(RDMA)技術,允許數據繞過主機內存直接在網絡適配器之間傳輸。這種做法實現了低延遲和高吞吐量。

而TCP/IP則採用端到端的傳輸機制,在發送主機和接收主機之間建立連接以進行數據傳輸。這一機制可能會引入額外的傳輸延遲和系統開銷。

傳輸層硬件連接

在傳輸層中,會建立一個‘虛擬通道’來連接兩個應用程序,使它們能夠在完全獨立的地址空間內進行通信。在消息傳輸過程中,這種設計利用了直接硬件數據傳輸技術,從而有助於提高通信效率和性能。

消息通過硬件直接傳輸,無需主機處理器的介入。因此,當消息到達接收端時,可以直接將消息傳遞到接收應用程序的緩衝區中,無需額外處理步驟。

網絡層

InfiniBand網絡被劃分為多個子網,每個子網通常通過一個或多個InfiniBand交換機連接。子網是一個具有自己獨立的拓撲結構和配置的通信域。路由器和交換機用於在不同子網之間進行路由和包交換。路由器負責連接不同的子網,而交換機則負責在同一子網內處理包的交換工作。

鏈路層

本地標識符(LID)

子網中所有設備都具有一個由子網管理器分配的16位地址,即本地標識符(LID)。在子網內部發送的所有數據包都使用LID作為鏈路層轉發和交換數據包的目的地址。

在InfiniBand網絡中,每個交換機都維護着一個轉發表,該表記錄了其連接端口與相應目標本地ID(LID)之間的映射關係。這些轉發表由子網管理器動態計算並配置。

子網管理器負責監控網絡拓撲結構的變化,為每個交換機生成相應的轉發表,確保數據包能夠正確且迅速地傳輸到目標節點。

交換InfiniBand數據包

在InfiniBand網絡中,數據包通過網絡交換機進行傳輸和路由。利用交換機進行數據包交換能夠構建靈活且高性能的網絡拓撲結構,確保數據能夠快速、高效地從源節點傳輸到目標節點。

流量控制

InfiniBand的鏈路層採用了流量控制協議,用於調整發送方和接收方之間的傳輸速率,防止快速發送方壓倒較慢接收方的處理能力

Lossless Fabric

InfiniBand網絡被設計為無損網絡,其中發送節點會動態監測接收端緩衝區的使用情況,並僅在接收節點緩衝區有可用空間時才進行數據傳輸。這就是InfiniBand成為無損網絡的原因所在。即使在網絡出現擁塞的情況下,也不會發生數據包丟失的情況,這對於需要高可靠性和低延遲的應用至關重要。

物理層

物理層定義了電氣和機械特性,包括用於光纖和銅介質的電纜和連接器、背板連接器、熱插拔功能等,確保不同設備和製造商之間的互操作性。這種標準化有助於構建高性能計算和數據中心網絡,提供可靠且高帶寬的數據傳輸服務。下圖展示了NVIDIA InfiniBand DACNVIDIA InfiniBand AOC的例子。

總結

總的來說,由於其卓越的性能和低延遲特性,InfiniBand架構已成為高性能計算和數據中心網絡的首選方案。其獨特設計使其成為處理大規模數據傳輸和複雜計算任務的理想解決方案。隨着對計算能力需求的不斷增長以及數據中心規模的擴大,作為高性能互連技術的InfiniBand將在科學、工程及商業等領域繼續發揮關鍵作用。

相關文章推薦

技術博文
See profile for 飛速(FS).
飛速(FS)
InfiniBand網絡:探究其特性、組件與優勢
2024年01月16日
2.4k
技術博文
See profile for 飛速(FS).
飛速(FS)
您對InfiniBand網絡內計算了解多少?
2024年02月19日
972
技術博文
See profile for Jesse.
Jesse
光分路器光衰多少,如何計算和測量?
2022年01月25日
18.0k
技術博文
技術博文
See profile for Audrey.
Audrey
FTTH網絡應如何設計分層與分光比?
2022年01月25日
4.9k
技術博文
技術博文
技術博文
See profile for Audrey.
Audrey
揭秘光分路器類型及選擇
2022年01月24日
4.5k
技術博文
See profile for Audrey.
Audrey
一文教您認識光分路器
2022年01月24日
7.4k
技術博文
See profile for Jesse.
Jesse
家庭網絡怎麼布線?家用網線布線指南
2021年12月31日
2.8k