全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210842115.X (22)申请日 2022.07.18 (71)申请人 北京一流科技有限公司 地址 100083 北京市海淀区王庄路1号院2 号楼4层5 -E-1 (72)发明人 张建浩 马诗晗 李一鹏  (74)专利代理 机构 北京金讯知识产权代理事务 所(特殊普通 合伙) 11554 专利代理师 黄剑飞 (51)Int.Cl. G06F 9/50(2006.01) G06F 16/2455(2019.01) G06N 3/08(2006.01) (54)发明名称 支持动态重计算的内存分配和释放决策系 统及其方法 (57)摘要 本公开涉及一种支持动态重计算的内存分 配和释放决策系统及其方法。 所述系统包括: 内 存池初始化组件申请一段连续内存空间作为内 存池, 并划分为了至少两个子内存池; 内存空间 监测分配组件基于请求轮询所有子内存池, 将首 次轮询到的存在大于所述当前请求的所请求尺 寸的连续内存空间的子内存池中的连续内存空 间分配给提出请求的所述计算逻辑节 点; 连续张 量获取组件在确定没有大于所述当前请求的所 请求尺寸的连续内存空间时, 通过尺取法顺序查 找所述内存池中的所占据的内存空间之和大于 第一尺寸的连续张量子序列; 重计算代价评估组 件计算连续张量子序列的总重计算代 价; 内存释 放组件对所有连续张量子序列的总重计算代价 排序, 并将最小的总重计算代 价所对应的连续张 量子序列中所包含的所有张量所占据的内存予 以释放。 权利要求书4页 说明书20页 附图4页 CN 115185692 A 2022.10.14 CN 115185692 A 1.一种支持动态重计算的内存分配和释放决策系统, 包括: 内存池初始化组件, 为数据处理网络申请一段连续的预定尺寸的内存空间作为内存 池, 并将所述预定尺寸的内存 池划分为了 至少两个子内存 池; 内存空间监测分配组件, 部署在内存分配器中, 基于数据处理网络中的当前计算逻辑 节点请求分配用于其数据处理的连续内存空间的当前请求, 从基于所述当前请求的前一请 求所分配内存空间的子内存池的下一内存池开始, 轮询所有子内存池, 以确定所有子内存 池之一中是否存在大于所述当前请求的所请求尺 寸的连续内存空间, 并将首次轮询到的存 在大于所述当前请求的所请求尺寸的连续内存空间的子内存池中的连续内存空间分配给 提出请求的所述计算逻辑节点; 连续张量获取组件, 在内存空间监测分配组件针对所有子内存池轮询完一遍之后确定 没有任何子内存池存在大于所述当前请求的所请求尺寸的连续内存空间时, 按照所述内存 池的地址顺序, 通过尺取法, 顺序查找所述内存池中的所占据的内存空间之和大于第一尺 寸的连续张量子序列; 重计算代价评估组件, 计算构成每个连续张量子序列的每个当前张量的重计算代价, 并进行求和以获得 所述连续张量子序列的总重计算代价; 内存释放组件, 对所有连续张量子序列的总重计算代价按照大小进行排序, 并将最小 的总重计算代价所对应的连续张量子序列中所包含的所有张量所占据的内存予以释放, 从 而增加所述内存 池的可再分配的内存空间。 2.根据权利要求1所述的支持动态重计算的内存分配和释放决策系统, 其中所述内存 空间监测分配组件在只有两个子内存池时, 按照当前请求的顺序交替地在两个子内存池中 分配所请求的内存空间, 其中在第一子内存池的从其起始地址顺序进行内存分配的情况 下, 第二子内存 池从其终止地址倒序进行分配。 3.根据权利要求1所述的支持动态重计算的内存分配和释放决策系统, 其中所述内存 空间监测分配组件在两个以上的子内存池存在 满足所请求内存空间尺寸的情况下, 基于当 前请求的顺序序号, 以子内存池的数量n为模量, 在编号为m的子内存池的中为序号相对于 模量n的余数同为1+(m ‑1)*k的张量顺序分配内存空间, 其中k为是与n互质的整数, 其中n个 子内存池相邻两个子内存池在分配内存空间时, 在一个是从起始地址顺序进 行分配的情况 下, 另一个是从终止地址倒序进行分配。 4.根据权利要求1所述的支持动态重计算的内存分配和释放决策系统, 其中k为是最接 近n/2的数。 5.根据权利要求1 ‑4之一所述的支持动态重计算的内存分配和释放决策系统, 其中所 述内存空间监测分配组件在轮询所有子内存池中的当前子内存池并确认其剩余内存空间 小于所述当前请求的所请求尺寸的连续内存空间时, 沿着所轮询的子内存池延伸扩展轮询 到相邻子内存池, 以便在当前子内存池与其相 邻的子内存池之 间的邻接处的连续内存空间 不小于所述当前请求的所请求尺寸的连续内存空间时, 将所扩展轮询获得的相邻的连接处 的连续空间分配给所提出请求的所述计算逻辑节 点, 并在当前子内存池与其相邻的子内存 池之间的邻接处的连续内存空间依然小于所述当前请求的所请求尺寸的连续内存空间时, 则跳过所述当前子内存 池以及其相邻子内存 池进行下一子内存 池的轮询。 6.根据权利要求5所述的支持动态重计算的内存分配和释放决策系统, 其中所述连续权 利 要 求 书 1/4 页 2 CN 115185692 A 2张量子序列所包含的张量数量为一个、 两个或两个以上 的彼此存储空间连续的张量、 或者 两个或两个以上的彼此存 储空间之间存在空 闲空间的张量。 7.根据权利要求6所述的支持动态重计算的内存分配和释放决策系统, 其中 所述重计算代价评估组件针对内存池中当前所保存的张量中的每一个张量, 估算作为 待估算张量的每个张量的正向重计算代价, 其中处于两个张量的之 间空闲空间被视为重计 算代价为零的张量。 8.根据权利要求7所述的支持动态重计算的内存分配和释放决策系统, 其中所述重计 算代价评估组件 包括: 张量使用历史记录单元, 记录张量使用历史并提供待估算张量最近使用时刻距离当前 时刻的时间 间隔; 张量递归查询单元, 从内存池中的每个连续张量子序列的每个待估算张量开始递归查 询的其父代张量和子代张量, 并且所述递归查询终止于查询到所述待估算张量的当前存在 于内存池中的第一个父代张量和 第一个子代张量, 由此确定用于估算所述待估算张量的重 计算代价的所有 父代张量和所有子代张量的第一集合, 其中所有 父代张量包括所述第一个 父代张量与所述待估算张量之 间的所有中间父代张量, 所有子代张量包括所述第一子代张 量与待估算张量之间的所有中间子代张量; 代价估算单元, 用于对每个连续张量子序列的每个待估算张量的正向计算代价以及所 述第一集合中的各个张量的正向计算代价进 行求和, 以获得所述每个待估算张量的正向计 算代价和作为所述每 个连续张量子序列的总重计算代价。 9.根据权利要求7所述的支持动态重计算的内存分配和释放决策系统, 其中所述重计 算代价评估组件 包括: 张量使用历史记录单元, 记录张量使用历史并提供待估算张量最近使用时刻距离当前 时刻的时间 间隔; 张量递归查询单元, 从内存池中的每个连续张量子序列的每个待估算张量开始递归查 询的其父代张量和子代张量, 并且所述递归查询终止于查询到所述待估算张量的当前存在 于内存池中的第一个父代张量和 第一个子代张量, 由此确定用于估算所述待估算张量的重 计算代价的所有 父代张量和所有子代张量的第一集合, 其中所有 父代张量包括所述第一个 父代张量与所述待估算张量之 间的所有中间父代张量, 所有子代张量包括所述第一子代张 量与待估算张量之间的所有中间子代张量; 代价估算单元, 用于对每个连续张量子序列的每个待估算张量的正向计算代价以及所 述第一集合中的各个张量的正向计算代价进 行求和, 以获得所述每个待估算张量的正向计 算代价和, 并计算所述每个待估算张量的正向计算代价和与所述待估算张量的时间间隔之 间的重计算代价时间比值, 并对每个连续张量子序列的所有待估算张量的对应的重计算代 价时间比值进 行求和得到重计算代价时间比值和, 以及通过计算所述重计算代价时间比值 和与所述每个连续张量子序列的空间大小之间的比值作为所述每个连续张量子序列的总 重计算代价。 10.一种支持动态重计算的内存分配和释放决策 方法, 包括: 通过内存池初始化组件, 为数据处理网络申请一段连续的预定尺寸的内存空间作为内 存池, 并将所述预定尺寸的内存 池划分为了 至少两个子内存 池;权 利 要 求 书 2/4 页 3 CN 115185692 A 3

.PDF文档 专利 支持动态重计算的内存分配和释放决策系统及其方法

文档预览
中文文档 29 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共29页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 支持动态重计算的内存分配和释放决策系统及其方法 第 1 页 专利 支持动态重计算的内存分配和释放决策系统及其方法 第 2 页 专利 支持动态重计算的内存分配和释放决策系统及其方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:32:38上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。