一种性能感知的大规模微服务智能多资源协同调度方法及系统技术方案

技术编号:34893233 阅读:52 留言:0更新日期:2022-09-10 13:52
本发明专利技术涉及一种性能感知的大规模微服务智能多资源协同调度方法及系统,包括:采集微服务资源使用信息与微服务运行时信息并进行数据预处理;对资源协同调度进行决策的性能感知的多层联动;对微服务进行资源调度的资源分配。通过自动的信息采集可以实时地感知微服务的资源使用和延迟性能等情况;在此基础上,利用多智能体深度强化学习方法可以捕获各个微服务之间的依赖关系,并根据工作负载的动态变化协同地对每个微服务所使用的多种资源进行弹性细粒度的调整。本发明专利技术可以在尽可能保障大规模微服务应用的尾延迟SLO的同时,降低微服务每个资源维度的资源冗余,进而提高整体资源利用率。利用率。利用率。

【技术实现步骤摘要】
一种性能感知的大规模微服务智能多资源协同调度方法及系统


[0001]本专利技术涉及一种性能感知的大规模微服务智能多资源协同调度方法及系统,属于资源协同调度


技术介绍

[0002]随着互联网技术的不断发展,传统软件逐渐向云应用转型。与此同时,云应用也在不断的进行技术革新,近年来,云应用已经从紧密耦合的单体架构向由大规模微服务构成的微服务架构演变。微服务架构的模块化以及灵活开发模式被越来越多的开发者接受,但大规模微服务涉及的多维度资源调度以及各个微服务之间复杂的依赖关系给资源管理和服务质量保障带来了新的挑战。云应用通常是交互式、延迟敏感型的服务,它们具有严格的尾延迟服务等级目标(Service Level Objective,SLO)要求,为了尽可能的保障尾延迟SLO,通常采用超容预留(overprovisioning)的资源分配方式,为微服务所需的每种资源都进行满额的静态配置,极大地降低了资源利用率。
[0003]现有研究工作大多只关注单一维度的资源调度,但微服务通常涉及CPU、内存、缓存、IO及网络带宽等多个维度的资源,单一维本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种性能感知的大规模微服务智能多资源协同调度方法,其特征在于,包括:采集微服务资源使用信息与微服务运行时信息并进行数据预处理;对资源协同调度进行决策的性能感知的多层联动;对微服务进行资源调度的资源分配。2.根据权利要求1所述的一种性能感知的大规模微服务智能多资源协同调度方法,其特征在于,采集微服务资源使用信息与微服务运行时信息,包括:通过基于容器技术的多维度资源,使用采集构件采集微服务资源使用信息,包括微服务的CPU使用率、内存使用率、缓存使用、IO速率、网络带宽;通过基于远程过程调用级别的延迟监控和计算构件采集每个微服务运行时信息即微服务的端到端延迟和负载变化,并通过计算得到微服务应用的端到端延迟;进一步优选的,微服务运行时信息的采集方法为:首先,在数据库中得到单体微服务的端到端延迟和负载变化;然后,根据请求的不同,将获取的单体微服务的端到端延迟和负载变化进行划分,通过同一请求最晚离开微服务应用的时间减去最早进入微服务应用的时间,得到微服务应用的端到端延迟;最后,将微服务的运行时信息与对应微服务的资源使用信息按相同时间戳进行聚合,作为进行性能感知的多层联动的多资源分配的基础。3.根据权利要求1所述的一种性能感知的大规模微服务智能多资源协同调度方法,其特征在于,数据预处理,包括:采用了Z

Score标准化来对采集的数据包括微服务资源使用信息与微服务运行时信息进行标准化处理;进一步优选的,每次采集数据后,都进行数据预处理,求取全部数据均值与标准差,通过递推公式来计算均值与标准差;定义第n个时间间隔的平均值为E
n
,方差为F
n
,均值的递推公式为其中,E0=x0;E
n
‑1是指第n

1个时间间隔的平均值,x
n
表示第n个时间间隔个体x的观测值;标准差由方差开平方获得,方差的递推公式为F
n
=F
n
‑1+(x
n

E
n
‑1)*(x
n

E
n
),其中,F0=0,F
n
‑1是指第n

1个时间间隔的方差。4.根据权利要求1所述的一种性能感知的大规模微服务智能多资源协同调度方法,其特征在于,对资源协同调度进行决策的性能感知的多层联动,包括:第一,定义问题,如下:假设构成微服务应用的m个微服务由集合表示;对于任意的微服务b,资源使用信息用集合R
b
={c
b
,m
b
,ca
b
,o
b
,ne
b
}表示,c
b
表示微服务b的CPU使用率,m
b
表示微服务b的内存使用率,ca
b
表示微服务b的缓存使用,o
b
表示微服务b的IO速率,ne
b
表示微服务b的网络带宽;任意微服务b的微服务运行时信息包括单体微服务的端到端延迟La
b
、负载变化WC
b
及请求到达微服务时间RA
b
;假设微服务b与微服务b+1之间由特定的协议进行通信,两者之间则具有依赖关系,记作D(b,b+1),对具有依赖关系的微服务b制定一个多层联动的多种资源协同调度策略π
b
,以在尽可能保障SLO的同时,最小化资源使用;多层联动的多资源协同调度问题是一个多目标优化问题,目标函数是最小化整体应用的多个维度的资源使用,为每个微服务每一维度的资源制定一个多层联动的协同的分配策略,问题约束有以下三点:首先,每个节点上微服务的每种资源累积使用量不能超过可用容
量;其次,微服务之间如果存在依赖关系,则对两者进行微服务层之间的联合资源分配;第三,在当前资源协同调度策略下,微服务应用的端到端尾延迟小于SLO;第二,多资源决策模型构建,如下:基于深度强化学习技术,对使用马尔可夫决策过程对定义的问题进行建模,包括:状态空间是指:任意的微服务b在时间t都有状态具体包括:CPU的使用份额c
b,t
、内存的使用份额m
b,t
、缓存使用份额ca
b,t
、IO的读写速率o
b,t
、网络带宽ne
b,t
、微服务应用的端到端延迟latency
t
、微服务b的请求负载变化WC
b,t
;动作空间是指:任意的微服务b的独立动作空间为表示任意的微服务使用的资源配额;G的联合动作空间为配额;G的联合动作空间为表示微服务i的动作空间,表示微服务B的动作空间;任意的微服务b的独立动作包括CPU的使用份额、内存的使用份额、缓存使用份额、IO速率以及网络带宽;奖励函数是指:在t时刻,任意的微服务b针对状态s
b,t
产生了动作A
b,t
,为了评价任意的微服务b产生的动作A
b,t
,其奖励函数reward如下所示:其中,Res_u
i,j
表示微服务i第j种资源的使用份额,Res_lim
i,j
表示微服务i第j种资源的份额限制;latency表示当前微服务应用的端到端延迟,SLO为服务等级目标,θ1、θ2表示超参,m是微服务个数,r是微服务i的使用资源数量;状态转移概率是指:选择基于确定性策略的算法,该算法对于同一状态s
t
,产生的动作a
t
是唯一的,表示为μ
θ
(s)=a;强化学习采用Actor

Critic框架,包括动作策略网络即...

【专利技术属性】
技术研发人员:蔡斌雷王彬杨美红郭莹张虎
申请(专利权)人:山东省计算中心国家超级计算济南中心
类型:发明
国别省市:

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

1