一种rdma实现方法和装置的制造方法

文档序号:9727214阅读:510来源:国知局
一种rdma实现方法和装置的制造方法
【技术领域】
[0001 ]本发明涉及通信技术领域,尤其涉及一种远程直接内存访问(Remote DirectMemory Access,RDMA)实现方法和装置。
【背景技术】
[0002]RDMA技术是一种新的高性能的数据传输技术,带宽高、时延低,且CPU占用率低。目前RDMA技术中,发送端向接收端写入数据时,为了确保数据写入的完成情况,往往会向接收端发送RDMA写(WRITE)命令和RDMA读(READ)命令,其中,RDMA WRITE命令实现向接收端的存储器内写入数据,而RDMA READ命令是读取RDMA WRITE命令写入的存储位置的数据,发送端再将读取到的数据与写入的数据进行比较,以完成数据的写入。可见,目前RDMA技术中写入一个数据时往往需要传输两个消息,这会使得时延较长,而且网络带宽消耗较多。

【发明内容】

[0003]本发明实施例提供了一种RDMA实现方法和装置,可以降低时延和减少网络带宽消耗。
[0004]第一方面,本发明实施例提供一种RDMA实现方法,包括:
[0005]接收发送端发送的携带有数据的写请求;
[0006]响应所述写请求,将所述数据写入存储器中;
[0007]在所述数据写入到所述存储器后,向所述发送端发送携带有所述写请求的请求完成状态的响应消息。
[0008]该实现方式中,可以实现通过传输一个写请求和一个响应消息就可以完成数据写入,从而相比现有技术传输写请求和读请求,可以降低时延和减少网络带宽消耗。
[0009]在第一方面的第一种可能的实现方式中,所述方法还可以包括如下步骤:
[0010]在所述数据写入到所述存储器后,在所述数据被写入的存储位置中执行读取操作,以获取读取内容;
[0011 ]判断所述读取内容是否为所述数据,若是,则执行向所述发送端发送携带有所述写请求的请求完成状态的响应消息的步骤,且所述请求完成状态包括数据写入成功状态;
[0012]若所述读取内容不为所述数据时,则执行向所述发送端发送携带有所述写请求的请求完成状态的响应消息的步骤,且所述请求完成状态包括数据写入失败状态。
[0013]该实现方式中,可以实现将写入的内容读取再进行判断,从而可以实现向发送端发送写入成功或者写入失败的响应消息。
[0014]结合第一方面的第一种可能的实现方式,第一方面的第二种可能的实现方式中,上述写请求还可以携带有循环冗余校验(Cyclic Redundancy Check,CRC)值;
[0015]上述判断所述读取内容是否为所述数据的步骤,可以包括:
[0016]计算所述读取内容的CRC值,并将所述计算的CRC值与所述写请求携带的CRC值进行比较,当比较一致时,则确定所述读取内容为所述数据,当比较不一致时,则所述读取内容不为所述数据。
[0017]该实现方式中,可以实现使用CRC校验数据是否写入成功。
[0018]结合第一方面的上述任一种实现方式,在第一方面的第三种可能的实现方式中,上述写请求还可以携带有CRC值;
[0019]所述响应所述写请求,将所述数据写入存储器中,包括:
[0020]使用所述CRC值对所述数据进行CRC校验,当校验通过时将所述数据写入存储器中。
[0021]该实现方式中,可以实现在将数据写入存储器前,对数据进行CRC校验,以防止向存储器中写入错误的数据。
[0022]第二方面,本发明实施例提供一种RDMA实现方法,包括:
[0023]向接收端发送携带有数据的写请求;
[0024]接收所述接收端发送的携带有所述写请求的请求完成状态的响应消息,其中,所述响应消息是所述接收端在响应所述写请求将所述数据写入到存储器后发送的。
[0025]该实现方式中,可以实现通过传输一个写请求和一个响应消息就可以完成数据写入,从而相比现有技术传输写请求和读请求,可以降低时延和减少网络带宽消耗。
[0026]在第二方面的第一种可能的实现方式中,上述写请求还可以携带有CRC值,以使所述接收端在所述数据写入到所述存储器后,在所述数据被写入的存储位置中执行读取操作,以获取读取内容,并由所述接收端将所述读取内容的CRC值与所述写请求携带的CRC值进行比较,当比较一致时,所述请求完成状态包括数据写入成功状态,当比较不一致时,所述请求完成状态包括数据写入失败状态。
[0027]结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第一种可能的实现方式中,所述写请求还可以携带有CRC值,以使所述接收端在接收到所述写请求时,使用所述CRC值对所述数据进行CRC校验,当校验通过时将所述数据写入存储器中。
[0028]第三方面,本发明实施例提供一种RDMA实现装置,该接收机被配置实现第一方面提供的方法的功能,由硬件/软件实现,其硬件/软件包括与上述功能相应的单元。
[0029]第四方面,本发明实施例提供一种RDMA实现装置,该接收机被配置实现第二方面提供的方法的功能,由硬件/软件实现,其硬件/软件包括与上述功能相应的单元。
【附图说明】
[0030]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031 ]图1是本发明实施例提供的RDMA实现方法可应用的系统架构图;
[0032]图2是本发明实施例提供的RDMA实现方法可应用的另一种系统架构图;
[0033]图3是本发明实施例提供的一种RDMA实现方法的流程示意图;
[0034]图4是本发明实施例提供的另一种RDMA实现方法的流程示意图;
[0035]图5是本发明实施例提供的另一种RDMA实现方法的流程示意图;
[0036]图6是本发明实施例提供的另一种RDMA实现方法的流程示意图;
[0037]图7是本发明实施例提供的一种RDMA实现装置的结构示意图;
[0038]图8是本发明实施例提供的另一种RDMA实现装置的结构不意图;
[0039]图9是本发明实施例提供的另一种RDMA实现装置的结构不意图;
[0040]图10是本发明实施例提供的另一种RDMA实现装置的结构不意图;
[0041 ]图11是本发明实施例提供的另一种RDMA实现装置的结构示意图。
【具体实施方式】
[0042]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]请参阅图1,图1是本发明实施例提供的RDMA实现方法可应用的系统架构图,如图1所示,包括发送端11、交换机12和接收端13,其中,上述发送端11和接收端13可以是具备RDMA功能的芯片、计算机、电板板或者服务器等装置。另外,发送端11可以是通过交换机12与接收端13连接,但本发明实施例中,发送端11通过交换机12与接收端13连接并不是必要的,例如:发送端11也可以通过线缆与接收端13直连。另外,上述交换机可以是无限带宽(Infiniband,IB)交换机或者以太网交换机。
[0044]另外,如图2所示,上述发送端11和接收端13可以包括处理器、存储器、支持RDMA的网络接口控制器(RDMA-aware Network Interface Controller,RNIC)以及应用程序。
[0045]其中,处理器可以是CPU或者是特定集成电路(App 1 i cat 1n SpecificIntegrated Circuit,ASIC),或者是一个或多个集成电路,用于执行操作系统与应用程序。本发明实施例中,在发送端11中处理器接收到执行应用程序的命令以后,可以把写命令(例如:WRITE_VERIFY命令)和数据下发给RNIC,RNIC再发往位于网络中的IB交换机。
[0046]RNIC可以是支持IB协议或者RoCE协议的,RNIC可以是IB接口卡或RoCE接口卡或者iWAP接口卡,或是支持IB协议或RoCE协议或者iWAP协议的集成电路,用于接收RDMA命令,并发送到网络中,以及接收网络中的RMDA消息,执行相应的RDMA消息。
[0047]存储器可以理解
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1