[发明专利]基于相似度的云上微服务资源调度优化方法有效
申请号: | 201911073818.5 | 申请日: | 2019-11-06 |
公开(公告)号: | CN110855578B | 公开(公告)日: | 2022-07-26 |
发明(设计)人: | 鲍亮;宋雨菲 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L47/2425 | 分类号: | H04L47/2425;H04L47/783;H04L47/80;H04L67/1074 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华;黎汉华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 相似 微服 资源 调度 优化 方法 | ||
1.一种基于相似度的云上微服务资源调度的优化方法,其特征在于,包括如下:
(1)搭建微服务环境:
(1a)在不同的物理服务器上搭建由多台配置不同且相互连接组成的虚拟机集群;
(1b)选定的微服务基准系统,并将其将部署在该虚拟机集群中;
(2)选取微服务环境的三个优化目标:即选取虚拟机的资源消耗C作为第一个目标;选取微服务系统的抖动程度J作为第二个目标;选取微服务的关联成本E作为第三个目标;
(3)使用NSGA-Ⅱ算法构建一个包含工作负载与状态矩阵一一对应的映射数据库,实现如下:
(3a)随机初始化一个包含状态矩阵S的种群,且S有如下约束:
其中Wi表示施加在微服务msi上的工作负载,msi.g表示微服务msi一次性能处理的最大工作负载,si.j为矩阵S第i行第j列的元素;
(3b)根据上述约束生成状态矩阵S的初始种群,并通过经典交叉、变异操作更新种群,即先随机生成一个数字k,交换两个个体的第k行,得到新的个体,其中1≤k≤m,完成交叉操作;再随机选择矩阵S中同一行的两个元素,其中一个元素增加,另一个元素相应减少相应数值,完成变异操作,进行交叉和变异操作之后的个体仍然满足对矩阵S的约束;
(3c)对交叉、变异后种群的矩阵S分别计算其三个优化目标C、J、E;
(3d)对优化目标进行非支配排序:
根据不同个体的优化目标C、J、E的支配关系,构成非支配Pareto前沿;
从Pareto前沿中选出最优的状态矩阵S,将它与工作负载W组成工作负载W与状态矩阵S一一对应的映射,并把该映射加入到数据库中;
(4)以欧氏距离作为聚类的依据,使用K-means聚类算法对映射数据库里的工作负载与状态矩阵进行聚类,并将聚类结果相似的映射划分为同一个类别中,实现如下:
(4a)根据系统负载的类型,选择类别数k,并从映射数据库中随机选取k个个体作为初始的中心点,计算度量数据库工作负载与中心点之间的距离disted(Wj,μ(l)):
其中μ(l)表示第l个中心点,Wj表示数据库中第j个工作负载;
(4b)根据距离最近的中心点确定Wj的类别种类λj:
λj=arg minl∈{1,2,...,k}disted(Wj,μ(l))
(4c)将Wj划入相应的类别中:
(4d)更新每个类别Cl的中心点μ'(l):
其中W为类别Cl中的个体;如果中心点μ'(l)没发生变化,则得到的各类别即为映射数据库的聚类结果;若中心点变化,则重复(4a)-(4d),将各个体划分到新的类别中;
(5)基于相似度生成初始种群:
(5a)根据当前t时刻的系统工作负载W,在上述数据库中,找到每个类别的中心点,计算每个类别的中心点与负载W的相似度Γ(μ(l),Wj),并选出相似度最大的中心点所在的类别;
(5b)使用轮盘赌算法从所选类别中选取部分状态矩阵,将其与随机产生的状态矩阵共同组成初始种群,实现如下:
(5b1)计算该类别中每个个体的累计概率ps(x(j)):
其中x(j)是由一一对应的工作负载Wj和状态矩阵Sj组成的个体,W(t)为当前t时刻的系统工作负载;
(5b2)在[0,1]区间内产生一个伪随机数r,选择能使ps(x(j-1))<r<ps(x(j))成立的个体x(j),该x(j)的状态矩阵Sj即为选中的状态矩阵;
(6)求解最优状态矩阵Sopt:
(6a)对初始种群依次使用交叉、变异操作进行每一代的更新,并对种群中的每个个体S计算其三个优化目标C、J、E:
E(t)=U×(D×S(t)×L)×UT
其中,C(t)、J(t)和E(t)分别是三个优化目标C、J、E在t时刻的具体表示,和分别表示在时刻t和时刻t-1下的微服务msi部署在虚拟机vmj上的实例个数,S(t)为用元素构成的矩阵,i∈[1,m],j∈[1,n],m和n分别表示微服务的种类和虚拟机的数量;msi.r表示微服务msi部署在虚拟机vmj上需要的资源总量;U是一个1×n维的全1向量;是n台虚拟机之间的固定延迟,它是由云服务提供商与物理机共同决定的;表示微服务之间的调用距离,其元素dp,q可由以下公式计算得到:
其中cor(msp,msq)表示微服务msp和msq之间的相关性,定义为:
A={A1,A2,…}表示访问微服务系统的一系列应用,每个应用都需调用相应的多个微服务协同实现其功能;表示第k个应用Ak要调用的微服务组成的服务调用链;当msp与msq同属一个调用链时,它们之间的相关性为1,否则为0;
(6b)使用计算出的三个目标值对种群的所有个体进行非支配排序,从中选出Pareto最优解,得到当前负载W下的最优状态矩阵Sopt;具体是使用计算出的三个目标值对种群的所有个体进行非支配排序,是先根据不同个体的优化目标C、J、E的支配关系,构成非支配Pareto前沿;再使用拥挤距离对Pareto前沿的个体进行拥挤度的计算:
其中,和分别为x(i)相邻的两个个体在优化目标l上的函数值,且有:并根据拥挤度的大小选择最优解Sopt。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911073818.5/1.html,转载请声明来源钻瓜专利网。