[发明专利]一种RDMA内存申请保护方法、系统、设备及存储介质在审
申请号: | 202111510822.0 | 申请日: | 2021-12-10 |
公开(公告)号: | CN114253475A | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 张砚凯 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50;G06F13/28 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张元 |
地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 rdma 内存 申请 保护 方法 系统 设备 存储 介质 | ||
本发明提出一种RDMA内存申请保护方法,包括:以预注册的方式在内存中申请多个内存块,并基于多个内存块建立内存块资源池;响应于需要将数据写入到内存中,根据数据的大小从内存块资源池中分配多个内存块存储数据。通过本发明提出的一种RDMA内存申请保护方法,将使用RDMA数据传输方式的写入数据时申请内存的方式改为预注册的方式,并且采用分批预注册的方实现对RDMA保护内存的申请,可有效降低因独占内存控制导致的系统阻塞。缓解RDMA内存使用与系统使用内存的竞争关系。提高使用RDMA链路的存储系统的稳定性。
技术领域
本发明属于互联网技术领域,具体涉及一种RDMA内存申请保护方法、系统、设备及存储介质。
背景技术
RDMA(Remote-Direct Memory Access)远程内存直接访问,是Mellanox、Intel等公司推出的高速网络技术,与传统网络技术相比,RDMA能够绕过操作系统协议栈、减少内存拷贝次数、避免系统态内核态切换开销,从而提供更高带宽、更低时延、占用更少的系统资源。
RDMA是一种直接访问远端计算机存储区的网络传输技术,将数据从本地系统快速拷贝到远程系统存储器中,传输过程中只占用单边CPU资源,同时绕过操作系统内核协议栈,能够显著提高数据传输性能。RDMA技术已经应用到各类业务场景,尤其是对带宽、时延要求非常高的分布式存储系统,采用RDMA网络传输大量文件数据,绕过传统网络的性能瓶颈,充分发挥出NVMe SSD、PM等新型硬件的性能。现在RDMA技术的普遍应用中,数据的传输需要依赖一个固定的内存区域存放数据,在本地端和远程端首次建立连接的过程时需要申请并注册多块内存区域以供RMDA接收命令、发送数据、接收数据。注册内存区域是比较耗时的,在实际测试中,注册100G内存耗时约3.6s。在业务处理中阻塞3.6s无疑是致命的,因为我们的系统不只有RDMA一种应用。
因此,亟需一种有效解决上述问题的RDMA解决方案。
发明内容
为解决以上问题,本发明提出一种RDMA内存申请保护方法,包括:
以预注册的方式在内存中申请多个内存块,并基于所述多个内存块建立内存块资源池;
响应于需要将数据写入到所述内存中,根据所述数据的大小从所述内存块资源池中分配多个内存块存储所述数据。
在本发明的一些实施方式中,以预注册的方式在内存中申请多个内存块,并基于所述多个内存块建立内存块资源池,包括:
响应于RDMA驱动初始化完成,根据所述RDMA驱动所设定的最大连接的个数,及每个连接所预定的空间大小在内存中分批建立多个内存块,并将所述多个内存块建立内存块资源池。
在本发明的一些实施方式中,以预注册的方式在内存中申请多个内存块,并基于所述多个内存块建立内存块资源池,还包括:
根据数据写入内存的速度,提前向内存中注册所述数据写入内存的速度等大的多个数据块。
在本发明的一些实施方式中,方法还包括:
判断所述内存块资源池的剩余空间大小及系统内存的剩余空间大小;
响应于所述内存块资源池的剩余空间大小大于所述内存块资源池的总大小的第一预定比例,且所述系统内存的剩余空间大小低于第二预定比例,将释放所述内存块资源池预定大小的内存空间。
在本发明的一些实施方式中,将释放所述内存块资源池预定大小的内存空间,包括:
将所述预定大小的内存空间作为故障内存空间进行释放。
在本发明的一些实施方式中,方法还包括:
将所述内存块资源池中的内存空间通过本地环回网络共享给所述系统调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111510822.0/2.html,转载请声明来源钻瓜专利网。