rdma

How do I take advantage of RDMA in windows

被刻印的时光 ゝ 提交于 2019-12-09 13:33:07
问题 How can I copy blocks of memory from one server to another under windows using RDMA? We don't have infiniband, but we do have 10gb network switches. All I need is an example, but I'm not having much luck with google. EDIT: Well no one has answered my question so far. I just need a link to an example, or the name of a few functions. Everything I have read so far seems to be in the driver SDK or in sockets. I want to use RDMA in our software to update local copies of data from a main server.

RDMA API for Linux kernel

删除回忆录丶 提交于 2019-12-08 07:08:44
问题 Is there an API for RDMA (Infiniband) that can be used in kernel Space? Most of the API's that I have found are user Space. kDAPL and kAL can be used in the linux kernel; however, I have not yet found sample code to use these API's. Can somebody help me with sample code for RDMA in kernel space? 回答1: You can check the "krping" test - it is just what you need. It uses RDMA-CM to establish connection and run some RDMA traffic. Download it from OpenFabrics website 来源: https://stackoverflow.com

RDMA program randomly hangs

我的未来我决定 提交于 2019-12-06 11:19:00
问题 Anyone out there who has done RDMA programming using the RDMA_CM library? I'm having a hard time finding even simple examples to study. There's an rdma_client & rdma_server example in librdmacm, but it doesn't run in a loop (rping does loop, but it's written using IB verbs directly instead of rdma_cm functions). I've put together a trivial ping-pong program, but it locks up anywhere after 1 - 100 bounces. I found adding a sleep inside the client makes it work longer before hanging, which

RDMA program randomly hangs

微笑、不失礼 提交于 2019-12-04 16:59:48
Anyone out there who has done RDMA programming using the RDMA_CM library? I'm having a hard time finding even simple examples to study. There's an rdma_client & rdma_server example in librdmacm, but it doesn't run in a loop (rping does loop, but it's written using IB verbs directly instead of rdma_cm functions). I've put together a trivial ping-pong program, but it locks up anywhere after 1 - 100 bounces. I found adding a sleep inside the client makes it work longer before hanging, which indicates a race condition. The client gets stuck in rdma_get_send_comp() and the server gets stuck in rdma

How to use GPUDirect RDMA with Infiniband

匿名 (未验证) 提交于 2019-12-03 01:23:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have two machines. There are multiple Tesla cards on each machine. There is also an InfiniBand card on each machine. I want to communicate between GPU cards on different machines through InfiniBand. Just point to point unicast would be fine. I surely want to use GPUDirect RDMA so I could spare myself of extra copy operations. I am aware that there is a driver available now from Mellanox for its InfiniBand cards. But it doesn't offer a detailed development guide. Also I am aware that OpenMPI has support for the feature I am asking. But

深入全面解析RDMA

匿名 (未验证) 提交于 2019-12-03 00:22:01
一、背景介绍 1.1 传统TCP/IP通信模式 传统的TCP/IP网络通信,数据需要通过用户空间发送到远程机器的用户空间。数据发送方需要讲数据从用户应用空间Buffer复制到内核空间的Socket Buffer中。然后Kernel空间中添加数据包头,进行数据封装。通过一系列多层网络协议的数据包处理工作,这些协议包括传输控制协议(TCP)、用户数据报协议(UDP)、互联网协议(IP)以及互联网控制消息协议(ICMP)等。数据才被Push到NIC网卡中的Buffer进行网络传输。消息接受方接受从远程机器发送的数据包后,要将数据包从NIC buffer中复制数据到Socket Buffer。然后经过一些列的多层网络协议进行数据包的解析工作。解析后的数据被复制到相应位置的用户应用空间Buffer。这个时候再进行系统上下文切换,用户应用程序才被调用。以上就是传统的TCP/IP协议层的工作。 如今随着社会的发展,我们希望更快和更轻量级的网络通信。 1.2 通信网络定义 1.4 传统TCP/IP存在的问题 I/O bottleneck瓶颈 问题。在高速网络条件下与网络I/O相关的主机处理的高开销限制了可以在机器之间发送的带宽。这里感兴趣的高额开销是数据移动操作和复制操作。具体来讲,主要是传统的TCP/IP网络通信是通过内核发送消息。Messaging passing through

rdma centos 7.3安装

匿名 (未验证) 提交于 2019-12-02 23:49:02
rdma centos 7.3安装 corasql 0 人评论 7680人阅读 2017-05-28 16:29:40 1、安装依赖包 2、 librxe-dev 和 rxe-dev下载 下载地址 备注:rxe-dev下载v18版本,即rxe-dev-rxe submission v18 3、安装rxe-dev 备注:使用root用户,执行以下命令 会出现选择界面(如果没出现,需要安装 ncurse-devel) 输入 "/" ,然后输入 rxe,按下 enter,会查找有关 rxe 的选择项。 输入数字 1,就会选择到“Software RDMA over Ethernet (ROCE) driver”的设置,输入 "M" ,选中 RDMA 的配置,如果 输不了 M,那就输入空格。 移动到保存按钮,回车,装保存到.config中,退出安装界面(exit)。 CONFIG RDMA RXE Ϊ m CONFIG INFINIBAND ADDR TRANS 和 CONFIG INFINIBAND ADDR TRANS_CONFIGFS Ϊ y 确认 新的内核是否在 grub 引导中。查看 /etc/grub.cfg 即可看见。在开机的时候可以选择 新内核启动 4、安装 librxe-dev 重启操作系统,在开机启动时,选择4.7.0-rc3内核 启动后,查看内核版本 5、验证

[转帖]InfiniBand, RDMA, iWARP, RoCE , CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念

为君一笑 提交于 2019-12-02 09:37:47
InfiniBand, RDMA, iWARP, RoCE , CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念 2017-12-15 15:37:00 jhzh951753 阅读数 1358 更多 分类专栏: 存储 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/jhzh951753/article/details/78813666 核心基础概念 FCoE:以太网光纤通道 (Fibre Channel Over Ethernet) 它是一个存储网络协议,允许在以太网上发送光纤通道帧, 且IP通信和光纤通道通信使用相同的以太网端口。 HBA: host bus adapter ,主机总线适配器 它是连接主机计算机到网络/存储设备的可插拔式卡,支持多种存储网络协议,HBA通常是扩展卡,如PCI Express卡,它插入主机计算机的总线传送iSCSI或FC协议。 OEM: 原始设备制造商(original equipment manufacturer) CNA: Converged network adapter ,融合网路适配器,也称C-NIC 作为计算机输入/输出设备,其融合了HBA和网络适配器的功能。简言之,通过CNA可同时访问SAN

glusterfs分布式文件系统安装调试

青春壹個敷衍的年華 提交于 2019-12-01 21:40:52
Glusterfs分布式文件系统安装调试 Edit by esxu 2015.07.08 概述 GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。 安装部署 Glusterfs安装部署相对来说较简单,几步操作即可完成。 yum源配置 wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo 可直接使用官方的yum源即可,如果是内网可将源同步到本地,目前支持的版本一到centos7.1 创建并挂载本地磁盘 fdisk /dev/sdb and create a single partition 格式化 mkfs.xfs -i size=512 /dev/sdb1 作为brick进行挂载 mkdir -p /export/sdb1 && mount /dev/sdb1 /export/sdb1 && mkdir -p /export

Java Sockets on RDMA (JSOR) vs jVerbs performance in Infiniband

本小妞迷上赌 提交于 2019-11-30 16:51:46
I have basic understanding of both JSOR and jVerbs. Both handle limitations of JNI and use fast path to reduce latency. Both of them use user Verbs RDMA interface for avoiding context switch and providing fast path access. Both also have options for zero-copy transfer. The difference is that JSOR still uses the Java Socket interface. jVerbs provides a new interface. jVerbs also has something called Stateful Verbs Call to avoid repeat serialization of RDMA requests which they say reduces latency. jVerbs provides a more native interface and applications can directly use these. I read the jVerbs