帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
InfiniBand之技術架構介紹
實現高速I/O的新標準

【作者: 景元】   2002年11月05日 星期二

瀏覽人次:【16017】

隨著通訊處理速度的不斷加快,10Gbps、100Gbps的時代即將來臨,傳統的輸出入(I/O)標準和系統,例如:PCI、乙太、光纖網路,已經無法跟上這個腳步﹔因此如何將舊有的設備或產品,升級為高速的通訊系統,正是系統業者目前普遍苦惱的問題。


InfiniBand標準的產生就是為了解決PCI等傳統I/O架構的通訊傳輸瓶頸。該標準採用點對點的交換架構,提高了容錯性能和擴展性,用硬體實現10Gbps的數據傳輸、採用虛擬通道(virtual channel)方式實現QoS,同時藉由循環冗餘檢測(Cyclical Redundancy Check;CRC)來保証信號的完整性。本文將深入探討InfiniBand標準以及該標準對通訊系統設計的影響。


傳輸瓶頸是核心問題

隨著通訊速率的持續增加,設計業者必須不停地去發現和解決系統架構的瓶頸,但是他們可能會忽略系統之外的一些問題。建構出數據速率達到10Gb的架構具有很大的挑戰性,但是真正的挑戰是這個架構不僅要能產生10Gb的數據流,而且在各系統或各單元之間的數據傳輸率也必須達到10Gb,這就是InfiniBand所關注的核心問題。


這個要求是不可能在目前的I/O架構中被實現的。因此,我們需要一種新的I/O方法,該方法用硬體實現高性能的可靠傳輸。而InfiniBand就是能滿足這種要求的技術。InfiniBand架構是為了解決當今系統間之通訊問題而設計的,該標準得到戴爾、惠普、IBM、英特爾、微軟和昇陽等傳統電腦公司的支援。由於該標準採用交換架構並支援10Gb傳輸速率,而且有Wintel集團、電腦龍頭廠商們的贊助,使得越來越多人開始注意到這個標準的未來發展。


InfiniBand的架構

在了解InfiniBand標準的優點之前,先介紹一下InfiniBand子網路的基本單元。為使InfiniBand能有效地工作,InfiniBand標準定義了一套用於系統通訊的多種設備,包括通道配接器(channel adapter)、交換器(switch)、路由器(router)和子網路管理器(subnet manager),如(圖一)。在一個子網路內必須至少有一個子網路管理器來對InfiniBand架構做初始化以及維護。


@中標:通道配接器:


用於InfiniBand架構和其他設備的連接。InfiniBand標準中有兩種類型的通道配接器,一種是主通道配接器(host channel adapter;HCA),另外一種是


目標通道配接器(target channel adapter;TCA)。


《圖一 InfiniBand的架構〈資料來源  Mellanox.com〉》
《圖一 InfiniBand的架構〈資料來源 Mellanox.com〉》

HCA提供了一個與Web server等的主CPU和記憶體子系統連接的介面,並支援InfiniBand架構所定義的「軟體動詞(software verb)」。這裏所說的軟體動詞是指用戶軟體和HCA之間的一種抽象介面。軟體動詞並不為作業系統指定應用程式介面(API),但它定義了一些作業,可供作業系統廠商用來開發適當的應用程式介面。而TCA提供InfiniBand到I/O設備的連接。這種I/O卡可能是一種網路介面卡(NIC),它包含了每種設備之特定作業所必需的子功能。


交換器:

交換器是InfiniBand架構中的基本單元。一個交換器中的InfiniBand埠不止一個,它能根據本地路由器封包頭中所含的第二層位址(本地ID/LID)將數據封包從其一個埠送到另外一個埠。交換器只是對數據封包進行管理,並不產生或使用數據封包。和通道配接器一樣,交換器也需要具備一個子網路管理者(subnet management agent;SMA)以回應子網路的管理數據封包。交換器可透過配置來轉寄點播(unicast)或組播(multicast)的數據封包。


路由器:

InfiniBand路由器,作用是將數據封包從一個子網路傳送到另一子網路,其間數據封包的數量不會變化。與交換器不同,路由器讀出第三層的廣域路由封包頭(global route header;GRH),並根據其IPv6網路層位址來進行數據封包發送。


子網路管理器:

子網路管理器對本地子網路進行配置並確保能連續運行。所有的通道配接器和交換器都必須有一個SMA,此SMA負責處理與子網路管理器之間的通訊。每個子網路至少必須有一個子網路管理器來進行初始化管理,以及在鏈路連接或斷路時,對子網路進行重新配置。


透過仲裁機制來選擇一個子網路管理器作為主子網路管理器,而其他子網路管理器工作於待機模式(每個在待機模式下的子網路管理器都會備份此子網路的拓樸資訊,並檢驗此子網路是否能夠運行)。若主子網路管理器發生故障,一個待機的子網路管理器會接管子網路的管理,以確保運行不會間斷。


《圖二 InfiniBand的交換器架構〈資料來源  Mellanox.com〉》
《圖二 InfiniBand的交換器架構〈資料來源 Mellanox.com〉》

InfiniBand架構的關鍵

InfiniBand架構的關鍵在於透過採用點對點的交換架構,解決共享匯流排(share bus)的瓶頸問題,這種交換架構專門適用於解決容錯性和可擴展性的問題,如(圖二)。共享匯流排架構中多個設備與匯流排之間是被動連接,而InfiniBand的點對點交換器採用了與共享匯流排架構不同的連接方式,它透過一個帶有主動元件的架構與各個設備連接。所有的連接都是點對點的連接,一個設備對應一個終端。因此,和傳統的PCI匯流排架構不同,InfiniBand架構中鏈路的建立和終止能得到很好的控制。所以,採用此架構後,通訊系統的性能可以最佳化,能在比較高的頻率下運行。


現在將做更進一步的探討。以往採用共享匯流排架構的系統一次只能讓一個主動裝置工作,並需要進行匯流排仲裁(arbitration),這降低了系統架構中數據傳輸的速率。而在InfiniBand架構中,可利用無阻塞(non-blocking)交換器將各端點連接起來,每個交換器可以同時有多條鏈路進行數據發送和接收。因此,多個端點可以同時進行相互通訊。此外,僅需添加一些交換器即可實現擴展。隨著交換器數目增加,系統的總頻寬也會相對增加。


多層架構

InfiniBand架構是一種多層架構,其中每一層的運行都是相互獨立的。InfiniBand的多層架構可區分為:實體層、鏈路層、網路層和傳輸層以及一些更高的其它層。


在實體層上,InfiniBand標準定義了三種鏈路速率,分別為:1X、4X和12X。此標準也定義了包括銅導線和光纖在內的實體介質。此外,它還定義了用於光纖和銅導線的標準連接器和電纜,以及用於機架系統(rack-mounted systems)的背板連接器(backplane connectors)。銅纜上的1X鏈路採用「四線微分信號(4-wire differential signalling)」,每個方向有兩條線,可提供2.5Gbps的全雙工連接。其他鏈路速率都建立於1X鏈路的基本架構上。如(圖三)。


《圖三 InfiniBand標準定義的三種鏈路速率〈資料來源  Mellanox.com〉》
《圖三 InfiniBand標準定義的三種鏈路速率〈資料來源 Mellanox.com〉》

一條InfiniBand 1X鏈路的理論頻寬是2.5Gbps。但實際數據速率為2Gbps(因為鏈路數據採用8位元或10位元編碼)。由於鏈路具有雙向性,所以全雙工數據速率為4Gbps。相對地,4X和12X鏈路的原始頻寬(raw bandwidth)為10Gbps和30Gbps。


鏈路層與實體層不同,它提供基本的子網路連接,並確保數據的完整性。子網路內的數據封包傳送是在鏈路層進行的。一個子網路內的所有設備都有一個由子網路管理器賦予的16位元區域識別碼(local ID;LID),而子網路內的所有數據封包都採用LID定址方式進行發送。鏈路級的交換是將數據封包轉發到由數據封包內「本地路由封包頭(LRH)」中的「目標LID」所指的設備上。因此,全部的數據封包都必須有本地路由封包頭。


數據封包是保証數據完整性的基本鏈路層單元。鏈路層數據封包有兩種類型,一是管理封包,另一個是數據封包。管理封包用於鏈路的配置和維護,數據封包則可承載一個高達4K位元組的交易量(transaction payload)。


網路層

InfiniBand子網路間的數據封包在網路層上進行路由(route)。為實現互連,InfiniBand架構中引進了一個「可選廣域路由封包頭(optional GRH)」,它採用128位元IPv6位址,使得InfiniBand架構可直接和傳統的IP網路連接。


傳輸層是網路層的一個補充。這一層負責將數據封包按順序發送、分割、通道再使用,並提供傳輸服務,例如:可靠連接、可靠數據電文(datagram)、不可靠連接、不可靠數據電文、原始數據電文(raw datagram)等。傳輸層也在發送時進行數據的分割,在接收時進行數據的重組。


根據通道所能傳送的最大傳送單元(maximum transfer unit;MTU)大小,傳輸層將數據分割成大小合適的封包。接收端再根據基本傳輸封包頭(base transport header;BTH)將數據封包重組起來,基本傳輸封包頭中包含「目的佇列配對(destination queue pair)」和數據封包序號(packet sequence number)。接收端發送一個數據封包接收應答(acknowledgement)給發送端,發送端接到應答後,根據傳收作業的結果修改完成佇列(completion queue)的作業狀態。


品質問題

在網路中採用任何新通訊協定或新標準都會使人們產生這樣一個疑問:此通訊協定是如何實現QoS?InfiniBand為支援QoS性能進行了專門的設計。支援InfiniBand的系統將採用虛擬通道(Virtual Lane)方式來實現QoS。虛擬通道是一些共享一條實體鏈接的相互獨立的邏輯通訊鏈路,每條實體鏈接可支援多達15條的標準虛擬通道和一條管理通道(VL 15)。


那麼虛擬通道是如何實現QoS的呢?當數據封包穿過子網路時,它會根據QoS等級來定義一個服務等級(service level;SL)。路徑上的每條鏈路可以提供不同的虛擬通道數,而服務等級會確定每條鏈路相對應的優先級。每個交換器/路由器都有一個服務級別與虛擬通道的映射表,這個映射表由子網路管理器設置,並根據每條鏈路所支援的虛擬通道數,來確保鏈路相對應的優先等級。


除QoS外,InfiniBand標準也確保了數據的完整性。InfiniBand的鏈路層對每個數據封包進行兩種循環冗餘檢測(CRC),即可變CRC(variant CRC;VCRC)和固定CRC(invariant CRC;ICRC)。這兩種檢測機制確保了數據的完整性。


16位元VCRC涵蓋了數據封包中的所有欄位,並在數據封包的每次轉發(hop)時都進行重新計算。32位元ICRC僅包括那些轉發時不產生變化的欄位。VCRC提供了兩次轉發間鏈路級的數據完整性,而ICRC提供了端點對端點的數據完整性。在某些通訊協定中,例如:乙太網路通訊協定,只定義一個CRC值,當採用這種通訊協定的設備產生錯誤時,由於會重新計算此CRC值,因此即使數據已經被破壞,下一次轉發檢測時會認為此CRC值依然有效,因此錯誤在轉發時不能被發現。而InfiniBand採用了ICRC方式,因此當有一個位元錯誤產生時,錯誤總是會被檢測出來的。



《圖四 兩個InfiniBand設備之間的通訊〈資料來源  Mellanox.com〉》
《圖四 兩個InfiniBand設備之間的通訊〈資料來源 Mellanox.com〉》

介面架構

目前許多通訊系統設計業者們都熱衷於虛擬介面架構(virtual interface architecture;VIA)。VIA是一種分佈式通訊技術,它獨立於硬體並且與當前的網路連接且相容。這種架構提供了一種應用程式介面,適合於許多應用,能以高速、低延遲的特性支援網路上工作站之間的通訊(peer-to-peer)。


當初設計InfiniBand標準時就考慮到採用VIA架構。它採用「植基於通道的執行佇列(channel-based execution queues)」從主機軟體用戶端去除了(off-load)數據流控制(traffic control)。這些佇列,稱作工作佇列(work queue)是由主機CPU創建(initiate)的,然後由InfiniBand硬體進行管理。


設備之間的每個通訊通道上都安排了一個工作佇列配對(work queue pair;WQP,包含發送和接收佇列)。主機將處理事務(transaction)放到工作佇列中(工作佇列項,work queue entry;WQE),然後此事務在發送佇列中由通道配接器進行處理,再發送到遠端設備。當遠端設備回應後,通道配接器透過完成佇列或事件(event)將處理狀態傳回給主機,如(圖四)。


主機可以放置多個工作佇列項,而通道配接器硬體會對這其中的每個通訊請求進行處理。通道配接器會根據適當的優先次序對每個工作佇列項進行處理,然後產生一個完成佇列項(complete queue entry;CQE)來顯示完成狀態。VIA將主機CPU和通道配接器分隔開來,使得主機在事務得到處理的同時能夠繼續進行其他工作。


結語

毫無疑問的,當今網路通訊的傳輸速率會繼續成長。但為滿足這種速率的要求,設計業者對系統內外都必須加以認真考慮,才能實現通訊網路中數據速率的真正增加。


InfiniBand受到業界廣泛的支援,逐漸成為網路中高速信號傳輸的重要新技術。現在的關鍵是要建立起支援這些架構的系統。目前已經有InfiniBand的半導體解決方案,半導體方案的應用、系統級參考設計(reference design)以及軟體的完善意味著開發InfiniBand裝置的所有基本元件都已準備好了,這使得該標準的大規模應用和商品化即將成為可能。


相關文章
在5G世界中透過光纖網路進行高精確的授時
從設計到製造 模組化儀器高彈性優勢完全發揮
vPCI在嵌入式系統的應用
新一代PCI背板電源管理需求
PCI Express架構探微
comments powered by Disqus
相關討論
  相關新聞
» 工研院通訊大賽獲獎名單出爐 AI創新應用助2025年通訊業產值破兆
» 工研院IEK眺望2025通訊業 網通安全產值破兆
» 遠傳電信營運每年減碳5萬噸 獲施耐德電機永續發展影響力獎肯定
» 工研院MWC 2024展會直擊:5G-A通訊、全能助理成下一波AI風潮
» 經部「2023玩學5G新視界」 領台灣網通產業躍上國際舞台


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.142.212.119
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw