一种数据传输方法、处理器系统及内存访问系统技术方案

技术编号:31609114 阅读:49 留言:0更新日期:2021-12-29 18:36
本申请实施例提供一种数据传输方法、处理器系统及内存访问系统,涉及计算机存储领域,能够远程降低内存访问的时延。该处理器系统应用于源端设备,该处理器系统包括:处理器核心和第一RDMA网卡,该处理器核心用于下发写内存指令,写内存指令包含待写入数据和待写入数据的目的地址,该目的地址为目的端设备的内存地址。第一RDMA网卡用于根据待写入数据的目的地址和目的端设备的配置信息封装待写入数据,并且向目的端设备的第二RDMA网卡发送封装后的待写入数据。待写入数据。待写入数据。

【技术实现步骤摘要】
一种数据传输方法、处理器系统及内存访问系统
[0001]本申请要求于2020年06月28日提交国家知识产权局、申请号为202010599682.8、申请 名称为“一种内存访问的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合 在本申请中。


[0002]本申请实施例涉及计算机存储领域,尤其涉及一种数据传输方法、处理器系统及内存访 问系统。

技术介绍

[0003]远程直接内存访问(remote direct memory access,RDMA)是一种网卡技术,通过RDMA 网卡能够实现设备之间的快速内存访问。
[0004]示例性的,以计算机1与计算机2基于RDMA技术进行内存访问为例,计算机1和计算 机2的结构可参考图1。当计算机1向计算机2的内存写入数据时,计算机1的处理器核心 11将写任务存储至计算机1的内存12,然后计算机1的处理器核心11基于指定的通信协议 组装本地内存对应的数据,并通知计算机1的RDMA网卡13将该数据写至计算机2的内存 22。当计算机1读取计算机2的内存中的数据时,计算机1的处理器核心12将读任务存储至 内存12,然后处理器核心11通知RDMA网卡13从计算机2的内存22读取数据,进而计算 机2的RDMA网卡23从内存22中读取数据(该数据是由计算机2的处理器核心基于指定的 通信协议组装的),并返回至RDMA网卡13,该RDMA网卡13将该数据写入计算机1的内 存12中,后续地,处理器核心11可以从内存12中读取该数据。
[0005]然而上述内存访问的过程中,对于读数据和写数据,均需要由处理器核心进行数据组装 数据,内存访问的时延仍然较大。

技术实现思路

[0006]本申请实施例提供一种数据传输方法、处理器系统及内存访问系统,能够远程降低内存 访问的时延。
[0007]为达到上述目的,本申请实施例采用如下技术方案:
[0008]第一方面,本申请实施例提供一种处理器系统,应用于源端设备,该处理器系统包括: 处理器核心和第一RDMA网卡。其中,该处理器核心用于下发写内存指令,该写内存指令包 含待写入数据和待写入数据的目的地址,该待写入数据的目的地址为目的端设备的内存地址; 第一RDMA网卡用于根据待写入数据的目的地址目的端设备的配置信息封装待写入数据,向 目的端设备的第二RDMA网卡发送封装后的待写入数据,以使得第二RDMA网卡将待写入 数据写入目的端设备的内存。
[0009]本申请实施例提供的处理器系统中,由于源端设备的处理器核心发送写内存指令给源端 设备的RDMA网卡,该写内存访问指令中携带的是目的端设备的内存地址(待写入数据的目 的地址),如此,待写入数据不需要写到本地内存,而是由处理器核心与RDMA网卡之
间实 现数据交换,然后由RDMA网卡对待写入数据进行封装(即不基于处理器核心的通知,而是 在收到写内存指令后,网卡执行封装的动作),并维护通信协议的数据结构,与现有技术相比, 源端设备的处理器核心无需运行复杂的应用软件封装待写入数据,也无需维护通信协议的数 据结构,因此,能够降低远程内存访问的时延。
[0010]并且由于处理器核心无需封装待写入数据,能够降低处理器核心的开销,节省处理器核 心的算力资源。
[0011]一种可能的实现方式中,该目的端设备的配置信息至少包括:目的端设备的地址和/或第 二RDMA网卡的地址。上述第一RDMA网卡还用于获取目的端设备的配置信息。
[0012]本申请实施例中,在源端设备和目的端设备之间进行内存访问之前,分别对源端设 备和目的端设备进行初始化配置,包括配置各设备的地址和设备上的RDMA网卡的地址 等信息,从而源端设备和目的端设备交互,将各自的设备地址和RDMA网卡地址等信息 发送给对方,以用于后续内存访问时根据对端的配置信息进行数据封装或解封装。
[0013]一种可能的实现方式中,上述处理器系统还包括互连总线,该互连总线连接处理器核心 和至少一个RDMA网卡,该至少一个RDMA网卡包括第一RDMA网卡。该互连总线用于接 收处理器核心下发的写内存指令,并且基于第一映射关系从至少一个RDMA网卡中确定待写 入数据的目的地址对应的第一RDMA网卡,以及向第一RDMA网卡发送待写入数据;其中, 第一映射关系是地址窗口与RDMA网卡地址之间的映射关系。
[0014]通过互连总线对该源端设备的处理器核心下发的写内存指令进行地址映射进以将该写内 存指令顺利地转发至对应的RDMA网卡。
[0015]一种可能的实现方式中,上述互连总线具体用于确定待写入数据的目的地址所属的第一 地址窗口,并且基于第一映射关系从至少一个RDMA网卡中确定与第一地址窗口对应的第一 RDMA网卡。
[0016]一种可能的实现方式中,上述处理器系统还包括内存,该内存与互连总线连接。上述源 端设备的内存与目的端设备的内存统一编址;或者,源端设备的内存与目的端设备的内存非 统一编址。
[0017]一种可能的实现方式中,在源端设备的内存与目的端设备的内存非统一编址的情况下, 第一RDMA网卡还用于基于第二映射关系,对待写入数据的目的地址进行转换,该第二映射 关系是第一内存地址与第二内存地址的之间映射关系。其中,待写入数据的目的地址是第一 内存地址,第一内存地址是目的端设备的内存映射到源端设备的地址空间之后的映射地 址;转换后的目的地址为第二内存地址,第二内存地址是目的端设备的内存的本地地址。 第一RDMA网卡具体用于根据转换后的目的地址和目的端设备的配置信息封装待写入数据。
[0018]由于源端设备的内存与目的端设备的内存非同一编址时,该源端设备的内存地址与 目的端设备的内存地址可能发生冲突,那么当源端设备的处理器核心下发写内存指令时, 该源端设备的第一RDMA网卡接收到该写指令后,该第一RDMA网卡无法识别出该写 指令中的内存地址是源端设备的内存地址,还是目的端设备的内存地址,如此,可能导 致内存访问失败。本申请实施例中,第一RDMA网卡通过地址映射对内存访问的目的地 址进行地址转换,解决地址冲突的问题,能够顺利完成内存访问。
[0019]一种可能的实现方式中,上述处理器系统还包括直通口,处理器核心通过直通口
与互连 总线连接。直通口用于从处理器核心接收写内存指令,为写内存指令添加时间戳,并且启动 直通口中的定时器,以及向互连总线发送该写内存指令。
[0020]如此,在目的端设备(具体为目的端设备的内存控制器)接收到多个指令时,可以按照 指令的时间戳信息,即按照指令的时间先后按序处理多个指令,避免拥塞。可选地,该时间 寄存器的长度为64bit。
[0021]一种可能的实现方式中,直通口具体用于在定时器到期之前接收到第二RDMA网卡的响 应消息,停止定时器;或者,在定时器到期时未接收到第二RDMA网卡的响应消息,向处理 器核心上报超时响应信息。
[0022]本申请实施例中,当写内存指令出现超时、抖动等异常情况,直通口在定时器到期 时一直未收本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器系统,其特征在于,应用于源端设备,所述处理器系统包括:处理器核心和第一远程直接内存访问RDMA网卡;所述处理器核心,用于下发写内存指令,所述写内存指令包含待写入数据和所述待写入数据的目的地址,所述目的地址为目的端设备的内存地址;所述第一RDMA网卡,用于根据所述待写入数据的目的地址和所述目的端设备的配置信息封装所述待写入数据;向所述目的端设备的第二RDMA网卡发送封装后的待写入数据。2.根据权利要求1所述的处理器系统,其特征在于,所述第一RDMA网卡,还用于获取所述目的端设备的配置信息,所述目的端设备的配置信息至少包括:所述目的端设备的地址和/或所述第二RDMA网卡的地址。3.根据权利要求1或2所述的处理器系统,其特征在于,所述处理器系统还包括互连总线,所述互连总线连接所述处理器核心和至少一个RDMA网卡,所述至少一个RDMA网卡包括所述第一RDMA网卡;所述互连总线,用于接收所述处理器核心下发的写内存指令,并且基于第一映射关系从所述至少一个RDMA网卡中确定所述待写入数据的目的地址对应的第一RDMA网卡,以及向所述第一RDMA网卡发送所述待写入数据;其中,所述第一映射关系是地址窗口与RDMA网卡地址之间的映射关系。4.根据权利要求3所述的处理器系统,其特征在于,所述互连总线,具体用于确定所述待写入数据的目的地址所属的第一地址窗口,并且基于所述第一映射关系从所述至少一个RDMA网卡中确定与所述第一地址窗口对应的第一RDMA网卡。5.根据权利要求1至4任一项所述的处理器系统,其特征在于,所述处理器系统还包括内存;所述源端设备的内存与所述目的端设备的内存统一编址;或者,所述源端设备的内存与所述目的端设备的内存非统一编址。6.根据权利要求5所述的处理器系统,其特征在于,在所述源端设备的内存与所述目的端设备的内存非统一编址的情况下;所述第一RDMA网卡,还用于基于第二映射关系,对所述待写入数据的目的地址进行转换;所述第二映射关系是第一内存地址与第二内存地址的之间映射关系,所述待写入数据的目的地址是第一内存地址,所述第一内存地址是所述目的端设备的内存映射到所述源端设备的地址空间之后的映射地址,转换后的目的地址为第二内存地址,所述第二内存地址是所述目的端设备的内存的本地地址;所述第一RDMA网卡,具体用于根据所述转换后的目的地址和所述目的端设备的配置信息,封装所述待写入数据。7.根据权利要求1至6任一项所述的处理器系统,其特征在于,所述处理器系统还包括直通口;所述直通口,用于从所述处理器核心接收写内存指令,为所述写内存指令添加时间戳,并且启动所述直通口中的定时器,以及向所述互连总线发送所述写内存指令。8.根据权利要求7所述的处理器系统,其特征在于,所述直通口,具体用于在所述定时器到期之前接收到所述第二RDMA网卡的响应消息,
停止所述定时器;或者,在所述定时器到期时未接收到所述第二RDMA网卡的响应消息,向所述处理器核心上报超时响应信息。9.根据权利要求1至6任一项所述的处理器系统,其特征在于,所述写内存指令包括第一指令和第二指令;所述处理器核心,具体用于下发所述第一指令,所述第一指令包括所述待写入数据和第一地址;并且下发所述第二指令,所述第二指令包括所述待写入数据的目的地址和第二地址,所述第一地址和所述第二地址分别为所述第一RDMA网卡中的寄存器中的地址;所述第一RDMA网卡,具体用于根据所述第一指令中的第一地址,将所述待写入数据写入所述第一RDMA网卡中的寄存器,并且根据所述第二指令中的第二地址,将所述待写入数据的目的地址写入所述第一RDMA网卡中的寄存器,以及根据所述寄存器中的所述待写入数据的目的地址封装所述待写入数据,向所述目的端设备的第二RDMA网卡发送封装后的待写入数据,以使得所述第二RDMA网卡将所述待写入数据写入所述目的端设备的内存。10.根据权利要求1至9任一项所述的处理器系统,其特征在于,所述第一RDMA网卡,还用于在接收到所述第二RDMA网卡的响应消息之后,维护所述第一RDMA网卡上的数据封装协议的数据结构。11.一种内存访问系统,其特征在于,包括源端设备和目的端设备,所述源端设备的处理器系统包括:处理器核心和第一远程直接内存访问RDMA网卡;所述目的端设备的处理器系统包括第二RDMA网卡和内存;所述源端设备的处理器核心,用于下发读内存指令,所述读内存指令包含待读取的数据的地址和寄存器地址,所述待读取的数据的地址为目的端设备的内存地址,所述寄存器地址为所述处理器核心的寄存器中的地址;所述第一RDMA网卡,用于根据所述待读取的数据的地址和所述目的端设备的配置信息,封装所述寄存器地址,向所述目的端设备的第二RDMA网卡发送包含封装后的寄存器地址的读请求;所述第二RDMA网卡,用于从所述第一RDMA网卡接收所述读请求,对所述封装后的寄存器地址进行解封装,并根据所述待读取的数据的地址从所述目的端设备的内存中读取待读取的数据,并且根据所述寄存器地址和所述源端设备的配置信息封装所述待读取的数据,以及向所述第一RDMA网卡发送封装后的待读取的数据;所述第一RDMA网卡,还用于从所述第二RDMA网卡接收所述封装后的待读取的数据,并且对所述封装后的待读取的数据进行解封装,以及向所述处理器核心的寄存器发送解封装后的待读取的数据。12.根据权利要求11所述的内存访问系统,其特征在于,所述第一RDMA网卡,还用于获取所述目的端设备的配置信息,所述目的端设备的配置信息至少包括:所述目的端设备的地址和/或所述第二RDMA网卡的地址;所述第二RDMA网卡,还用于获取所述源端设备的配置信息,所述源端设备的配置信息至少包括:所述源端设备的地址和/或所述第一RDMA网卡的地址。13.根据权利要求11或12所述的内存访问系统,其特征在于,所述源端设备的处理器系统还包括直通口和互连总线,所述处理器核心通过所述直通口连接所述互连总线,所述互连总线还连接至少一个RDMA网卡,所述至少一个RDMA网卡包括所述第一RDMA网卡;
所述直通口,用于从所述处理器核心接收所述读内存指令,为所述读内存指令添加时间戳,并且启动所述直通口中的定时器,以及向所述互连总线发送所述读内存指令;所述互连总线,用于从所述直通口接收所述读内存指令,并且基于第一映射关系从所述至少一个RDMA网卡中确定所述待读取的数据的地址对应的第一RDMA网卡,以及向所述第一RDMA网卡发送所述读内存指令;其中,所述第一映射关系是地址窗口与RDMA网卡地址之间的映射关系。14.根据权利要求13所述的内存访问系统,其特征在于,所述互连总线,具体用于确定所述待读取的数据的地址所属的第一地址窗口,并且基于所述第一映射关系从所述至少一个RDMA网卡中确定与所述第一地址窗口对应的第一RDMA网卡。15.根据权利要求13或14所述的内存访问系统,其特征在于,所述直通口,具体用于在所述定时器到期之前接收到所述待读取的数据,停止所述定时器;或者,在所述定时器到期时未接收到所述待读取的数据,向所述处理器核心上报超时响应信息。16.根据权利要求11至15任一项所述的内存访问系统,其特征在于,在所述源端设备的内存与所述目的端设备的内存非统一编址的情况下;所述第一RDMA网卡,还用于基于第二映射关系,对所述待读取的数据的地址进行转换;所述第二映射关系是第一内存地址与第二内存地址之间的映射关系,所述待读取的数据的地址是第一内存地址,所述第一内存地址是所述目的端设备的内存映射到所述源端设备的地址空间之后的映射地址,转换后的地址为第二内存地址,所述第二内存地址是所述...

【专利技术属性】
技术研发人员:胡尧吴沛祝晓平
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1