[发明专利]一种基于远程直接数据存取的传输方法、设备有效
申请号: | 201910935454.0 | 申请日: | 2019-09-29 |
公开(公告)号: | CN111400212B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 陈文祥;陈伟;叶敏;王伟 | 申请(专利权)人: | 杭州海康威视系统技术有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 谢安昆;宋志强 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 远程 直接 数据 存取 传输 方法 设备 | ||
本申请公开了一种基于远程直接数据存取RDMA的传输方法,该方法包括,在源端侧,将待发送任务拆分为至少两个以上子任务,将各个子任务分别存储于各个子缓存区中,当第一时刻到达时,向目的端侧发送第一子缓存区中的第一子任务;当第二时刻到达时,向目的端侧发送第二子缓存区中的第二子任务,所述第二子缓存区为所述第一子缓存区的下一子缓存区;所述第二时刻在第一时间段内的任一时刻等待,使得各个子缓存区中的各个子任务被批量发送;所述第一时间段为第一子任务被发送至该第一子任务的完成信息被获取的时间段。本申请屏蔽掉了各次发送完成后等待时间,使得各次发送时间以时分的方式复用,达到近似同步传输的效果。
技术领域
本发明涉及计算机网络数据存取领域,特别地,涉及一种基于远程直接数据存取(RDMA)的传输方法。
背景技术
传统的TCP/IP通信,发送和接收数据的过程中,都是在源端应用层数据从上向下逐层拷贝封装,目的端从下向上拷贝和解封装,所以比较慢,而且需要CPU参与的次数很多。
RDMA(Remote Direct Memory Access)技术全称为远程直接数据存取,是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA技术在数据存取的操作中,例如,数据的读/写操作,参与已经注册过的内存区域直接进行数据传输,而不需要CPU参与;其中,实现了RDMA引擎的网卡接替了CPU的工作,通过网络把数据从源主机(包括服务器或客户端)的存储区直接传入目标主机的存储区,将数据从一个本地系统快速移动到远程系统存储器中;由此可以看出,RDMA不对操作系统造成任何影响,它消除了外部存储器复制和文本切换的开销,节省下来的资源可以进行其它运算和服务,因而RDMA能解放内存带宽和CPU周期而用于改进应用系统性能,可以提供低延迟、高吞吐量、低CPU占用率,适用于高性能计算,这样就不需要用到多少计算机的处理功能。
参见图1所示,图1为RDAM的一种整体传输的示意图。当使用RDMA时,需要一实现了RDMA引擎的网卡,这种卡称为主机通道适配器(HCA),适配器创建一个贯穿PCIe总线的从RDMA引擎到RDMA应用程序内存的通道。RDMA操作开始于通过应用程序对内存进行设置。当通过应用程序对所需要的内存进行设置的时候,意味着告诉内核被设置的内存名花有主了,同时,意味着告诉HCA在这段内存上寻址,并开辟一条从HCA卡到这段内存的通道,这一动作称之为注册一个内存区域(MR)。一旦MR注册完毕,就可以使用这段内存来做任何RDMA操作。图1中还示出了注册的内存区域(MR)和被通信队列所使用的位于内存区域之内的缓冲区(buffer)。
RDMA通信基于三条队列SQ,RQ和CQ组成的集合。其中,发送队列(SQ)和接收队列(RQ)作为工作队列负责调度工作,它们总是成对被创建,称之为队列对(QP)。当放置在工作队列上的指令被完成的时候,完成队列(CQ)用来发送完成通知。
当指令被放置到工作队列的时候,意味着告诉HCA那些缓冲区需要被发送或者用来接收数据。这些指令是一些小的结构体,称之为工作队列元素(WQE)。一个WQE包含一个指向缓冲区的指针。放置在发送队列里的WQE中包含的是指向待发送数据的指针,指向待发送数据的缓冲区;放置在接收队列里的WQE中的指针指向用来存放待接收数据的缓冲区。
RDMA是一种异步传输机制。当一次性在工作队列里放置多个发送或接收WQE时,HCA将尽可能快地按顺序处理这些WQE。当一个WQE被处理了,那么缓冲区中的数据就被搬运了。一旦传输完成,HCA就创建一个完成队列元素(CQE)并放置到完成队列中,其中,在CQE中,包含了一个用来记录传输状态的字段,以标识传输成功或失败。
现有技术对RDMA技术提出了相当多的优化点,但是大多数都集中在使用RDMA进行异步数据传输上,这与RDMA的特性有关,RDMA的数据传输本身就是采用异步的方式。
参见图2所示,图2示出了RDMA在发送侧传输数据的一种流程,在发送侧包括:
WQE被填充至发送队列,其中,WQE的指针指向待发送数据所在缓冲区地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视系统技术有限公司,未经杭州海康威视系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910935454.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置