rdma - 如何让服务器通过 RDMA 写入客户端设备的内存区域
问题描述
正如标题所示,我正在尝试将数据发送到客户端(通过 RDMA),而不是客户端发送到服务器。我可以在该主题上找到的所有示例都是服务器的客户端。有什么我可以参考的资源/参考吗?
解决方案
将 libibverbs 库用于 RDMA 动词时,在大多数情况下,没有客户端和服务器的概念。使用带外通道(TCP 或 RDMA CM)在两个队列对之间建立连接,然后使用交换的连接信息配置 QP。建立连接后,如果 QP 配置允许,双方都可以使用 RDMA 单向操作。
此类应用程序的一个示例是perftest,它与 TCP(或 RDMA CM)交换连接信息,然后测量 RDMA 单面和双面操作的性能。
对于 librdmacm 和 rsockets,有一个服务器(监听 ID 或套接字)和一个客户端的概念。尽管如此,在建立连接后,双方都可以使用 RDMA。您可以在 rdma-core 存储库中找到两者的示例。例如,rping使用 RDMA CM 并调用从服务器到客户端的 RDMA 读取和写入,而riostream使用 rsockets 并从客户端和服务器调用 RDMA 写入。
推荐阅读
- javascript - Angular 2 iframe 拒绝显示
- python - 将 python 转换为 exe 时:代码签名无效
- flutter - showDialog 在颤动中多次显示
- apache - 安装 ssl 证书后不显示重定向到 linux 上 apache 服务器上托管的站点
- angular - 根据角度中的@input 值过滤表中显示的数据
- vue.js - 悬停时逐渐放大 Vuetify 中的按钮
- sql-server - 仅显示仅包含 [a-z0-9] 的行
- python - 安装 gnuhealth 客户端 $ pip3 install --user --upgrade gnuhealth-client
- asp.net - Azure authentication for ASP.net core API and React client
- python-3.x - Can a list with repeating values be converted into a multiset in python?