一种内存资源管理方法与系统
技术领域
本发明涉及内存管理技术领域,尤其涉及计算组件的内存资源管理方法与系统。
背景技术
现 场 可 编 程 门 阵 列 (Field Programmable Gate Array , FPGA) 是 在 可 编 程 阵 列 逻 辑
(Programmable Array Logic,PAL) 、门阵列逻辑 (Gate Array Logic,GAL) 、可编程逻辑 器件
(Programmable Logic Device,PLD) 等可编程器件的基础上进一步发展的产物。FPGA 具有逻辑资
源、存储资源、算法模块和嵌入式硬核模块等丰富的资源,并具备高性能、高灵 活性等特点。基于
以上特点,利用 FPGA 实现快速准确的计算已经成为研究热点。除了 FPGA , 显卡上的图形处理器
(Graphic Processing Unit,GPU) 因其内部分布可应对并行高运算密 度大问题的算术逻辑单元,已经
被用来解决复杂的计算问题。
这些 FPGA 、显卡或专用高性能计算卡等计算组件都会配备一定容量的存储器为计 算、逻辑处理
等过程提供内存资源。上述存储容量通常是受限的,如何合理高效地进行内存 资源的管理以满足大
存储量的计算是上述计算组件面临的问题。
在现有技术中,内存资源管理多以字节(Byte)为单位进行分配与释放,且计算与 结果公用内存资
源。以字节为单位进行内存资源管理容易出现内存资源碎片,无形中降低 了内存资源的使用效率。
而计算使用内存资源与结果使用内存资源公用内存资源使得内存 资源不能得到合理的管理和使用。
发明内容
针对上述问题,本发明的目的在于提高内存资源的使用效率,以及解决计算与结 果公用内存资源
的问题。
为达到上述发明目的,本发明提供的技术方案如下:
一种内存资源管理方法,所述方法由一个计算设备执行,所述计算设备包括至少 一个处理器和至
少一个存储媒介,其特征在于,所述方法包括:将计算内存资源划分为一个 或多个内存块;接收使
用所述计算内存资源的请求;根据所述请求确定请求内存资源的大 小;以及根据所述请求内存资源
的大小分配所述计算内存资源。
一种内存资源管理系统,其特征在于,所述内存资源管理系统包括:处理模块,用 于作计算或逻
辑处理;内存模块,用于为所述处理模块的所述计算或所述逻辑处理提供计 算内存资源;内存管理
模块,用于对所述内存模块的所述计算内存资源进行管理,所述对所 述内存模块的所述计算内存资
源进行管理包括:将所述计算内存资源划分为一个或多个内 存块;接收使用所述计算内存资源的请
求;根据所述请求确定请求内存资源的大小;以及根 据所述请求内存资源的大小分配所述计算内存
资源。
在本发明中,所述内存块大小为 2
N
个兆字节,且 N 为大于或等于 1 的整数。
在本发明中,所述根据所述请求分配所述计算内存资源包括:确定所述计算内存 资源中可用内存
资源的大小大于或等于所述请求内存资源的大小,得到第一确定结果;根 据所述第一确定结果,修
改所述可用内存资源的大小;根据所述请求内存资源的大小以及 所述可用内存资源,确定分配内存
资源;以及发送所述分配内存资源地址。
在本发明中,所述内存资源管理方法进一步包括:确定所述分配内存资源已被释 放,得到第二确
定结果;以及根据所述第二确定结果,修改所述可用内存资源的大小。
在本发明中,所述根据所述请求分配所述计算内存资源包括:确定所述计算内存 资源中的可用内
存资源的大小小于所述请求内存资源的大小,得到第三确定结果;以及根 据所述第三确定结果,发
送请求失败通知。
在本发明中,所述请求内存资源的大小为所述内存块大小的整数倍。
在本发明中,所述计算设备包括现场可编辑逻辑门阵列(Field-Programmable Gate Array,FPGA) 。
与现有技术相比,本发明的有益效果表现如下:
一、内存资源管理以大字节(例如,2
N
兆字节,N 为大于或等于 1 的整数)为单位进行 分配与释
放,减少了以单个字节为单位进行内存资源管理容易出现内存资源碎片的情况;
二、计算使用内存资源与结果使用资源采用分离管理方式,避免了计算使用内存 资源与结果使用
内存资源公用内存资源的情况;
评论0
最新资源