RDMA相关

1. spec: InfiniBandTM Architecture Specification Volume 1 必须先看这个,理解一些基础的概念

2. linux库: librdmacm, libibverbs. 这两个库源码里都有相应的sample.

     https://github.com/ofiwg/librdmacm


06-12
### RDMA技术及其相关实现 RDMA(Remote Direct Memory Access)是一种高效的网络通信技术,允许网络中的计算机直接访问远程计算机的内存,而无需经过远程计算机的CPU。这种技术显著减少了数据传输的延迟和CPU负载,特别适合于高性能计算和大数据系统[^1]。 在研究中,Kalia等人提出了FaSST系统,该系统利用RDMA的双面(Two-sided)数据报远程过程调用(RPCs),实现了快速、可扩展且简单的分布式事务处理[^1]。FaSST的设计核心在于通过RDMA减少网络开销,并提供低延迟的数据访问能力。 此外,有研究探讨了NUMA架构与RDMA分布式系统的相似性,并提出了一种基于RDMA的分布式共享内存实现方法[^2]。这种方法将远程内存视为NUMA节点的一部分,从而简化了算法设计。然而,这种方法并未深入分析内存局部性对性能的影响以及NUMA与RDMA之间的相互作用。 Infiniswap是另一种基于RDMA的创新技术,它通过在网络中映射并利用远程空闲内存,加速了内存密集型应用程序的运行[^3]。具体而言,当服务器内存不足时,Infiniswap会绕过远程CPU,直接利用网络接口卡(NIC)的RDMA功能访问远程系统的空闲内存,从而形成一个去中心化的内存网络。 以下是一个简单的代码示例,展示如何使用RDMA进行远程内存访问: ```python import rdma def rdma_read(remote_address, length): # 初始化RDMA连接 connection = rdma.connect() # 执行远程内存读取 data = connection.read(remote_address, length) # 关闭连接 connection.close() return data def rdma_write(remote_address, data): # 初始化RDMA连接 connection = rdma.connect() # 执行远程内存写入 connection.write(remote_address, data) # 关闭连接 connection.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值