机器学习同时对容器应用程序进行垂直和水平调度的方法技术

技术编号:38719758 阅读:13 留言:0更新日期:2023-09-08 23:15
本发明专利技术公开了机器学习同时对容器应用程序进行垂直和水平调度的方法,涉及计算机软件技术领域。本发明专利技术通过机器学习技术,为容器服务提供调度技术,使得容器能够根据深度强化学习模型进行自适应的水平和垂直弹性调整,即在水平方向上允许增加或减少容器应用程序的实例,在垂直方向上允许增加或减少分配给每个应用程序实例的计算资源;考虑了垂直方面弹性即工作负载变化也考虑了水平方面的弹性即容器数量变化,以及使用了机器学习技术来调整我们的策略,适应复杂的情况;不需要手动调整各种配置,更快地响应小的工作负载变化,也可以通过水平调整更快地响应突然出现的工作负载峰值,并且能够找出容器调度的最佳策略,优化容器数量和资源使用。器数量和资源使用。器数量和资源使用。

【技术实现步骤摘要】
机器学习同时对容器应用程序进行垂直和水平调度的方法


[0001]本专利技术属于计算机软件
,特别是涉及机器学习同时对容器应用程序进行垂直和水平调度的方法。

技术介绍

[0002]随着计算机容器应用程序的出现,越来越多的企业开始使用抽象软件容器来管理云计算资源上的应用程序,如很多企业开始使用目前容器化技术最常用的实现方式,即Docker来部署企业的项目和程序。针对容器化部署的应用程序,为了处理这些程序工作负载波动的情况,市面上一些企业也推出了容易的调度方式,这些调度方式一般是基于阈值以及在容器的水平方向上进行调整调度的方式,比如判定系统资源不足时可以自动关闭掉一些容器或在程序使用量达到峰值时主动开启新的容器,已经能够满足一部分用户的需求。但针对更复杂的情况,这种基于阈值的简单调度方式开始有些捉襟见肘。
[0003]容器技术的快速普及要求对容器化应用程序采取有效的部署和管理策略,本技术方案提出了两个容器调度的方向:在水平方向上允许增加或减少容器应用程序的实例,在垂直方向上允许增加或减少分配给每个应用程序实例的计算资源。现有的大部分同类产品大多数只考虑了水平方向上的容器的调度,针对容器应用程序实例的数量进行调度和管理,缺乏更细粒度的响应小的工作负载的变化。
[0004]而且,目前市面上的容器调度方法几乎都是使用基于阈值的调度方式,依赖基于包括CPU利用率在内的负载指标的最佳阈值策略,比如现有市面上最常见的Kubernetes、Docker Swarm、Amazon ECS,大部分使用的就是基于某些负载指标的最佳阈值策略,这些方法需要针对不同的情况和使用场景正确的设置合适的阈值参数,并且需要有经验的工程师来进行设置阈值参数这项繁琐的任务。而单单依靠设置阈值参数,无法适应复杂多变的使用场景,无法完全体现出容器调度的优势。

技术实现思路

[0005]本专利技术提供了机器学习同时对容器应用程序进行垂直和水平调度的方法,机器学习技术,通过水平和垂直弹性,在运行时适应基于容器的应用程序的部署,与驱动弹性的基于阈值的方法,该方法能够自定义自适应策略,而不需要手动调整各种配置;并且允许同时通过水平和垂直扩展轻松地调整应用程序部署,水平弹性允许增加(向外扩展)和减少(向内扩展)应用程序实例的数量即容器的数量,垂直弹性允许增加(按比例放大)和减少(按比例缩小)分配给每个应用程序实例的计算资源,相较于现有的大多数只考虑一种弹性的容器应用调度方法,可以过细粒度的垂直扩展更快地响应小的工作负载变化,也可以通过水平调整更快地响应突然出现的工作负载峰值,同时拥有将两个弹性维度结合起来用于基于容器的应用程序的优点;综上,解决了
技术介绍
中的问题。
[0006]为解决上述技术问题,本专利技术是通过以下技术方案实现的:
[0007]本专利技术的机器学习同时对容器应用程序进行垂直和水平调度的方法,采用由容器
应用程序、监视组件、分析组件、计划组件和执行组件构成的通用应用程序模型实现,机器学习是一种深度强化学习的算法,强化学习是指一组试错方法的集合,通过被控系统和环境之间的一系列交互,将机器学习模型中作出决策的人工智能系统成为智能体,智能体为学习作出良好的决策;
[0008]所述容器应用程序为执行特定任务的黑盒实体,并行地创建和执行有多个容器应用程序实例,每个容器应用程序实例自主工作并处理传入请求的一个子集;所述容器应用程序公开了对软件容器响应时间的要求,响应时间不超过目标响应时间Rmax;
[0009]所述智能体以离散时间步长与容器应用程序交互,在每个时间步骤中代理观察容器应用程序状态并执行一个操作,一个时间步骤后,所述容器应用程序转换到一个新的状态,为了评估转换后状态付出的代价和下一步的状态转移,通过智能体评估Q函数进行评估,Q函数由Q(s,a)组成,表示在状态s中执行动作a后的预期长期成本,状态s是在某个离散时间步长的状态;Q函数用于采取扩展决策给定系统状态s以及智能体执行动作a,使Q(s,a)最小化;通过观察实际发生的成本,Q(s,a)随时间更新从而改进扩展策略;
[0010]将i时的容器应用程序状态定义为s
i
=(k
i
,u
i
,c
i
),其中,k
i
是容器的数量即容器应用程序实例,u
i
是CPU利用率,u

表示下一时刻或下一状态的CPU利用率,c
i
是授予每个容器的CPU份额,设定u
i
∈{0,u,...,L
u
},c
i
∈{0,c,...,L
c
},其中u和c是合适的量子,还设定容器的范围为{1,2,...,K
max
},其中K
max
是允许的容器应用程序的最大个数;
[0011]针对与每个状态s∈S,有一组可行的适应行动A(s)∈A,其中A是所有行动的集合,由此提出两个动作模型5

action模型和9

action模型;
[0012]所述5

action模型由A={

r,

1,0.1,r}组成,其中表示垂直扩展即+r增加CPU份额,

r删除CPU份额,表示水平扩展,包括+1向外扩展以及

1向内扩展;A=0是不做决策;9

action模型为一个时间粒度下,智能体同时在水平和垂直方面做出决策,该9

action模型由A={

1,0,1,}
×
{

r,0,r}组成;在水平方向上允许增加或减少容器应用程序的实例,在垂直方向上允许增加或减少分配给每个应用程序实例的计算资源;
[0013]对于每个三元组(s,a,s

)关联了一个即时成本函数c(s,a,s),该成本函数捕获容器应用程序状态从s转换到s时执行操作动作a的成本,其中,s

是指在s状态下执行动作a后进入到下一个离散时间的状态;所述即时成本函数c(s,a,s

)如下:
[0014][0015]其中:Cadp为调整成本,是调度容器进行调整所付出的代价;Cperf为性能损失,是调整后程序可能超过响应时间限制Rmax所付出的代价;Cres为运行容器应用程序的资源开
销,成本与容器应用程序实例的数量和分配的CPU份额成正比;verticl

scaling是一个向量,表示每个容器的CPU和内存的使用率;为指示函数,w
adp
、w
perf
、w
res
为权重因子,是不同代价的非负权重,并且w
adp
+w
perf
+w
res
=1;R(k,u,c)是状态s=(k,u,c)下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.机器学习同时对容器应用程序进行垂直和水平调度的方法,采用由容器应用程序、监视组件、分析组件、计划组件和执行组件构成的通用应用程序模型实现,机器学习是一种深度强化学习的算法,强化学习是指一组试错方法的集合,通过被控系统和环境之间的一系列交互,将机器学习模型中作出决策的人工智能系统成为智能体,智能体为学习作出良好的决策,其特征在于:所述容器应用程序为执行特定任务的黑盒实体,并行地创建和执行有多个容器应用程序实例,每个容器应用程序实例自主工作并处理传入请求的一个子集;所述容器应用程序公开了对软件容器响应时间的要求,响应时间不超过目标响应时间Rmax;所述智能体以离散时间步长与容器应用程序交互,在每个时间步骤中代理观察容器应用程序状态并执行一个操作,一个时间步骤后,所述容器应用程序转换到一个新的状态,为了评估转换后状态付出的代价和下一步的状态转移,通过智能体评估Q函数进行评估,Q函数由Q(s,a)组成,表示在状态s中执行动作a后的预期长期成本,状态s是在某个离散时间步长的状态;Q函数用于采取扩展决策给定系统状态s以及智能体执行动作a,使Q(s,a)最小化;通过观察实际发生的成本,Q(s,a)随时间更新从而改进扩展策略;将i时的容器应用程序状态定义为s
i
=(k
i
,u
i
,c
i
),其中,k
i
是容器的数量即容器应用程序实例,u
i
是CPU利用率,u

表示下一时刻或下一状态的CPU利用率,c
i
是授予每个容器的CPU份额,设定u
i
∈{0,u,...,L
u
},c
i
∈{0,c,...,L
c
},其中u和c是合适的量子,还设定容器的范围为{1,2,...,K
max
},其中K
max
是允许的容器应用程序的最大个数;针对与每个状态s∈S,有一组可行的适应行动A(s)∈A,其中A是所有行动的集合,由此提出两个动作模型5

action模型和9

action模型;所述5

action模型由A=(

r,

1,0,1,r}组成,其中表示垂直扩展即+r增加CPU份额,

r删除CPU份额,表示水平扩展,包括+1向外扩展以及

1向内扩展;A=0是不做决策;9

action模型为一个时间粒度下,智能体同时在水平和垂直方面做出决策,该9

action模型由A={

【专利技术属性】
技术研发人员:王昊天
申请(专利权)人:上海螣龙科技有限公司
类型:发明
国别省市:

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

1