基于RDMA的数据传输方法、装置、设备及存储介质制造方法及图纸

技术编号:32221450 阅读:46 留言:0更新日期:2022-02-09 17:26
本发明专利技术公开了一种基于RDMA的数据传输方法、装置、设备及存储介质;在本方案中,数据发送端向数据接收端传输数据之前,如果需要数据接收端产生中断生成提示信息,则需要在缓存填写中断信息,这样数据接收端在获取到数据后,若能从接收的目标数据中解析出中断信息,则生成数据更新提醒,通过该方式,不需要数据发送端再专门发送数据传输的状态,或者数据接收端轮询数据状态,提高传输效率。提高传输效率。提高传输效率。

【技术实现步骤摘要】
基于RDMA的数据传输方法、装置、设备及存储介质


[0001]本专利技术涉及数据传输
,更具体地说,涉及一种基于RDMA的数据传输方法、装置、设备及存储介质。

技术介绍

[0002]目前,大型数据中心、云计算、高频交易以及高性能计算等场景,对网络延迟的要求越来越高,低延迟网卡的需求越来越多。低延迟网卡的核心技术点是RDMA(Remote Direct Memory Access,远程直接内存访问)。RDMA传输数据需要RNIC,该RNIC为支持RMDA的专用网卡,传输操作分单边操作RDMA READ/WRITE(RDMA读/写)和双边操作RDMA SEND/RECV(RDMA发送/接收)两种。单边操作数据传输效率虽然高,但是另一端CPU(central processing unit,中央处理器)无任何调用过程,无法获知数据是否有更新,应用也无法及时处理数据。如果单边传输结束后,再执行一次双边动作通知另一端数据传输完成,增加了整个传输过程的延时。如果另一端应用一直轮询检查buffer(缓存)中自定义的flag(标志),则轮询线程会一直占用CPU,出现CPU占用率100%的情况。
[0003]因此,如何在RDMA单边传输时,让被动端可及时获取数据已更新的信息,是本领域技术人员需要解决的问题。

技术实现思路

[0004]本专利技术的目的在于提供一种基于RDMA的数据传输方法、装置、设备及存储介质,以在RDMA单边传输时,让被动端可及时获取数据已更新的信息。
[0005]为实现上述目的,本专利技术提供一种基于RDMA的数据传输方法,包括:
[0006]数据发送端在传输数据前,确定是否需要数据接收端产生中断;
[0007]若是,则在所述数据发送端的缓存中填写中断信息;
[0008]将所述缓存中的目标数据传输至所述数据接收端,以使所述数据接收端解析到所述目标数据携带的中断信息后,生成数据更新提醒。
[0009]其中,在所述数据发送端的缓存中填写中断信息,包括:
[0010]在所述数据发送端的缓存中前预定数量个字节中填写中断信息。
[0011]其中,所述中断信息包括:中断标志位、偏移信息、长度信息。
[0012]其中,在数据发送端的缓存中前预定数量个字节中填写中断信息,包括:
[0013]在所述数据发送端的所述缓存的第0字节填写中断标志位,在所述缓存的第1~4字节填写偏移信息,在所述缓存的第5~8字节填写长度信息;其中,所述缓存中的第0字节填写1代表需要数据接收端产生中断。
[0014]其中,所述数据接收端解析到所述目标数据携带的中断信息后,生成数据更新提醒,包括:
[0015]所述数据接收端解析所述目标数据,若所述目标数据中的第0字节为1,则所述数据接收端生成数据更新提醒。
[0016]其中,所述确定是否需要数据接收端产生中断,包括:
[0017]判断所述数据发送端与所述数据接收端的目标字段是否均为1;
[0018]若是,则确定需要数据接收端产生中断。
[0019]为实现上述目的,本专利技术进一步提供一种基于RDMA的数据传输装置,包括:
[0020]确定模块,用于数据发送端在传输数据前,确定是否需要数据接收端产生中断;
[0021]填写模块,用于在数据接收端需要产生中断时,在所述数据发送端的缓存中填写中断信息;
[0022]传输模块,用于将所述缓存中的目标数据传输至所述数据接收端,以使所述数据接收端解析到所述目标数据携带的中断信息后,生成数据更新提醒。
[0023]其中,所述填写模块具体用于:在所述数据发送端的缓存中前预定数量个字节中填写中断信息。
[0024]为实现上述目的,本专利技术进一步提供一种电子设备,包括:
[0025]存储器,用于存储计算机程序;
[0026]处理器,用于执行所述计算机程序时实现如上述基于RDMA的数据传输方法的步骤。
[0027]为实现上述目的,本专利技术进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述基于RDMA的数据传输方法的步骤。
[0028]通过以上方案可知,本专利技术实施例提供的一种基于RDMA的数据传输方法、装置、设备及存储介质;在本方案中,数据发送端在传输数据前,首先确定是否需要数据接收端产生中断;若是,则在数据发送端的缓存中填写中断信息;将缓存中的目标数据传输至数据接收端,数据接收端解析到目标数据携带的中断信息后,生成数据更新提醒;可见,在本方案中,数据发送端向数据接收端传输数据之前,如果需要数据接收端产生中断生成提示信息,则需要在缓存填写中断信息,这样数据接收端在获取到数据后,若能从接收的目标数据中解析出中断信息,则生成数据更新提醒,通过该方式,不需要数据发送端再专门发送数据传输的状态,或者数据接收端轮询数据状态,提高传输效率。
附图说明
[0029]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1为现有方案中RDMA WIRTE的操作流程图;
[0031]图2为现有方案中RDMA READ的操作流程图;
[0032]图3为现有方案中双边操作流程图;
[0033]图4为本专利技术实施例公开的一种基于RDMA的数据传输方法流程示意图;
[0034]图5为本专利技术实施例公开的一种中断信息示意图;
[0035]图6为本专利技术实施例公开的一种具体的数据传输流程图;
[0036]图7为本专利技术实施例公开的一种基于RDMA的数据传输装置结构示意图;
[0037]图8为本专利技术实施例公开的一种电子设备结构示意图。
具体实施方式
[0038]目前,RDMA传输数据时,主要包括单边操作和双边操作。主机两端在数据传输前,要先建立连接,包括各自的QP(Queue Pair,队列对)及CQ(complete queue,完成队列),QP包括SQ(send queue,发送队列)和RQ(receive queue,接收队列),然后注册buffer地址,获取buffer的key。以下是对两种操作的简单描述。
[0039]一、单边操作RDMA WIRTE,buffer A的内容直接远程写到Buffer B,不需要B端主机的应用做任何操作。参见图1,为RDMA WIRTE的操作流程图,包括如下步骤:
[0040]1、应用向已建立好的的WQ(work queue,工作队列)中注册WQE(work queue entry,工作队列条目),对于A端,WQ=SQ,WQE描述指向一个等待被发送的数据并且包含了数据的目的地址B端的VB和rkey。
[0041]2、A端的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RDMA的数据传输方法,其特征在于,包括:数据发送端在传输数据前,确定是否需要数据接收端产生中断;若是,则在所述数据发送端的缓存中填写中断信息;将所述缓存中的目标数据传输至所述数据接收端,以使所述数据接收端解析到所述目标数据携带的中断信息后,生成数据更新提醒。2.根据权利要求1所述的数据传输方法,其特征在于,在所述数据发送端的缓存中填写中断信息,包括:在所述数据发送端的缓存中前预定数量个字节中填写中断信息。3.根据权利要求2所述的数据传输方法,其特征在于,所述中断信息包括:中断标志位、偏移信息、长度信息。4.根据权利要求3所述的数据传输方法,其特征在于,在所述数据发送端的缓存中前预定数量个字节中填写中断信息,包括:在所述数据发送端的所述缓存的第0字节填写中断标志位,在所述缓存的第1~4字节填写偏移信息,在所述缓存的第5~8字节填写长度信息;其中,所述缓存中的第0字节填写1代表需要数据接收端产生中断。5.根据权利要求4所述的数据传输方法,其特征在于,所述数据接收端解析到所述目标数据携带的中断信息后,生成数据更新提醒,包括:所述数据接收端解析所述目标数据,若所述目标数据中的第0字节为1,则所述数据接收端生...

【专利技术属性】
技术研发人员:管慧娟
申请(专利权)人:浪潮商用机器有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1