InfiniBand

InfiniBand簡介

    InfiniBand架構是一種支持多併發連接的「轉換線纜」技術,在這種技術中,每種連接均可以達到2.5 Gbps的運行速度。這種架構在一個連接的時候速度是500 MB/秒,四個連接的時候速度是2 GB/秒,12個連接的時候速度能夠達到6 GB /秒。IBTA成立於1999年8月31日,由Compaq、惠普、IBM、戴爾、英特爾、微軟和Sun七家公司牽頭,共同研究發展的高速先進的I/O標準。最初的命名爲System I/O,1999年10月,正式更名爲InfiniBand。InfiniBand是一種長纜線的鏈接方式,具備高速、低延遲的傳輸特性。 服務器

    InfiniBand用於服務器系統內部並無發展起來,緣由在於英特爾和微軟在2002年就退出了IBTA。在此以前,英特爾早已另行倡議Arapahoe,亦稱爲3GIO(3rd Generation I/O,第三代I/O),即今日鼎鼎大名的PCI Express(PCI-E),InfiniBand、3GIO通過一年的並行,英特爾終究仍是選擇了PCI-E。所以,如今應用InfiniBand,主要是用於在服務器集羣,系統之間的互聯。  網絡

    隨着CPU性能的飛速發展,I/O系統的性能成爲制約服務器性能的瓶頸。因而人們開始從新審視使用了十幾年的PCI總線架構。雖然PCI總線結構把數據的傳輸從8位/16位一舉提高到32位,甚至當前的64位,可是它的一些先天劣勢限制了其繼續發展的勢頭。PCI總線有以下缺陷: 架構

(1)因爲採用了基於總線的共享傳輸模式,在PCI總線上不可能同時傳送兩組以上的數據,當一個PCI設備佔用總線時,其餘設備只能等待; 併發

(2)隨着總線頻率從33MHz提升到66MHz,甚至133MHz(PCI-X),信號線之間的相互干擾變得愈來愈嚴重,在一塊主板上佈設多條總線的難度也就愈來愈大; 性能

(3)因爲PCI設備採用了內存映射I/O地址的方式創建與內存的聯繫,熱添加PCI設備變成了一件很是困難的工做。目前的作法是在內存中爲每個PCI設備劃出一塊50M到100M的區域,這段空間用戶是不能使用的,所以若是一塊主板上支持的熱插拔PCI接口越多,用戶損失的內存就越多; spa

(4)PCI的總線上雖然有buffer做爲數據的緩衝區,可是它不具有糾錯的功能,若是在傳輸的過程當中發生了數據丟失或損壞的狀況,控制器只能觸發一個NMI中斷通知操做系統在PCI總線上發生了錯誤。 操作系統

    InfiniBand 採 用雙隊列程序提取技術,使應用程序直接將數據從適配器 送入到應用內存(稱爲遠程直接存儲器存取或RDMA), 反之依然。在TCP/IP協議中,來自網卡的數據先拷貝到 核心內存,而後再拷貝到應用存儲空間,或從應用空間 將數據拷貝到核心內存,再經由網卡發送到Internet。這 種I/O操做方式,始終須要通過核心內存的轉換,它不 僅增長了數據流傳輸路徑的長度,並且大大下降了I/O 的訪問速度,增長了CPU的負擔。而SDP則是未來自網 卡的數據直接拷貝到用戶的應用空間,從而避免了核心內存參入。這種方式就稱爲零拷貝,它能夠在進行大量 數據處理時,達到該協議所能達到的最大的吞吐量 代理

InfiniBand Stack

 

Structure

每一個端口具備一個GUID(Globally Unique Identifier),GUID是全局惟一的,相似於以太網MAC地址。運行過程當中,子網管理代理(SMA)會給端口分配一個本地標識(LID),LID僅在子網內部有用。 接口


QP

QP是infiniband的一個重要概念,它是指發送隊列和接收隊列的組合,用戶調用API發送接收數據的時候,其實是將數據放入QP當中,而後以輪詢的方式將QP中的請求一條條的處理,其模式相似於生產者-消費者模式。 隊列


InfiniBand網絡拓撲

Infiniband的網絡拓撲結構如圖,其組成單元主要分爲四類:
(1)HCA(Host Channel Adapter),它是鏈接內存控制器和TCA的橋樑;
(2)TCA(Target Channel Adapter),它將I/O設備(例如網卡、SCSI控制器)的數字信號打包發送給HCA;
(3)Infiniband link,它是鏈接HCA和TCA的光纖,InfiniBand架構容許硬件廠家以1條、4條、12條光纖3種方式連結TCA和HCA;
(4)交換機和路由器;

 

HCA和TCA的主要區別

屬 性
HCA
TCA
多端口支持 支持 支持
用LRH發
送/接收數據包
全部的QP均要求  
用GRH發送/接收數據包 除QP0外,全部的QP均要求  
支持的傳輸業務 支持任何QP上的
不可靠傳送數據包、可靠的和不可靠的鏈接傳輸業務
不可靠傳送的數據包
原子操做 支持 支持
其它操做 支持傳輸業務定義的所有操做 不支持所有,但可定製支持
通道MTU

支持
256字節
25六、512字節

25六、5十二、1024字節

25六、5十二、102四、2048字節

25六、5十二、102四、204八、4096字節

 
組播 生成和接收組播,可選  
請求事件 必需,生成和接收 可選
內存保護 必需,按Verbs層規範處理 可選
環回 支持 可選

 

 

IPoIB協議

    Internet Protocol over InfiniBand 簡稱IPoIB 。傳統的TCP/IP棧的影響實在太大了,幾乎全部的網絡應用都是基於此開發的,IPoIB實際是infiniband爲了兼容以太網不得不作的一種折中,畢竟誰也不肯意使用不兼容大規模已有設備的產品。IPoIB基於TCP/IP協議,對於用戶應用程序是透明的,而且能夠提供更大的帶寬, 也就是原先使用TCP/IP協議棧的應用不須要任何修改就能使用IPoIB。

相關文章
相關標籤/搜索