[发明专利]一种用户态RPC over RDMA的内存管理方法有效
申请号: | 201610405779.4 | 申请日: | 2016-06-07 |
公开(公告)号: | CN105978985B | 公开(公告)日: | 2019-03-05 |
发明(设计)人: | 王芳;冯丹;杨恒;李亮 | 申请(专利权)人: | 华中科技大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/54;G06F15/173 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 赵伟 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种用户态RPC over RDMA的内存管理方法;通过在RPC层设置注册内存池,由注册内存池保存已经注册的内存块,在传输中反复使用这些内存块从而达到避免注册内存的目标;同时,增加内存管理接口,使得上层用户可以直接使用由RPC层管理的这些已注册内存块,从而避免了上层用户和RPC组件之间的内存拷贝;在注册内存池中所管理的内存块大小固定,块大小范围为可根据实际使用配置;本发明提供的这种用户态RPC over RDMA的内存管理方法可以有效减少RPC组件在使用RDMA方式传输时的内存注册次数,具有降低内存注册开销的效果。 | ||
搜索关键词: | 一种 用户 rpc over rdma 内存 管理 方法 | ||
【主权项】:
1.一种用户态RPC over RDMA的内存管理方法,其特征在于,包括如下步骤:(1)由RPC层向上层用户提供标准RPC接口和内存管理接口,使得上层用户可以申请和回收由RPC层管理的已注册内存;(2)RPC层通过先入先出队列管理协议头部内存池;所述协议头部内存池用于存储RPC协议头部、RDMA协议头部以及待传输的RPC结构体的非指针字段;(3)RPC层通过多链表管理数据内存池,所述数据内存池用于存储已注册内存块,上层用户通过内存管理接口申请和回收所述已注册内存;(4)采用基于RDMA WRITE原语的传输方式,利用数据内存池实现服务器端向客户端的数据传输;所述步骤(4)包括如下子步骤:(4.1)对服务端拟反馈给客户端的RPC结构体进行预解码,将RPC结构体中的普通数据成员追加写到RPC报文中,对RPC结构体中的指针字段分配已注册内存块,并分配的已注册内存块的信息进行编码,封装到RDMA协议头部,并对所述已注册内存块的信息加上待写链表标识;(4.2)当服务端接收到客户端发送的RPC报文,服务端通过解码RDMA协议头部获得待写链表标识,通过所述待写链表标识获取客户端预留内存的信息;(4.3)由服务端通过内存分配接口为拟反馈给客户端的RPC结构体中的指针字段分配已注册内存;(4.4)当服务端接收到客户端请求,则对拟反馈给客户端的RPC结构体中的成员字段进行赋值;(4.5)由服务端根据RPC头部、RDMA协议头部进行编码获得RPC报文;(4.6)由服务端对拟反馈给客户端的RPC结构体进行编码,获得拟反馈给客户端的RPC报文;(4.7)服务端将步骤(4.6)获得的所述RPC报文通过RDMA SEND方式传输到客户端。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610405779.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种面向Web系统的登录方法
- 下一篇:虚拟模型展示方法、装置以及系统