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地址 ...
随机推荐
- MySQL 错误日志(Error Log)
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等. 这些日志能够帮助我们定位mysqld ...
- centos mysql 编译安装
centos mysql 编译安装 1.安装 创建MySQL用户 sudo useradd mysql 下载MySQL的源码包,我们这里使用的时5.5.18 安装依赖 sudo yum -y inst ...
- C#--Session用完如何清除
Session.Abandon();//清除全部Session//清除某个SessionSession["UserName"] = null;Session.Remove(&quo ...
- struts_ognl详解
- (转)基于PHP的cURL快速入门
1. 原文:基于PHP的cURL快速入门 英文原文:http://net.tutsplus.com/tutorial ... for-mastering-curl/ 原文作者:Burak Guzel ...
- oracle-绑定变量学习笔记(未完待续)
--定义变量SQL> var a number; --给绑定变量赋值SQL> exec :a :=123; PL/SQL procedure successfully completed. ...
- TextField的文字距左边框的距离偏移
默认情况下,当向textField输入文字时,文字会紧贴在textField左边框上. 我们可以通过设置textField的leftView,设置一个只有宽度的leftView. 这样还不够,因为默认 ...
- winform降低功耗总结
这里整理了一些网上关于Winform如何降低系统内存占用的资料,供参考: 1.使用性能测试工具dotTrace 3.0,它能够计算出你程序中那些代码占用内存较多2.强制垃圾回收3.多dispose,c ...
- 解决js浮点数计算bug
1.加 function add(a, b) { var c, d, e; try { c = a.toString().split(".")[1].length; } catch ...
- Flyweight 模式
如果一个应用程序使用了太多的对象, 就会造成很大的存储开销. 特别是对于大量轻量级 (细粒度)的对象,比如在文档编辑器的设计过程中,我们如果为每个字母创建一个对象的话,系统可能会因为大量的对象而造成存 ...