热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

InfiniBandiWARPRoCE

作者QQ群:852283276微信:arm80x86微信公众号:青儿创客基地B站:主页https:space.bilibi

作者

QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118


参考


InfiniBand, RDMA, iWARP, RoCE
RDMA Vs DPDK
有哪些比较好的基于dpdk实现的tcp/ip stack?
关于Infiniband的一些介绍
InfiniBand:还会有多少人想起我



InfiniBand iWARP RoCE

parallel file system比如PVFS2/OrangeFS,Lustre,它们都声称支持 InfiniBand 网络连接技术,InfiniBand原生支持RDMA,可以不通过OS内核以及TCP/IP协议栈在网络上传输数据,因此延迟低,CPU消耗少。InfiniBand,FibreChannel,10Gbps Ethernet之间互相竞争。RDMA 技术有好几种规范来实现,


  • InfiniBand:这是正统,InfiniBand设计之初就考虑了RDMA,InfiniBand从硬件级别保证可靠传输;
  • iWARP:基于TCP or SCTP做RDMA,利用TCP or SCTP达到可靠传输,对网络设备的要求比较少;
  • RoCE:基于Ethernet做RDMA,消耗的资源比iWARP少,支持的特性比iWARP多,需要FCoE做可靠传输。从wikipedia的评价看 RoCE 还是比正统的 InfiniBand 差点。

上面三种实现都是需要硬件支持的,IB需要支持IB规范的网卡和交换机,iWARP和 RoCE都可以使用普通的以太网交换机,但是需要支持iWARP或者RoCE的网卡。软件上Solaris、Linux、Windows都有支持,在API层面这篇文章有个入门的介绍:Introduction to Remote Direct Memory Access (RDMA),可以使用http://www.openfabrics.org/ 提供的 libibverbs库(Debian Linux有提供),这个库似乎也支持Windows上的原生RDMA API "Network Direct"。另外也有一些其它 API 规范,比如DAT组织制定的kDAPL(让kernel driver可以访问RDMA功能)和uDAPL(让user space进程可以访问RDMA功能), OpenGroup制定的IT-API和RNICPI:
https://software.intel.com/en-us/articles/access-to-infiniband-from-linux
http://www.zurich.ibm.com/sys/rdma/interfaces.html
http://rdma.sourceforge.net/
另外IETF制定了iSCSI Extensions for RDMA(iSER)和SDP(Sockets Direct Protocol,基于RDMA替换TCP的流式传输层协议,RDMA本身提供了可靠传输机制)两个协议。Java 7引入了对SDP的支持:https://docs.oracle.com/javase/tutorial/sdp/sockets/index.html,Apache Qpid 消息队列也支持 RDMAhttps://packages.debian.org/sid/librdmawrap2 ,学习RDMA的网站:http://www.rdmamojo.com/2013/06/08/tips-and-tricks-to-optimize-your-rdma-code/


背板互联总线

看来以太网可以取代SRIO,毕竟有RDMA,而RDMA不是很新的技术,我突然记得在学校的时候听说过六院的超算天河用的Infiniband作为背板互联,教研室以前一个车载的存储阵列也是用的InfiniBand。RDMA不是新的技术,只是以前在InfiniBand上,导致比较小众,现在IB移植到RoCE(v2)上,扩展了应用场景。DPDK需要造的轮子太多,并且支持的厂家主要是intel,主要是intel自己的标准和协议,需要程序员做的事情太多,开发量太大,相当于程序员要把整个IP协议底层实现一遍。作为同样的类似技术,我推荐已经标准化的,兼容性好很多,不仅仅是intel,也不仅仅是以太网,还有InfiniBand等其他网络,都支持这个协议,一次写完,多种硬件,多种平台,多种厂家,国际标准,价格便宜,现在很多杂牌三四百元的万兆以太网卡都已经支持的RDMA/ROCE技术,不需要自己实现底层, 底层代码全部都已经国际标准化了,直接拿来用就可以了,不需要自己造轮子,性能与DPDK基本不相上下,也是在用户层实现了整个TCP/IP协议,国家超算中心已经有很多应用都是RDMA/ROCE技术开发的网络层,还有最近2届高校大学生超算全国性竞赛,都是指定必须使用RDMA技术作为网络层接口, 也说明了国家层面上的倾向(作者:郭忠明 链接:https://www.zhihu.com/question/47396779/answer/139271653)。


FPGA RDMA IP(RNIC)

Xilinx RDMA pg294
这里写图片描述
NVMEoF
这里写图片描述


推荐阅读
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
author-avatar
开在覀黎明前的小茉莉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有