RDMA网络编程用户手册

InfiniBand InfiniBand(IB)是一种服务器和存储器的互联技术,它具有高速、低延迟、低CPU负载、 高效率和可扩展的特性。InfiniBand的关键特性之一是它天然地支持远程直接内存访问(RDMA) 。InfiniBand能够让服务器和服务器之间、服务器和存储设备之间的数据传输不需要主机的CPU 的参与。InfiniBand使用I/O通道进行数据传输,每个I/O通道提供虚拟的NIC或HCA语义

应用介绍

###1 RDMA体系结构概述 ####1.1 InfiniBand InfiniBand(IB)是一种服务器和存储器的互联技术,它具有高速、低延迟、低CPU负载、 高效率和可扩展的特性。InfiniBand的关键特性之一是它天然地支持远程直接内存访问(RDMA) 。InfiniBand能够让服务器服务器之间、服务器和存储设备之间的数据传输不需要主机的CPU 的参与。InfiniBand使用I/O通道进行数据传输,每个I/O通道提供虚拟的NICHCA语义。InfiniBand 提供了多种技术方案,每个端口的速度从10Gb/s(SDR)56Gb/s(FDR),使用铜轴电缆和光纤进行 连接。InfiniBand的高效率和可扩展性使它在很多领域成为最佳的性能和性价比的服务器内联方案, 这些领域包括:高性能计算、云计算、Web2.0应用、存储、数据库、金融数据中心和应用。InfiniBand IBTA组织制定的技术标准。

####1.2 虚拟协议互联(VPI MellanoxVPI架构为同时支持IBEthernet的网络提供了高性能、低延迟和高可靠性的保障。 VPI的作用体现在适配器和交换机这些设备之间的数据传输。一个VPI适配器可以在每个端口设置为 使用IB语义或者Ethernet语义的传输方式。例如,一个双端口的VPI适配器可以进行如下设置:

  • 一个适配器(HCA)配置两个IB端口;
  • 一个网卡(NIC)配置两个Ethernet端口;
  • 一个适配器同时配置一个IB端口和一个Ethernet端口。

类似地,一个VPI交换机可以配置为仅有IB的端口、仅有Ethernet的端口或者有IB端口和Ethernet 端口同时工作。
Mellanox
支持的VPI适配器和交换机既支持IBRDMA也支持EthernetRoCE方案。

####1.3 基于聚合以太网的RDMA RoCE是基于以太网(Ethernet)的RDMA的技术标准,它也是由IBTA组织制定的。RoCE为以太网 提供了RDMA语义,并且不需要复杂低效的TCP传输(例如,iWARP则需要)。

RoCE是现在最有效的以太网低延迟方案。它消耗很少的CPU负载,它在数据中心桥接以太网中利用 优先流控制来达到网络的无损连通。自从OFED1.5.1版本开始,Open Fabrics Software就已经对 RoCE有很好的支持。

####1.4 不同RDMA技术的比较 目前,有三种支持RDMA的技术:IB、以太网RoCE、以太网iWARP。这三种技术使用本文中定义的同 一API,但它们有着不同的物理层和链路层。

在以太网解决方案中,RoCE相对于iWARP来说有着明显的优势,这些优势体现在延时、吞吐率和 CPU负载。RoCE被很多主流的方案所支持,并且被包含在Windows服务软件中(IB也是)。

RDMA技术基于传统网络的概念,但与IP网络又有些不同。最关键的不同是RDMA提供了一种消息服务, 利用这种服务,应用程序可以直接访问远程计算机上的虚拟内存。消息服务可以用来进行网络中进程 的通信(IPC)、与远程服务器进行通信和在一些上层协议的协助下与存储设备进行数据传递。上层 协议(ULPs)有很多,例如:iSCSIRDMA扩展(iSER)、SCSI RDMA协议(SRP)、SMBSamba LustreZFS等等。

文件列表(部分)

名称 大小 修改日期
2RDMA_用户手册.pdf1,178.07 KB2013-10-21
RDMA编程.docx40.84 KB2021-03-20

立即下载

相关下载

[RDMA 编译报错] gcc -o rdma-client rdma-common.o rdma-client.o -lrdmacm /usr/bin/ld: rdma-common.o: undefined reference to symbol
[在Linux示例程序上编写RDMA应用程序] 在Linux示例程序上编写RDMA应用程序,Linux示例程序上编写RDMA应用程序。 使用请确保您拥有rdma和libibverbs库。 ## compiler客户端: $ cc -o client client.c -lrdmacm -libverbs 服务器 : $ cc -o服务器server.c -lrdmacm ##运行服务器:
[Mellanox RDMA学习例子] 编译库的需求:libibverbs 编译参数:GCC -o service -libverbs 运行方式: 有IB网络支持: 服务端:./service 客户端:./service 服务端IP 走ROCE: 服务端:./service -g 0 客户端:./service -g 0 服务端IP
[RDMA网络编程用户手册] InfiniBand InfiniBand(IB)是一种服务器和存储器的互联技术,它具有高速、低延迟、低CPU负载、 高效率和可扩展的特性。InfiniBand的关键特性之一是它天然地支持远程直接内存访问(RDMA) 。InfiniBand能够让服务器和服务器之间、服务器和存储设备之间的数据传输不需要主机的CPU 的参与。InfiniBand使用I/O通道进行数据传输,每个I/O通道提供虚拟的NIC或HCA语义
[Mellanox GPUDirect RDMA用户手册] GPUDirect RDMA是IB CORE与对等内存客户端(例如NVIDIA Tesla类GPU)之间的API。 它提供对Mellanox HCA读/写对等内存数据缓冲区的访问权限,因此,它允许基于RDMA的应用程序通过RDMA互连使用对等设备的计算能力,而无需将数据复制到主机内存。
[RDMA Aware Networks编程用户手册] RDMA Aware Networks编程用户手册,RDMA Aware Networks编程用户手册,很棒的文档,它解释了如何使用RDMA verbs 接口函数,例如ib_create_qp(),ib_create_cq(),ib_post_send()等。 远程直接内存访问(RDMA)提供从一台主机的内存(存储或计算)到另一台主机的内存的直接内存访问,而无需涉及远程操作系统和CPU,从而以更低的延迟,更低的CPU负载和更高的

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部