The invention discloses a RDMA based register memory block data transmission method and device, the method includes applying chunk of memory, and the large memory is divided into a plurality of memory blocks with preset size; the memory block registration card to the sending end and receiving end, which is registered to the receiving end of the first memory block number is not less than second the number of registered to the sending end of the memory block; get the second block of memory available, and load the data to be transmitted; use the card will be sent to send data to the first memory block. Based on the above RDMA registered memory block data transmission method and device can reduce the RDMA of memory resource, reduce the RDMA for computing registered memory and system resources occupied, so as to improve the stability of data transmission, and improve the efficiency of data transmission.
【技术实现步骤摘要】
一种基于RDMA注册内存块的数据传输方法和装置
本专利技术属于高性能通信
,特别是涉及一种基于RDMA注册内存块的数据传输方法和装置。
技术介绍
目前,普通网卡集成了支持硬件校验和的功能,并对软件进行了改进,从而减少了发送数据的拷贝量,但无法减少接收数据的拷贝量,而这部分拷贝量要占用CPU的大量计算周期。普通网卡的工作过程如下:先把收到的数据包缓存到系统上,数据包经过处理后,相应数据被分配到一个TCP连接;然后,接收系统再把主动提供的TCP数据同相应的应用程序联系起来,并将数据从系统缓冲区拷贝到目标存储地址。这样,制约网络速率的因素就出现了:应用通信强度不断增加和主机CPU在内核与应用存储器间处理数据的任务繁重使系统要不断追加主机CPU资源,配置高效的软件并增强系统负荷管理,问题的关键是要消除主机CPU中不必要的频繁数据传输,减少系统间的信息延迟。RDMA是通过网络把资料直接传入提前注册好的计算机存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和文本交换操作,因而能腾出总线空间和CPU周期用于改进应用系统性能。而目前通用的做法需由系统先对传入的信息进行分析与标记,然后再存储到正确的区域。在ceph集群中使用RDMA技术的实现一般有两种选择:其一是基于开源代码accelio类库的实现,不过由于accelio类库代码复杂度较高,且accelio类库本身存在一定的问题,在这些问题未被解决的情况下,不适合应用于生产环境;其二是基于VPIverbs接口自建,实现安全、可 ...
【技术保护点】
一种基于RDMA注册内存块的数据传输方法,其特征在于,包括:申请大块内存,并将所述大块内存分成多个具有预设大小的内存块;将所述内存块注册到网卡的发送端和接收端,其中注册到接收端的第一内存块的个数不小于注册到发送端的第二内存块的个数;获取可用的第二内存块,并装入待发送数据;利用网卡将待发送数据发送到所述第一内存块中。
【技术特征摘要】
1.一种基于RDMA注册内存块的数据传输方法,其特征在于,包括:申请大块内存,并将所述大块内存分成多个具有预设大小的内存块;将所述内存块注册到网卡的发送端和接收端,其中注册到接收端的第一内存块的个数不小于注册到发送端的第二内存块的个数;获取可用的第二内存块,并装入待发送数据;利用网卡将待发送数据发送到所述第一内存块中。2.根据权利要求1所述的基于RDMA注册内存块的数据传输方法,其特征在于,所述将所述内存块注册到网卡的发送端和接收端为:利用VPIverbs接口ibv_reg_mr将内存块注册到Infiniband网卡的发送端和接收端。3.根据权利要求1所述的基于RDMA注册内存块的数据传输方法,其特征在于,所述将所述大块内存分成多个具有预设大小的内存块为:将所述大块内存分成多个大小为8K的内存块。4.根据权利要求1所述的基于RDMA注册内存块的数据传输方法,其特征在于,所述注册到接收端的第一内存块的个数不小于注册到发送端的第二内存块的个数为:注册到接收端的第一内存块的个数大于注册到发送端的第二内存块的个数。5.根据权利要求1-4任一项所述的基于RDMA注册内存块的数据传输方法,其特征在于,在所述利用网卡将待发送数据发送到所述第一内存块中之后,还包括:所述接收端通知所述发送端数据传输完成,并将发送端占...
【专利技术属性】
技术研发人员:尚付飞,刘杰,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。