[发明专利]一种基于RDMA的通信方法、系统及通信设备有效
申请号: | 201310340011.X | 申请日: | 2013-08-07 |
公开(公告)号: | CN103440202A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 曾德勋;殷罗英;林水平;陈剑军 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 rdma 通信 方法 系统 设备 | ||
技术领域
本发明涉及通信领域,尤其涉及一种基于远程直接内存访问(Remote Direct Memory Access,RDMA)的通信方法、系统及通信设备。
背景技术
RDMA是一种直接进行远程内存存取的技术,该技术可以减少中央处理器(Central Processing Unit,CPU)参与数据传输过程的消耗,提升系统处理业务的性能。
目前的RDMA技术中,RDMA通信中的通信设备各自都分配出独立的用于RDMA通信的内存区,该内存内划分为大小相同的发送内存区和接收内存区,并进一步划分为多个固定的缓冲区。消息发送过程中,发送方从发送内存区获取一个空闲的发送缓冲区并填充消息内容,发送方将通过RDMA操作将发送缓冲区内填充的消息内容发送到接收方的接收内存区对应的缓冲区。接收方接收此消息后回复该缓冲区序号给发送方,发送方通过释放发送内存区的发送缓冲区完成回收,此时消息发送过程结束。
上述技术中,由于每个设备为RDMA通信分配出的内存空间都是预先分配好的,且空间大小是固定的,但在RDMA通信中发送的消息所需要的内存空间是不定的,在实际应用中RDMA通信中传输的消息会包括不同的类型的消息,例如:存放时占用很小内存空间的小消息和存放时占用很大内存空间的大消息。而每个设备分配出的内存空间都是根据上述大消息在而分配的,即每个设备分配出的内存空间都会比较大。但在实际应用中RDMA通信中大多数消息都为上述小消息,由于小消息存放占用的内存空间比较小,即设备分配出的内存空间经常会存在大量的空闲空间。可见,上述技术中设备的内存的利用率不高。
发明内容
本发明实施例提供了一种基于RDMA的通信方法、系统及通信设备,用于解决设备的内存的利用率不高的问题。
第一方面,本发明实施例提供一种基于RDMA的通信方法,包括:
发送设备向接收设备发送第一申请消息,所述第一申请消息用于在所述接收设备申请第一接收内存,所述第一接收内存用于存放所述发送设备向所述接收设备发送的信息;
所述发送设备接收所述接收设备发送的第一内存信息,其中,所述第一内存信息至少包含所述第一接收内存的第一地址信息;
当所述发送设备向所述接收设备发送信息时,所述发送设备根据所述第一地址信息通过RDMA操作将所述信息存放至所述第一接收内存。
在第一方面的第一种可能的实现方式中,所述第一内存信息还包括所述第一接收内存的内存空间信息,所述发送设备接收所述接收设备发送的所述第一内存信息之后,所述方法还包括:
当所述发送设备根据所述内存空间信息,以及所述发送设备通过RDMA操作在所述第一接收内存中已存放信息的大小,确定所述第一接收内存的空闲空间小于或者等于第一内存空闲阈值时,所述发送设备向所述接收设备发送内存释放消息,所述内存释放消息用于请求释放所述第一接收内存中存放的信息。
结合第一方面,在第一方面的第二种可能的实现方式中,所述第一内存信息还包括所述第一接收内存的内存空间信息,所述发送设备接收所述接收设备发送的所述第一内存信息之后,所述方法还包括:
当所述发送设备根据所述内存空间信息,以及所述发送设备通过RDMA操作在所述第一接收内存中已存放信息的大小,确定所述第一接收内存的空闲空间小于或者等于第二内存空闲阈值时,所述发送设备向接收设备发送第二申请消息,所述第二申请消息用于在所述接收设备申请第二接收内存,所述第二接收内存用于存放所述发送设备向所述接收设备发送的信息;
所述发送设备接收所述接收设备发送的第二内存信息,其中,所述第二内存信息至少包含所述第二接收内存的第二地址信息。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一接收内存与所述第二接收内存的地址连续,所述发送设备根据所述第一地址信息通过RDMA操作将所述信息存放至所述第一接收内存,包括:
当所述第一接收内存的空闲空间不够存放所述信息时,所述发送设备根据所述第一地址信息和所述第二地址信息通过RDMA操作将所述信息存放至连续接收内存,所述连续接收内存包括所述第一接收内存中的空闲内存和所述第二接收内存中与所述空闲内存连续的内存。
第二方面,本发明实施例提供一种基于RDMA的通信方法,包括:
接收设备接收发送设备发送的第一申请消息,所述第一申请消息用于在所述接收设备申请第一接收内存,所述第一接收内存用于存放所述发送设备向所述接收设备发送的信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310340011.X/2.html,转载请声明来源钻瓜专利网。