【转】关于InfiniBand几个基本知识点解释

转自:关于InfiniBand几个基本知识点解释_架构师技术联盟-CSDN博客

IP网络协议如TCP/IP,具有转发丢失数据包的特性,网络不良时要不断地确认与重发,基于这些协议的通信也会因此变慢,极大地影响了性能。与之相比,IB使用基于信任的、流控制的机制来确保连接的完整性,数据包极少丢失。

使用IB协议,除非确认接收缓存具备足够的空间,否则不会传送数据。接受方在数据传输完毕之后,返回信号来标示缓存空间的可用性。通过这种办法,IB协议消除了由于原数据包丢失而带来的重发延迟,从而提升了效率和整体性能。 

什么是InfiniBand网络

InfiniBand是一种网络通信协议,它提供了一种基于交换的架构,由处理器节点之间、处理器节点和输入/输出节点(如磁盘或存储)之间的点对点双向串行链路构成。每个链路都有一个连接到链路两端的设备,这样在每个链路两端控制传输(发送和接收)的特性就被很好地定义和控制了。

640?wx_fmt=png

InfiniBand通过交换机在节点之间直接创建一个私有的、受保护的通道,进行数据和消息的传输,无需CPU参与远程直接内存访问(RDMA)和发送/接收由InfiniBand适配器管理和执行的负载。

适配器通过PCI Express接口一端连接到CPU,另一端通过InfiniBand网络端口连接到InfiniBand子网。与其他网络通信协议相比,这提供了明显的优势,包括更高的带宽、更低的延迟和增强的可伸缩性。

什么是InfiniBand架构

InfiniBand Architecture(IBA)是为硬件实现而设计的,而TCP则是为软件实现而设计的。因此,InfiniBand是比TCP更轻的传输服务,因为它不需要重新排序数据包,因为较低的链路层提供有序的数据包交付。传输层只需要检查包序列并按顺序发送包。

进一步,因为InfiniBand提供以信用为基础的流控制(发送方节点不给接收方发送超出广播 “信用“大小的数据包),传输层不需要像TCP窗口算法那样的包机制确定最优飞行包的数量。这使得高效的产品能够以非常低的延迟和可忽略的CPU利用率向应用程序交付56、100Gb/s的数据速率。

IB是以通道(Channel)为基础的双向、串行式传输,在连接拓朴中是采用交换、切换式结构(Switched Fabric),所以会有所谓的IBA交换器(Switch),此外在线路不够长时可用IBA中继器(Repeater)进行延伸。

而每一个IBA网络称为子网(Subnet),每个子网内最高可有65,536个节点(Node),IBASwitch、IBA Repeater仅适用于Subnet范畴,若要通跨多个IBA Subnet就需要用到IBA路由器(Router)或IBA网关器(Gateway)。

至于节点部分,Node想与IBA Subnet接轨必须透过配接器(Adapter),若是CPU、内存部分要透过HCA (Host Channel Adapter),若为硬盘、I/O部分则要透过TCA (Target Channel Adapter),之后各部分的衔接称为联机(Link)。上述种种构成了一个完整的IBA。

InfiniBand速率发展介绍

InfiniBand串行链路可以在不同的信令速率下运行,然后可以捆绑在一起实现更高的吞吐量。原始信令速率与编码方案耦合,产生有效的传输速率。编码将通过铜线或光纤发送的数据的错误率降至最低,但也增加了一些开销(例如,每8位数据传输10位)。

典型的实现是聚合四个链接单元(4X)。目前,InfiniBand系统提供以下吞吐量速率:

640?wx_fmt=png

InfiniBand网络主要上层协议

 InfiniBand为不同类型的用户提供了不同的上层协议,并为某些管理功能定义了消息和协议。InfiniBand主要支持SDP、SRP、iSER、RDS、IPoIB和uDAPL等上层协议。

  • SDP (Sockets Direct Protocol)是InfiniBand Trade Association (IBTA)制定的基于infiniband的一种协议,它允许用户已有的使用TCP/IP协议的程序运行在高速的infiniband之上。

  • SRP(SCSIRDMA Protocol)是InfiniBand中的一种通信协议,在InfiniBand中将SCSI命令进行打包,允许SCSI命令通过RDMA(远程直接内存访问)在不同的系统之间进行通信,实现存储设备共享和RDMA通信服务。

  • iSER(iSCSI RDMA Protocol)类似于SRP(SCSI RDMA protocol)协议,是IB SAN的一种协议 ,其主要作用是把iSCSI协议的命令和数据通过RDMA的方式跑到例如Infiniband这种网络上,作为iSCSI RDMA的存储协议iSER已被IETF所标准化。

  • RDS(Reliable Datagram Sockets)协议与UDP 类似,设计用于在Infiniband 上使用套接字来发送和接收数据。实际是由Oracle公司研发的运行在infiniband之上,直接基于IPC的协议。

  • IPoIB(IP-over-IB)是为了实现INFINIBAND网络与TCP/IP网络兼容而制定的协议,基于TCP/IP协议,对于用户应用程序是透明的,并且可以提供更大的带宽,也就是原先使用TCP/IP协议栈的应用不需要任何修改就能使用IPoIB。

  • uDAPL(User Direct Access Programming Library)用户直接访问编程库是标准的API,通过远程直接内存访问 RDMA功能的互连(如InfiniBand)来提高数据中心应用程序数据消息传送性能、伸缩性和可靠性。

iSER (iSCSI Extensions for RDMA)和NFSoRDMA (NFS over RDMA),SRP (SCSI RDMA Protocol) 等是InfiniBand中的一种通信协议,在InfiniBand中将SCSI命令进行打包,允许SCSI命令通过RDMA在不同的系统之间进行通信,实现存储设备共享和RDMA通信服务。

InfiniBand管理软件

OpenSM软件是符合InfiniBand的子网管理器(SM),运行在Mellanox OFED软件堆栈进行IB 网络管理,管理控制流走业务通道,属于带内管理方式。

640?wx_fmt=png

 OpenSM包括子网管理器、背板管理器和性能管理器三个组件,绑定在交换机内部的必备部件。提供非常完备的管理和监控能力,如设备自动发现、设备管理、Fabric可视化、智能分析、健康监测等等。

更多关于InfiniBand技术细节,请参考梳理成文的“InfiniBand架构和技术实战总结”电子书,点击原文链接获取详情。

推荐阅读:

  • InfiniBand架构和技术实战总结

  • 详解如何从0开始学大数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SmartFox中的類型轉換

今天在使用SmartFox中的用戶變量UserVariables 時發現了一個問題,就是在使用方法SetUserVariables 來發送坐標的時候,在調試信息中發現發送和接受到的變量都是空的,測試了一下發送其他信息卻是成功的,于是在發送時把坐標轉換成str…

WinCE EBOOT中的BootPart分析

应该说BootPart算是微软提供的一个用于分区的模块,可以在EBOOT中使用。不过说实话,我很少使用它,知道有些厂商的BSP里面支持这个功能,而且也算是EBOOT的一部分,所以还是介绍一下。先看一下架构,如图&#x…

【转】语义化版本 2.0.0

转自:语义化版本 2.0.0 | Semantic Versioning 语义化版本 2.0.0 摘要 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改,次版本号:当你做了向下…

心情随笔

不好意思,在这里又要让大家听我的牢骚了,但是我实在是没有地方可以发泄,所以只好对不起大家了,在近两个月的找工作历程中心智成熟了很多,同时言语也少了很多,知道没有用的话是白费口舌所以很少发表自己的意…

wince编译问题

一般来说,在VS2008中修改注册表文件,不需要从新编译内核,只需要copy files to release directory和make run-time image即可。但发现不好用,暂时不知道为什么。 看了看BSP目录下的文件,手动修改了X:\WINCE600\PLATFOR…

【转】Ubuntu:永久修改MAC地址

转自:Ubuntu:永久修改MAC地址 - YeeYang - BlogJava 前面发了一篇文章:Ubuntu:修改网卡的MAC地址,最后提到了重启后MAC地址会还原的问题,本文将介绍如何永久修改MAC地址(当然不能重装系统&#…

陌生的是人心,是人性,是社会,是世道

偶然中得到这样一本书,它是一本都市小说,写自己的经历,不是很乏味的经历;它是一本职场小说,有着对每个人的、不同侧重点的、外表及心理刻画,披露了鲜为人知的职场黑幕;它又是一本悬疑小说&#…

【转】PF_INET 和 AF_INET 的区别

转自:PF_INET 和 AF_INET 的区别 - 52php - 博客园 在写网络程序的时候,建立TCP socket: 1 sock socket(PF_INET, SOCK_STREAM, 0); 然后再绑定本地地址或连接远程地址时需要初始化sockaddr_in结构,其中指定address family时一…

可以让你少奋斗10年的工作经验

第一:不要认为停留在心灵的舒适区域内是可以原谅的。     每个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规…

【转】PF_RING学习笔记

转自:Qt迭代器(Java类型和STL类型)详解 1、PF_RING简介 PF_RING是Luca研究出来的基于Linux内核级的高效数据包捕获技术。简单来说PF_RING 是一个高速数据包捕获库,通过它可以实现将通用 PC 计算机变成一个有效且便宜的网络测量工具箱,进行数…

WinCE系统的编译过程详解

在WinCE系统中,当我们完成了相关的开发和系统定制工作以后,会编译WinCE系统,最后生成NK.bin和NK.nb0。下面介绍一下WinCE系统的编译过程,大致分为4个阶段:编译阶段(Compile phase),系统产生阶段(Sysgen pha…

使用HtmlParser解析HTML

如果要对HTML进行解析,提取HTML的数据或者修改HTML数据,HtmlParser是一个不错的选择.使用HtmlParser可以解析本地和网络上的HTML数据:Parser parser newParser( newWinista.Text.HtmlParser.Http.HttpProtocol(newUri("uriString")));Parser parser newParser( newWi…

【转】VScode快捷键(超无敌详细版)

转自:VScode快捷键(超无敌详细版)_但行好事,莫问前程-CSDN博客 通用快捷键: 快捷键作用CtrlShiftP,F1展示全局命令面板CtrlP快速打开最近打开的文件CtrlShiftN打开新的编辑窗口CtrlShiftW关闭编辑器 基础编辑快捷键: 快捷键作用…

WinCE中得Catalog Items前的标记图标的意义总结

先看下来自微软对Platform Builder里的图标解释,在以后的CE里,也类似。 The Catalog window and the OSDesignView tab contain a number of icons used to represent object types. The icons make it possible for you to differentiate between Catal…

JavaScript 图片上传预览效果

图片上传预览是一种在图片上传之前对图片进行本地预览的技术。 使用户选择图片后能立即查看图片,而不需上传服务器,提高用户体验。 但随着浏览器安全性的提高,要实现图片上传预览也越来越困难。 不过群众的智慧是无限的,网上已经有…

【转】GigE Vision简介

转自:GigE Vision简介_计算机视觉小菜鸟的专栏-CSDN博客_gige vision GigE Vision是由AIA制定的通信协议,用来实现在机器视觉领域利用千兆以太网接口进行图像的高速传输。该标准是基于UDP协议,与普通网络数据包不同之处在于应用层协议&#…

如果C++程序要调用已经被编译后的C函数,该怎么办?

C语言支持函数重载,C 语言不支持函数重载。函数被C编译后在库中的名字 与C 语言的不同。假设某个C函数的声明如下: void foo(int x, int y); 该函数被C编译器编译后在库中的名字为_foo,而C编译器则会产生像_foo_int_int之类的名字用来支持函数…

在Sql Server 2005使用公用表表达式CTE简化复杂的查询语句

公用表表达式CTE是Sql Server 2005引入的一种新的表表达式。CTE在许多方面都类似于派生表。逻辑上CTE是一个临时结果集,它仅仅存在于它发生的语句中。您可以在SELECT、INSERT、DELETE、UPDATE或CTEATE VIEW语句中建立一个CTE。 CTE的优点 与派生表不同,C…

【转】搞机:window10安装Linux子系统(WSL)及迁移到非系统盘

转自:搞机:window10安装Linux子系统(WSL)及迁移到非系统盘_泛泛之素-CSDN博客_wsl移动到非系统盘 痛点: 在电脑上想要使用linux又想使用windows系统只能安装双系统,因为虚拟机的性能差且使用麻烦&#xf…

关键字static、const、volatile的作用

关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2、 在模块内(但在函数体外&…