在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 117|回复: 0

[原创] RDMA简介4之RoCE V2初析

[复制链接]
发表于 前天 15:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
        RoCE v2原语
在RoCE v2协议中,应用程序并不直接与网卡接口相关联,开发者使用RDMA原语进行应用程序的开发。RDMA原语分为单边(one-side)语义和双边(two-side)语义,其中,WRITE、READ、ATOMIC为单边语义,SEND、RECEIVE为双边语义,且双边语义往往成对出现。
单边语义指:当本地主机调用单边语义进行操作时,远程主机的CPU完全不会感知这一过程,只有本机的CPU参与数据处理和数据传输流程[42]。READ、WRITE、ATOMIC操作为单边语义。我们常说的RDMA都是指RDMA单边操作,它提供了最高的吞吐量和最低的数据延迟,同时显著降低CPU负载。在进行READ和WRITE操作之前,需要进行队列创建、队列连接、信息交换等步骤,这些步骤将在之后一一说明。
(1)RDMA READ操作将远端主机内存中的数据读取到本地。具体流程为:本地主机将需要请求数据的地址、长度及对应的远程访问密钥发送给远程主机,远程主机比对密钥通过后,则将数据返回给本地主机。
(2)RDMA WRITE操作将本机内存中的数据写入远程主机。具体流程为:本机将携带写入地址、数据长度、远程访问密钥信息和数据的网络包发送至远程主机,远程主机确认后将数据写入远程主机内存中。
(3)ATOMIC操作即原子操作。简单地讲,该操作以64bit为单位,完全以原子方式读取、修改或写入该地址,同时保证在读取/写入之间,同一通道的其他队列对不会对该地址进行操作。该操作通常在同一子网内的不同节点间进行,用来实现分布式应用中各节点工作的同步。

双边语义指:数据在传输的过程中本地主机及远程主机的CPU都参与工作。SEND、RECEIVE操作为双边语义。其中发送方使用SEND操作,而接收方使用RECEIVE操作。在SEND/RECEIVE操作中,使用SEND操作的一方仅需要发送缓冲区(SEND BUFFER)信息和长度信息即可发送数据包,而不指定接收方具体的接收内存地址;而接收方提供接收缓冲区(RECEIVE BUFFER)及缓冲区长度信息。SEND操作与RECEIVE操作往往成对存在,由于需要双方CPU参与,数据吞吐量较低,但是可以保证数据在传输过程中不会丢失,故双边语义通常用来进行信息交换或错误处理等操作。

相关视频感兴趣者,请搜B站用户名: 专注与守望
或链接:
https://space.bilibili.com/585132944/upload/video

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-7 02:39 , Processed in 0.012202 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表