InfiniBand技术简介
InfiniBand技术简介
转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese
介绍
随着CPU和通讯处理速度的不断加快,10Gbps、100Gbps的逐步普及,传统的I/O标准和系统,例如PCI、Ethernet、Fibre Channel可能已经无法跟上脚步。因此如何将旧有的设备或产品升级为高速的通讯系统,正是IT从业者目前普遍苦恼的问题。
InfiniBand标准(简称IB)的出现就是为了解决PCI等传统I/O架构的通讯传输瓶颈。该标准采用点对点架构,提高容错性和扩展性,在硬件上实现10Gbps的数据传输(每个独立的链路基于四针的2.5Gbps双向连接),采用虚拟通道(Virtual Lane)实现QoS,同时借由CRC技术来保证信号的完整性。本文将介绍InfiniBand这一技术标准,以及它的主要组成部分。
更多信息
InfiniBand架构:
InfiniBand采用双队列程序提取技术,使应用程序直接将数据从适配器送入到应用内存(称为远程直接存储器存取或RDMA), 反之依然。在TCP/IP协议中,来自网卡的数据先拷贝到核心内存,然后再拷贝到应用存储空间,或从应用空间将数据拷贝到核心内存,再经由网卡发送到Internet。这 种I/O操作方式,始终需要经过核心内存的转换,它不仅增加了数据流传输路径的长度,而且大大降低了I/O的访问速度,增加了CPU的负担。而SDP则是将来自网卡的数据直接拷贝到用户的应用空间,从而避免了核心内存参与。这种方式就称为零拷贝,它可以在进行大量数据处理时,达到该协议所能达到的最大的吞吐量。
InfiniBand的协议采用分层结构,各个层次之间相互独立,下层为上层提供服务。其中物理层定义了在线路上如何将比特信号组成符号,然后再组成帧、数据符号以及包之间的数据填充等,详细说明了构建有效包的信令协议等;链路层定义了数据包的格式以及数据包操作的协议,如流控、 路由选择、编码、解码等;网络层通过在数据包上添加一个40字节的全局的路由报头(Global Route Header, GRH)来进行路由的选择,对数据进行转发。在转发的过程中,路由器仅仅进行可变的CRC校验,这样就保证了端到端的数据传输的完整性;传输层再将数据包传送到某个指定的队列偶(Queue Pair, QP)中,并指示QP如何处理该数据包以及当信息的数据净核部分大于通道的最大传输单元MTU时,对数据进行分段和重组。
InfiniBand基本组件:
InfiniBand的网络拓扑结构如上所示,其组成单元主要分为四类:
· HCA(Host Channel Adapter),它是连接内存控制器和TCA的桥梁
· TCA(Target Channel Adapter),它将I/O设备(例如网卡、SCSI控制器)的数字信号打包发送给HCA
· InfiniBand link,它是连接HCA和TCA的光纤,InfiniBand架构允许硬件厂家以1条、4条、12条光纤3种方式连结TCA和HCA
· 交换机和路由器
无论是HCA还是TCA,其实质都是一个主机适配器,它是一个具备一定保护功能的可编程DMA(Direct Memory Access,直接内存存取 )引擎。
InfiniBand应用:
在高并发和高性能计算应用场景中,当客户对带宽和时延都有较高的要求时,可以采用IB组网:前端和后端网络均采用IB组网,或前端网络采用10Gb以太网,后端网络采用IB。由于IB具有高带宽、低延时、高可靠以及满足集群无限扩展能力的特点,并采用RDMA技术和专用协议卸载引擎,所以能为存储客户提供足够的带宽和更低的响应时延。
IB目前可以实现以及未来规划的更高带宽工作模式有(以4X模式为例):
· SRD (Single Data Rate):单倍数据率,即8Gb/s
· DDR (Double Data Rate):双倍数据率,即16Gb/s
· QDR (Quad Data Rate):四倍数据率,即32Gb/s
· FDR (Fourteen Data Rate):十四倍数据率,56Gb/s
· EDR (Enhanced Data Rate):100 Gb/s
· HDR (High Data Rate):200 Gb/s
· NDR (Next Data Rate):1000 Gb/s+
参考
Mellanox技术白皮书《Introduction to InfiniBand》
应用于
InfiniBand
InfiniBand技术简介的更多相关文章
- [转帖]InfiniBand技术和协议架构分析
InfiniBand技术和协议架构分析 2017年06月06日 20:54:16 Hardy晗狄 阅读数:15207 标签: 云计算存储Infiniband 更多 个人分类: 存储云计算 版权声明 ...
- InfiniBand技术和协议架构分析
Infiniband开放标准技术简化并加速了服务器之间的连接,同时支持服务器与远程存储和网络设备的连接. IB技术的发展 1999年开始起草规格及标准规范,2000年正式发表,但发展速度不及Rapid ...
- Java Servlet 技术简介
Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...
- 【转】Android 防破解技术简介
http://www.cnblogs.com/likeandroid/p/4888808.html Android 防破解技术简介 这几年随着互联网的不断发展,Android App 也越来越多!但是 ...
- Windows NT 技术简介
Windows NT 技术简介 NT:New Technoly(新技术,因比DOS.WIN9X采用了很多新技术而得名) Windows NT基本介绍 WindowsNT是Microsoft推出的面向工 ...
- CSS border三角、圆角图形生成技术简介
http://www.zhangxinxu.com/wordpress/?p=794 一.前言 利用CSS的border属性可以生成一些图形,例如三角或是圆角.纯粹的CSS2的内容,没有兼容性的问题, ...
- FC总线技术简介
FC是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,解决了并行总线SCSI遇到的技术瓶颈,并在同一大的协议平台框架下可以映射更多FC-4上层协议.FC具备通道和网络 ...
- P2P技术简介
P2P技术简介 NAT( Network Address Translation)穿越(俗称打洞)技术 前言: p2p已经存在于我们生活的方方面面:我们通过下载在工具(比如迅雷,bitorent,各种 ...
- 常见爬虫/BOT 对抗技术简介(二)
上一篇文章分别从网络协议,Robots文件,JS渲染,行为分析等多方面讲了些“反爬虫”,“反-反爬虫”技术. 点击查看:<常见爬虫/BOT 对抗技术简介(一)> 本文将主要介绍各种IP地址 ...
随机推荐
- 如何仿写thinkphp的S方法?
代码如下: <?php $info=S("name","lizhaoyao"); $name=S("name"); var_dump( ...
- 读书笔记-《基于Oracle的SQL优化》-第一章-3
优化器: 1.优化器的模式: 用于决定在Oracle中解析目标SQL时所用优化器的类型,以及决定当使用CBO时计算成本值的侧重点.这里的“侧重点”是指当使用CBO来计算目标SQL各条执行路径的成本值时 ...
- 窗体控件 回车事件 分类: WinForm 2014-11-21 10:45 233人阅读 评论(0) 收藏
说明: (1)设置窗体控件的TabIndex属性,(按回车顺序设置TabIndex的大小) (2)修改窗体的一个属性:KeyPreview=true //protected override void ...
- app启动其他应用
因开发需要内包一个app,所以要启动一个app,这种操作 如果知道包名和类名 其实很简单 只需要将包名内嵌即可(一般情况 我们都可以解压或者反接拿到) 代码如下: Intent intent = ne ...
- hibernate批量删除和更新数据
转载自:http://blog.csdn.net/yuhua3272004/article/details/2909538 Hibernate3.0 採用新的基于ANTLR的HQL/SQL查询翻译器, ...
- dump_stack的简单使用 +CALL TREE
http://blog.chinaunix.net/uid-26403844-id-3361770.html http://blog.csdn.net/zifeng274059226/article/ ...
- javascript新的原生态API
以下是最新的w3c标准的javascript,目前支持运行在firefox, chrome,IE9以上版本的浏览器 参考资料:https://developer.mozilla.org/ru/docs ...
- 第三篇:python高级之生成器&迭代器
python高级之生成器&迭代器 python高级之生成器&迭代器 本机内容 概念梳理 容器 可迭代对象 迭代器 for循环内部实现 生成器 1.概念梳理 容器(container ...
- js substr和substring字符串截取
substr(start,length)第一个参数是开始位置(注:start的开始是从0开始,看到好多博客上面是从1开始,在火狐和谷歌执行了一下是从0开始),第二个参数是截取字符串的长度(可以省略,表 ...
- 设置tomcat启动超时,不会自动停止
tomcat启动时如果1000ms没有起来,服务就会自动停止.设置位置如下