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。

相关文章
相关标签/搜索