基于动态规划的资源分配方法、网络及存储介质和处理器组成比例

技术编号:37672346 阅读:23 留言:0更新日期:2023-05-26 04:34
本申请适用点云语义分割技术领域,提供了一种基于动态规划的资源分配方法、网络及存储介质和处理器,该基于动态规划的资源分配方法利用在给待部署应用分配资源时通过一些先验测试记录先验数据集,通过该先验数据集合理的调整计算机中提供资源的额度,并且随着负载的变化动态的调整资源的分配,同时达到既能提升资源利用率,又不会造成资源短缺的问题的目的。有效避免了现有资源分配方法无法兼顾稳定与效率的缺点。与效率的缺点。与效率的缺点。

【技术实现步骤摘要】
基于动态规划的资源分配方法、网络及存储介质和处理器


[0001]本申请属于信息
,尤其涉及一种基于动态规划的资源分配方法、网络及存储介质和处理器。

技术介绍

[0002]资源调度算法是云计算领域一个长久的研究方向,针对不同的场景,很多研究工作者都对资源效率的提升进行了深入的探究。资源调度算法最主要解决的问题是在一个由大量物理机组成的集群中,以何种策略来使用这些物理机的资源,才能保证资源使用的效率最高。这些策略包括但不限于应用部署时如何选择合适的机器,应用在运行时如何动态的调整他的资源分配额度,当单个物理机上资源不够时如何调整应用部署位置来保证稳定性等。这些一系列的策略在保证应用能稳定运行(能使用保证他运行的最小资源额度)的同时,使得整个集群内空闲的资源最少。资源种类有很多,包括但不限于CPU、内存、网卡、Cache等。
[0003]现有的技术在应用申请时需要应用提供两个参数,分别是request和limit,request代表应用运行需要的最少资源,limit代表应用最多需要使用的资源。现有的技术会通过这两个参数来进行资源分配。以request参数为基准的资源分配算法在应用申请资源时会判断机器上资源剩余的额度还能否满足申请的request的值,如果满足即在机器上拉起这个应用;以limit参数为基准的资源分配算法在应用申请资源时会判断机器上资源剩余的额度还能否满足申请的limit的值,申请资源时会判断机器上资源剩余的额度还能否满足申请的request的值。
[0004]以request参数为基准的资源分配算法当应用部署过多时,所有应用的request的和会接近于整机的资源总和,而所有应用的limit总和相加会大于整机的资源总和,这样当其中的某些应用突然需要使用到limit额度的资源时,会导致单机资源不够而引发机器故障。
[0005]以limit参数为基准的资源分配算法虽然永远不会出现因为资源不够所造成的机器故障,但是大部分情况下应用申请的资源中,(limit

request)这部分资源处于没有使用或少量使用的状态,造成了机器资源利用率不高的问题。现有技术存在不足。

技术实现思路

[0006]本申请的目的在于提供一种基于动态规划的资源分配方法、网络及存储介质和处理器,通过对待部署应用进行先验测试来积累先验知识,进而判定他们在一定负载情况下合适的资源配额,在单机资源整体有限的情况下,使得资源利用率相较于之前的方法有提升,并且应用能提供稳定的服务质量,解决授权用户与认知用户建立安全共存关系的技术问题。
[0007]一方面,本申请提供了一种基于动态规划的资源分配方法,包括下述步骤:
[0008]s1.待部署应用向应用容器编排系统申请部署;
[0009]s2.所述应用容器编排系统通过调度模块从Hestia模块获取从提升资源效率的角度优化后的额度资源数值,代替开发者自己设定的资源数值;
[0010]s3.所述调度模块根据优化后的额度资源数值从集群中选出一台最合适的机器;
[0011]s4.所述应用容器编排系统通知被选中的机器下载待部署应用的副本并分配相应资源。
[0012]另一方面,本申请还提供了一种采用如上述资源分配方法且基于动态规划的资源分配网络,包括顺序连接的应用容器编排系统、调度模块、Hestia模块和计算机集群;
[0013]所述应用容器编排系统接受待部署应用的部署申请;
[0014]所述Hestia模块获取从提升资源效率的角度优化后的额度资源数值,代替开发者自己设定的资源数值;
[0015]所述调度模块根据优化后的额度资源数值从所述计算机集群中选出一台最合适的机器;
[0016]所述应用容器编排系统通知被选中的机器下载待部署应用的副本并分配相应资源。
[0017]另一方面,本申请还提供了一种存储介质,所述存储介质存储有能够实现上述的基于动态规划的资源分配方法的程序文件。
[0018]另一方面,本申请还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的基于动态规划的资源分配方法。
[0019]本申请提出了一种基于动态规划的资源分配方法、网络及存储介质和处理器。在分配资源时通过一些先验测试记录先验数据集,通过该先验数据集合理的调整资源的额度,并且随着负载的变化动态的调整资源的分配,同时达到既能提升资源利用率,又不会造成资源短缺的问题的目的。有效避免了现有资源分配方法无法兼顾稳定与效率的缺点。
附图说明
[0020]图1是本申请基于动态规划的资源分配方法的架构示意图;
[0021]图2是本申请原型资源分别的具体流程示意框图;
[0022]图3本申请基于动态规划的资源分配方法的主要步骤示意图。
具体实施方式
[0023]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1

3及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0024]以下结合具体实施例对本申请的具体实现进行详细描述:
[0025]实施例一:
[0026]图1

3示出了本申请实施例一提供的基于动态规划的资源分配方法的实现流程,为了便于说明,仅示出了与本申请实施例相关的部分,详述如下:
[0027]如图3所示,本申请提供了一种基于动态规划的资源分配方法,包括下述步骤:
[0028]s1.待部署应用向应用容器编排系统申请部署;
[0029]s2.所述应用容器编排系统通过调度模块从Hestia模块获取从提升资源效率的角
度优化后的额度资源数值,代替开发者自己设定的资源数值;
[0030]s3.所述调度模块根据优化后的额度资源数值从集群中选出一台最合适的机器;
[0031]s4.所述应用容器编排系统通知被选中的机器下载待部署应用的副本并分配相应资源。
[0032]具体的,附图1中,application为需要部署的应用,Kubernetes(K8s)是一种大规模计算计(服务器)集群上的应用容器编排系统,主要的任务是自动化的部署、规划、运维和更新应用,我们的应用就是通过向K8s提出申请部署并由它执行一套自动化的流程从而部署到一台指定机器上的。K8s连接有很多的模块,我们这里主要设计的是调度模块,也就是图中的Scheduler module,这个模块会根据待部署应用的特性、申请的资源量等信息从集群中选出一台最合适的机器进行部署,当这台机器被选出来后,K8s会通知这台机器,让其下载这个应用的副本,然后机器分配给这个应用他预先申请的资源并启动这个应用,至此这个应用就算部署成功了。
[0033]我们的算法主要的操作点就是在单机分配资源时,原来的流程是机器会将K8s通知给他的资源额度分配给这个应用,这个额度是应用开发者自己设定的,我们通过我们的算法将这个额度进一步的优化,从提升资本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于动态规划的资源分配方法,其特征在于,包括下述步骤:s1.待部署应用向应用容器编排系统申请部署;s2.所述应用容器编排系统通过调度模块从Hestia模块获取从提升资源效率的角度优化后的额度资源数值,代替所述待部署应用中开发者自己设定的资源数值;s3.所述调度模块根据优化后的额度资源数值从集群中选出一台最合适的机器;s4.所述应用容器编排系统通知被选中的机器下载所述待部署应用的副本并分配相应资源。2.如权利要求1所述的资源分配方法,其特征在于,所述步骤s2包括以下步骤:s21.所述Hestia模块对待部署应用进行判断,如是新应用,则进行提前测试,测试待部署应用在不同程度的负载下,不同资源额度所对应的服务质量;建立先验数据集并存入数据库;如不是新应用,则读取数据库中所述待部署应用对应的先验数据集;s22.基于所述先验数据集执行一套动态规划的流程来确定优化后的所述额度资源数值。3.如权利要求2所述的资源分配方法,其特征在于,所述先验数据集表示为:f
S
(R1,R2,...,L)=QoS
S
=T
requests
;T
requests
代表先验数据集,S代表的应用,R代表资源,L代表负载。4.如权利要求3所述的资源分配方法,其特征在于,所述资源包括cup资源和内存资源。5.如权利要求4所述的资源分配方法,其特征在于,所述步骤s22中的动态规划流程中采用如下动态规划转移方程:result(S
n
,CPU,mem,L)=min[result(S
n
‑1,CPU
total

CPU,mem
total

mem,L
total

L)*(n

1)/n+f
S
(CPU,me...

【专利技术属性】
技术研发人员:黄嘉华王洋叶可江须成忠
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1