一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于实时内容预测与历史资源占用的云计算应用内存管理方法与流程

2022-05-11 10:43:37 来源:中国专利 TAG:


1.本发明涉及云计算领域,主要是一种基于实时内容预测与历史资源占用的云计算应用内存管理方法。


背景技术:

2.随着大数据、云计算技术的成熟,企业对于大数据处理的高性能计算需求不断增加。各种应用程序被部署在云上实现高效的并行计算以及运算资源按需分配。但是在面对数据量、应用程序数量以及运算任务复杂性的无限制增加时,物理资源终究是有限的。
3.在云计算环境中,应用程序的内存管理一直是业界的难题。尽管许多大数据计算平台系统的出现解决了并行计算的技术难题。然而,当处理长时间运行的大型应用程序运算任务时,常常会发生内存错误,这使得开发者历史的时间资源与计算资源投入都失去价值。解决此类问题的最好方法是增加云计算环境的物理资源,但是这样做不仅成本很高而且会带来不必要的冗余。当前也有方案通过预测应用程序的内存占用情况进行资源调度,但是此类方法一是不够实时,二是没有有效地平衡应用程序的性能与内存开销问题。
4.当前针对云计算平台的应用内存管理方案研究较少。发明cn113296880a提供了一种基于容器的应用管理方法。通过配置基于容器实现的无服务器计算系统,为应用程序设置了两种状态:在线与低功耗。对于缩容与扩容需求,分别将应用的一个应用实例在两种状态之间切换。该方法对在线与低功耗状态以及切换步骤进行了详细的定义,但是并没有给出切换的条件,无法实现自动实时的内存管理,因此不适用于海量应用数据、有限物理资源、复杂运算任务的企业云计算平台。


技术实现要素:

5.本发明的目的在于克服现有技术存在的不足,结合实时的内存占用预测与历史的资源使用统计记录,提出了一种基于实时内容预测与历史资源占用的云计算应用内存管理方法。
6.本发明的目的是通过如下技术方案来完成的。本发明针对云环境下的应用程序内存管理问题,基于应用程序固定时间窗的内存占用时序数据实现下一时刻内存的实时预测,结合应用程序全生命周期的历史资源使用统计记录,通过强化学习模型实现一体化的云计算应用自动内存回收方法。这种基于实时内容预测与历史资源占用的云计算应用内存管理方法,包括如下步骤:(1)、给定云计算环境中的应用程序,固定时间间隔t设置检查点,记录应用程序在过去n个检查点的内存占用情况,应用程序在第t个检查点的内存占用记录,即t时刻的内存占用记录为:
(2)、基于长短时记忆网络lstm,输入为t时刻应用程序(应用i)的内存占用记录,输出为t 1时刻应用程序的内存占用预测:在之后的每一步迭代运算,在给定的t时刻,基于之前n个检查点的内存占用记录,预测下一时刻也即t 1时刻该应用程序的内存占用情况,该向量作为t时刻云计算环境中应用程序的状态评估第一部分,也即:;(3)、设置日志管理器记录所有应用程序在全生命周期的资源使用记录,具体包括:最大内存占用max_memory、最小内存占用min_memory、最大cpu占用率max_cpu、最小cpu占用率min_cpu、被调用次数call_count、总运行时间total_time、平均运行时间average_time、最长运行时间max_time、最短运行时间min_time、被调用的平均间隔average_interval、被调用的最大间隔max_interval、被调用的最小间隔min_interval,到t时刻为止,应用程序的历史记录为:该向量作为云计算环境的状态评估第二部分,也即:因此,得到t时刻云计算环境中应用程序的状态评估为:;(4)、基于强化学习模型dqn,dqn模型的输入为,对云环境中的给定应用程序进行内存管理。
7.本发明的有益效果为:本发明结合实时的内存占用预测与历史的资源使用统计记录,提出了一体化应用内存伸缩方案,在避免发生内存错误的情况下提升了云计算环境中应用程序的运行效率。
附图说明
8.图1为本发明的流程示意图。
具体实施方式
9.下面将结合附图对本发明做详细的介绍:如图1所示,本发明提出了一种基于实时内容预测与历史资源占用的云计算应用内存管理方法,包括如下步骤:a)给定云计算环境中的应用程序。固定时间间隔t设置检查点,记录应用程序
在过去n个检查点的内存占用情况。应用程序在第t个检查点(后文用t时刻指代)的内存占用记录为:b)基于长短时记忆网络lstm(公知算法),输入为t时刻应用程序的内存占用记录,输出为t 1时刻应用程序的内存占用预测:在之后的每一步迭代运算,在给定的t时刻,基于之前n个检查点的内存占用记录,预测下一时刻也即t 1时刻该应用程序的内存占用情况。该向量作为t时刻云计算环境中应用程序的状态评估第一部分,也即:c)设置日志管理器记录所有应用程序在全生命周期的资源使用记录,具体包括:最大内存占用max_memory、最小内存占用min_memory、最大cpu占用率max_cpu、最小cpu占用率min_cpu、被调用次数call_count、总运行时间total_time、平均运行时间average_time、最长运行时间max_time、最短运行时间min_time、被调用的平均间隔average_interval、被调用的最大间隔max_interval、被调用的最小间隔min_interval,到t时刻为止,应用程序的历史记录为:该向量作为云计算环境的状态评估第二部分,也即:因此得到t时刻云计算环境中应用程序的的状态评估为:;d)基于强化学习模型dqn(公知方法),对云环境中的给定应用程序进行内存管理。dqn中需要特别声明的包括状态空间、动作空间以及奖励。其中连续状态空间的定义在a、b、c中已经进行了详细的定义。
10.我们对应用程序的内存改变动作空间定义如下:1、不变,当前内存不做处理2、0.8,内存占用减少到当前值的0.8倍3、0.6,内存占用减少到当前值的0.6倍4、0.4,内存占用减少到当前值的0.4倍5、0.2,内存占用减少到当前值的0.2倍6、kill,终止运行当前应用程序,回收全部内存。
11.奖励函数定义:本方案的目标是为了在保证应用程序正常高效运行的前提下,尽可能地减少应用程序的内存开销,因此应用程序内存管理的回报函数构成有如下几点1.内存资源的占用m,负反馈,占用越少,奖励越高2.应用程序的运行时间t,负反馈,运行时间越短,奖励越高此处依据不同应用程序的历史记录中的最大最小内存占用与运行时间进行奖励归一化处理,与分别为两个奖励的权重。
12.dqn模型的输入为状态也即t时刻对应应用程序对t 1时刻的内存占用预测以及t时刻以前该应用程序全生命周期的历史记录拼接的向量,输出为一个6维的向量,分别对应6种动作的q值,在选择动作时,基于算法,以的小概率随机选择动作action,以的大概率选择dqn输出的q值最大对应的动作action。基于经验池中采集的数据经验重放,优化dqn网络。最终实现了基于实时内存预测与历史记录的云计算应用内存回收方案。
13.本发明的特点:本发明通过lstm进行了内存预测,但是预测不是我们任务的终点,我们是把预测结果作为了中间结果,这个中间结果最终是为了内存的伸缩动作服务的,而伸缩动作是通过dqn进行的。
14.可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献