CN104360908A - 基于蚁群优化算法的云环境下sbs资源配置方法 - Google Patents

基于蚁群优化算法的云环境下sbs资源配置方法 Download PDF

Info

Publication number
CN104360908A
CN104360908A CN201410606471.7A CN201410606471A CN104360908A CN 104360908 A CN104360908 A CN 104360908A CN 201410606471 A CN201410606471 A CN 201410606471A CN 104360908 A CN104360908 A CN 104360908A
Authority
CN
China
Prior art keywords
resource
component service
sbs
ant
utility value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410606471.7A
Other languages
English (en)
Other versions
CN104360908B (zh
Inventor
马安香
张长胜
张斌
张晓红
赵秀涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201410606471.7A priority Critical patent/CN104360908B/zh
Publication of CN104360908A publication Critical patent/CN104360908A/zh
Application granted granted Critical
Publication of CN104360908B publication Critical patent/CN104360908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及基于蚁群优化算法的云环境下SBS资源配置方法,首先获取SBS中各组件服务的资源候选资源配置集,然后获取任意资源属性向量与其组件服务平均响应时间之间的映射关系,构造SBS资源配置应用的搜索图,利用蚁群优化算法调整SBS中各组件服务的资源候选资源配置集,得到最优组合资源配置,最后根据最优组合资源配置对SBS进行资源配置,本发明中的SBS资源配置方法能在配置满足SLA约束的条件下最小化资源使用成本,从而提高服务提供商的收益,当SBS资源配置应用的规模较大时,本发明提出的方法能够保证在较短时间内求得近似最优的组合资源配置。

Description

基于蚁群优化算法的云环境下SBS资源配置方法
技术领域
本发明属于基于服务的软件系统(SBS)领域,具体涉及基于蚁群优化算法的云环境下SBS资源配置方法。
背景技术
随着云计算及“软件作为服务理念”的扩散,云环境下基于服务的软件系统(Service-BasedSoftware systems,SBS)已经成为国内外研究热点。云计算的资源弹性分配特性,使得企业和组织在部署应用时能够根据实际业务需求分配虚拟化资源,从而减少资源的浪费。在业务需求中,不同的服务质量属性,如响应时间、可靠性和吞吐量等,通常是通过应用提供商和应用使用者之间的服务等级协议(SLA)进行描述。因此,在按需付费的云环境中部署应用时,如何在保证SLA的基础上优化分配资源,尽可能降低分配的资源使用成本,是应用提供商提高收益的关键途径。但目前的研究针对的应用通常为单层或多层逻辑组成结构,对于基于服务的软件系统SBS在云环境中部署时的资源优化配置问题缺少深入研究。在SBS中,各组件服务的QoS与所分配的资源数量往往具有不同的映射关系,组件服务性能与资源的使用率、请求负载之间并不存在线性关系,并且不同类型服务(CPU密集型、I/O密集型、交互型等)的性能受其占有资源多少的影响也不同(例如,计算密集型的服务受CPU占有量影响较大,而存储密集型的服务则受存储占有量影响较大),这使得资源与组件服务性能之间的关系非常复杂。另外,由于每个组件服务往往存在大量的候选资源配置策略,这样由不同组件服务按照多种组合逻辑(如顺序结构、分支结构、并行结构和循环结构等)构成的SBS系统对应的组合资源配置策略更加庞大,因此,如何高效选取满足用户SLA约束的性能较优的组合资源配置策略变得尤为复杂。综上,云环境下基于服务的软件系统中如何实现有效的资源优化配置的研究具有现实意义。
云环境下SBS系统的部署与运行过程主要分为三个阶段:初始部署阶段、运行阶段和分析阶段。初始部署阶段主要是系统部署人员根据给定的SBS描述、应用的SLA约束、组件服务性能模型,以及获取到的初始资源使用状态等信息为每个组件服务确定其部署到的虚拟机以及分配的资源数量,包括CPU、内存、带宽和存储等;运行阶段的主要工作是处理用户的请求;分析阶段的主要工作是通过分析执行信息来支撑系统优化。初始部署是SBS系统稳定运行的前提,初始资源配置是初始部署阶段的主要任务,目前基本上是由系统部署人员手工配置的,而实际中往往存在大量的服务资源分配策略的组合,采用手工配置的方式很难从其中找到优化的部署策略,进而造成资源的浪费,减少服务提供商的收益。而少数自动配置方法如组件复制或迁移以及SLA分解的方法,都有其局限性。由于选择副本以及副本部署的复杂性,采用组件复制或迁移的方法比较适合动态环境中的资源实时调度问题,对于静态环境中有大量资源分配组合时仍有一定的局限性;而SLA分解方法仅限于多层线性逻辑组成结构的应用,对于由多个组件服务根据不同业务逻辑组成的SBS应用,在实际中很难根据应用的性能目标确定各组件服务的性能需求。可以看出,已有的初始资源部署的研究工作较少且存在一定局限性。
发明内容
针对现有技术的不足,本发明提出基于蚁群优化算法的云环境下SBS资源配置方法。本发明将资源配置问题转换成以用户SLA为全局约束、以资源成本为优化目标的组合优化问题,进而基于蚁群优化算法实现面向全局约束的SBS初始资源配置,使得应用的资源配置在满足SLA约束的条件下最小化资源使用成本,从而提高服务提供商的收益。
本发明技术方案如下:
基于蚁群优化算法的云环境下SBS资源配置方法,包括以下步骤:
步骤1:获取SBS中各组件服务的候选资源配置集;
步骤1.1:SBS资源配置应用I由n个组件服务{S1,S2,...,Sn}组成,初始化组件服务编号i为1;
步骤1.2:采用聚类算法对组件服务Si在不同资源状态下的平均响应时间进行聚类,进而获得K个分类,即K个平均响应时间的区间;
步骤1.3:基于平均响应时间的K个分类,采用连续属性离散化方法将组件服务Si的各资源属性类型分配的资源数量分别划分为多个区间;
步骤1.4:遍历组件服务Si的所有资源属性类型及数量组合得到组件服务可能的资源属性类型及数量组合的集合,即组件服务Si的候选资源配置集RC=<z,R>,其中,z表示组件服务对应的虚拟机所在的物理机编号,R=(r1,r2,…,ru)表示资源属性向量,其中,u为资源属性类型总数,rα为资源属性类型α分配的资源数量,1≤α≤u;
步骤1.5:组件服务编号i加1,判断组件服务编号i是否超出组件服务数n,若是,则得到SBS中各组件服务的候选资源配置集,执行步骤2,否则,返回步骤1.2;
步骤2:获取任意资源属性向量与其组件服务平均响应时间之间的映射关系;
步骤3:构造SBS资源配置应用I的搜索图,搜索图中每一条路径表示一个可行解即组合资源配置,搜索图中每一个节点表示一个组件服务的候选资源配置;
搜索图表示为:G=(V,E),其中,顶点集:V={vs,vd}∪{vi,j|i∈[1,n],j∈[1,pi]},边集:E={<vi,j,vk,h>|(<Si,Sk>∈I)}∪{<vs,vi,j>|fin(vs)=0,}∪{<vi,j,vd>|fout(vd)=0,}其中,pi为组件服务Si的候选资源配置个数,节点vi,j、节点vk,h分别表示组件服务Si的第j个资源配置和组件服务Sk的第h个资源配置,i、k∈[1,n],j,h∈[1,pi],vk,h∈V vi,j∈V,vs和vd分别表示搜索图的起点和终点,fin(vi,j)和fout(vi,j)分别表示节点vi,j的入度和出度;
步骤4:利用蚁群优化算法获取SBS的最优组合资源配置;
步骤4.1:设定局部最优路径效用值为0,全局最优路径效用值设为0,循环迭代次数为0,蚂蚁编号m为1,组件服务编号i为1,初始化信息素,设定蚁群规模数和最大循环迭代次数;
步骤4.2:根据状态转移概率为蚂蚁m构造一个路径即组合资源配置CRCm,使其响应时间不超过SLA约定的最大平均相应时间,且组合资源配置CRCm不超出物理机的可用资源;
步骤4.2.1:蚂蚁m当前所在节点为搜索图的起点vs
步骤4.2.2:计算每一个节点对应的组件服务的候选资源配置的使用成本: C ( v i , j ) = &Sigma; &alpha; = 1 u c ( r &alpha; ) , 其中 c ( r &alpha; ) = c base &alpha; &times; c amount &alpha; &times; t , 表示rα的单位时间内单位资源的成本,表示rα的分配总量,t表示rα的使用时间;
步骤4.2.3:根据蚂蚁m的状态转移概率评价蚂蚁m待选节点的质量:
P ( v i , j , v k , h ) = &tau; f &omega; ( v i , j , v k , h ) &eta; &beta; ( v i , j , v k , h ) &Sigma; v x , y &Element; allowed m &tau; f &omega; ( v i , j , v k , h ) &eta; &beta; ( v i , j , v x , y ) , v k , h &Element; allowe d m 0 otherwise , 其中,P(vi,j,vk,h)表示位于节点vi,j的蚂蚁m选择节点vk,h为目标节点的概率,τf(vi,j,vk,h)为信息素,η(vi,j,vk,h)为启发式信息,即蚂蚁当前所搜索到的部分解和候选资源配置vk,h一起构成新的部分解P_CRC的效用值,即η(vi,j,vk,h)=U(P_CRC), U ( P _ CRC ) = C max ( I ) - C ( P _ CRC ) C max ( I ) - C min ( I ) , C max ( I ) = &Sigma; i = 1 n max &ForAll; j &Element; [ 1 , p i ] C ( v i , j ) , C min ( I ) = &Sigma; i = 1 n min &ForAll; j &Element; [ 1 , p i ] C ( v i , j ) , C ( P _ CRC ) = &Sigma; i = 1 n &Sigma; j = 1 p i q i , j C ( v i , j ) , ω和β分别表示信息素和启发式信息的相对重要程度,allowedm表示蚂蚁m所有可能的待访问节点,qi,j表示组件服务Si是否选择第j个候选资源配置,如果Si选择第j个候选资源配置,则qi,j=1,否则qi,j=0;
步骤4.2.4:根据蚂蚁m待选节点的质量择优选择下一个节点,即蚂蚁m选择状态转移概率大的节点作为下一个节点;
步骤4.2.5:重复步骤4.2.2-步骤4.2.4,直到蚂蚁m走到搜索图的终点vd,得到一个路径即组合资源配置CRCm
步骤4.2.6:判断组合资源配置CRCm的响应时间是否超过SLA约定的最大平均相应时间,或超出物理机的可用资源,若是,返回步骤4.2.1;
步骤4.3:根据各个组件服务资源配置的成本计算组合资源配置CRCm的效用值:
U ( CRC m ) = C max ( I ) - C ( CRC m ) C max ( I ) - C min ( I ) , 其中, C ( CRC m ) = &Sigma; i = 1 n &Sigma; j = 1 p i q i , j C ( v i , j ) ;
步骤4.4:判断组合资源配置CRCm是否大于局部最优路径效用值,若是,则将该组合资源配置CRCm作为局部最优路径,将该组合资源配置CRCm的效用值作为局部最优路径效用值,执行步骤4.5,否则,直接执行步骤4.5;
步骤4.5:蚂蚁编号m加1,判断m是否超出设定的蚁群规模数,若是,则执行步骤4.6,否则,返回步骤4.2;
步骤4.6:对局部最优路径进行局部搜索:将局部最优路径中组件服务Si对应的资源配置随机改为该组件服务Si中其它可行的资源配置,得到一个新路径NewPath,计算新路径NewPath的效用值,判断新路径NewPath的效用值是否大于局部最优路径效用值,若是,则将该新路径NewPath作为局部最优路径,新路径NewPath的效用值作为局部最优路径效用值,执行步骤4.7,否则,直接执行步骤4.7;
步骤4.7:组件服务编号i加1,判断组件服务编号i是超出到组件服务数n,若是,则执行步骤4.8,否则,返回步骤4.6;
步骤4.8:判断局部最优路径的效用值是否大于全局最优路径的效用值,若是,则将该局部最优路径作为全局最优路径,将该局部最优路径的效用值作为全局最优路径的效用值,执行步骤4.9,否则,直接执行4.9。
步骤4.9:更新信息素;: &tau; f ( v i , j , v k , h ) = [ &rho; &CenterDot; &tau; f ( v i , j , v k , h ) + &Delta; &tau; best ] &tau; min &tau; max , 其中,ρ表示信息素挥发系数,Δτbest表示信息素增量,τmax和τmin分别表示信息素上限和信息素下限;
步骤4.10:累计循环次数,判断循环迭代次数是否达到最大循环迭代次数或其他设定的循环结束条件,若是,则当前全局最优路径即为最优组合资源配置,否则,返回步骤4.2;
步骤5:根据全局最优路径对SBS进行资源配置。
本发明的有益效果:
本发明公开了一种基于蚁群优化算法的云环境下SBS资源配置方法,该方法的核心思想是根据资源使用状态和SBS描述为每个组件服务构造候选资源配置集,进而将SBS资源配置问题建模为以用户SLA为全局约束、以资源成本为优化目标的组合优化问题,最终通过蚁群优化算法求得该问题的近似最优的组合资源配置。本发明中的SBS资源配置方法能在配置满足SLA约束的条件下最小化资源使用成本,从而提高服务提供商的收益。当SBS资源配置问题的规模较大时,本发明提出的方法能够保证在较短时间内求得近似最优的组合资源配置。
附图说明
图1为本发明具体实施方式中SBS资源配置的资源分配示例图;
图2为本发明具体实施方式中基于蚁群优化算法的云环境下SBS资源配置方法的流程图。
具体实施方式
下面结合附图对本发明具体实施方式加以详细的说明。
云环境下SBS资源配置过程首先需要根据资源使用状态和SBS描述划分每个组件服务可能的资源配置以得到每个组件服务的候选资源配置集;进而建立资源与组件服务性能关系模型,利用组件服务性能关系模型估算组件服务在可能的资源状态下的性能。在上述工作的基础上,根据SLA约束,利用最优配置算法,从每个组件服务的候选资源配置集中选择一种资源配置方案,确定每个组件服务的资源配置量,使得应用的资源配置在满足SLA的条件下最小化资源使用成本。
本实施方式中选取4种常用资源类型:CPU、内存、带宽、磁盘I/O,以应用的平均响应时间作为SLA约束,服务提供商必须满足SLA约束,实际中有很多种影响组件服务平均响应时间的资源。
本实施方式中的实验硬件环境为:CPU:i5 M560 2.67GHz,RAM:6.0GB;软件环境:Windows 7 Ultimate,JDK 1.6.7,IDE Eclipse 3.6。
SBS资源配置的资源分配示例如图1所示,本具体实施方式中SBS资源配置应用I选取7个组件服务{S1,S2,...,S7}组成,其中组件服务{S1,S2,...,S7}为4类Web服务分别为:CPU密集型(S1,S2)、通信密集型(S3)、I/O密集型(S4,S5)和其他型(S6,S7),从而形成多样性的资源需求,VM为虚拟机,PM为物理机。Q=10s表示SLA约定的最大平均响应时间。
基于蚁群优化算法的云环境下SBS资源配置方法,如图2所示,包括以下步骤
步骤1:获取SBS中各组件服务的候选资源配置集。
步骤1.1:SBS资源配置应用I由7个组件服务{S1,S2,...,S7}组成,初始化组件服务编号i为1。
步骤1.2:采用聚类算法对组件服务Si在不同资源状态下的平均响应时间进行聚类,进而获得K个分类,即K个平均响应时间的区间。
步骤1.3:基于平均响应时间的K个分类,采用连续属性离散化方法将组件服务Si的各资源属性类型分配的资源数量分别划分为多个区间。
本实施方式中,组件服务Si的资源属性类型分配的资源数量采用求区间平均值的方法获得。
步骤1.4:遍历组件服务Si的所有资源属性类型及数量组合得到组件服务可能的资源属性类型及数量组合的集合,即组件服务Si的候选资源配置集RC=<z,R>,其中,z表示组件服务对应的虚拟机所在的物理机编号,本实施方式中,z的取值为10,R=(r1,r2,…,ru)表示资源属性向量,其中,u为资源属性类型总数,本实施方式中,u取值为4,rα为资源属性类型α分配的资源数量,1≤α≤4。
资源类型的多样性和资源数量取值的连续性导致不同资源组合会产生大量的资源向量,也就是组件服务的候选资源配置集过大,这将使得SBS资源配置问题的搜索空间过大进而降低搜索效率。为此,首先将组件服务的平均响应时间和资源数量划分为多个区间,在此基础上,遍历所有物理机计算可得组件服务的候选资源配置集。
步骤1.5:组件服务编号i加1,判断组件服务编号i是否超出组件服务数7,若是,则得到SBS中各组件服务的候选资源配置集,执行步骤2,否则,返回步骤1.2。
步骤2:获取任意资源属性向量与其组件服务平均响应时间之间的映射关系。
本实施方式中采用支持向量机算法训练组件服务的执行日志(其中记录了资源数量及相应的组件服务平均响应时间等信息),从而获取任意资源属性向量与其组件服务平均响应时间之间的映射关系。
步骤3:构造SBS资源配置应用I的搜索图,搜索图中每一条路径表示一个可行解即组合资源配置,搜索图中每一个节点表示一个组件服务的候选资源配置。
搜索图表示为:G=(V,E),其中,顶点集:V={vs,vd}∪{vi,j|i∈[1,7],j∈[1,pi]},边集:E={<vi,j,vk,h>|(<Si,Sk>∈I)}∪{<vs,vi,j>|fin(vs)=0,}∪{<vi,j,vd>|fout(vd)=0,}其中,pi为组件服务Si的候选资源配置个数,节点vi,j、节点vk,h分别表示组件服务Si的第j个资源配置和组件服务Sk的第h个资源配置,i、k∈[1,7],j,h∈[1,pi],vk,h∈V vi,j∈V,vs和vd分别表示搜索图的起点和终点,fin(vi,j)和fout(vi,j)分别表示节点vi,j的入度和出度。
步骤4:利用蚁群优化算法获取SBS的最优组合资源配置。
步骤4.1:设定局部最优路径效用值为0,全局最优路径效用值设为0,循环迭代次数为0,蚂蚁编号m为1,组件服务编号i为1,初始化信息素,设定蚁群规模数和最大循环迭代次数。
本实施方式中初始化的信息素为τf(vi,j,vk,h)为2,设定的蚁群规模数为50,最大循环迭代次数为500。
步骤4.2:根据状态转移概率为蚂蚁m构造一个路径即组合资源配置CRCm,使其响应时间不超过SLA约定的最大平均相应时间,且组合资源配置CRCm不超出物理机的可用资源。
步骤4.2.1:蚂蚁m当前所在节点为搜索图的起点vs
步骤4.2.2:计算每一个节点对应的组件服务的候选资源配置的使用成本: C ( v i , j ) = &Sigma; &alpha; = 1 u c ( r &alpha; ) , 其中 c ( r &alpha; ) = c base &alpha; &times; c amount &alpha; &times; t , 表示rα的单位时间内单位资源的成本,表示rα的分配总量,t表示rα的使用时间。
步骤4.2.3:根据蚂蚁m的状态转移概率评价蚂蚁m待选节点的质量:
P ( v i , j , v k , h ) = &tau; f &omega; ( v i , j , v k , h ) &eta; &beta; ( v i , j , v k , h ) &Sigma; v x , y &Element; allowed m &tau; f &omega; ( v i , j , v k , h ) &eta; &beta; ( v i , j , v x , y ) , v k , h &Element; allowe d m 0 otherwise , 其中,P(vi,j,vk,h)表示位于节点vi,j的蚂蚁m选择节点vk,h为目标节点的概率,τf(vi,j,vk,h)为信息素,η(vi,j,vk,h)为启发式信息,即蚂蚁当前所搜索到的部分解和候选资源配置vk,h一起构成新的部分解P_CRC的效用值,即η(vi,j,vk,h)=U(P_CRC), U ( P _ CRC ) = C max ( I ) - C ( P _ CRC ) C max ( I ) - C min ( I ) , C max ( I ) = &Sigma; i = 1 n max &ForAll; j &Element; [ 1 , p i ] C ( v i , j ) , C min ( I ) = &Sigma; i = 1 n min &ForAll; j &Element; [ 1 , p i ] C ( v i , j ) , C ( P _ CRC ) = &Sigma; i = 1 n &Sigma; j = 1 p i q i , j C ( v i , j ) , ω和β分别表示信息素和启发式信息的相对重要程度,allowedm表示蚂蚁m所有可能的待访问节点,qi,j表示组件服务Si是否选择第j个候选资源配置,如果Si选择第j个候选资源配置,则qi,j=1,否则qi,j=0。
本实施方式中,ω=0.5,β=2。
步骤4.2.4:根据蚂蚁m待选节点的质量择优选择下一个节点,即蚂蚁m选择状态转移概率大的节点作为下一个节点。
步骤4.2.5:重复步骤4.2.2-步骤4.2.4,直到蚂蚁m走到搜索图的终点vd,得到一个路径即组合资源配置CRCm
步骤4.2.6:判断组合资源配置CRCm的响应时间是否超过SLA约定的最大平均相应时间,或超出物理机的可用资源,若是,返回步骤4.2.1。
本实施方式中,组合资源配置的响应时间基于资源属性向量与其组件服务平均响应时间之间的映射关系和响应时间聚合方法计算。
步骤4.3:根据各个组件服务资源配置的成本计算组合资源配置CRCm的效用值: U ( CRC m ) = C max ( I ) - C ( CRC m ) C max ( I ) - C min ( I ) , 其中, C ( CRC m ) = &Sigma; i = 1 7 &Sigma; j = 1 p i q i , j C ( v i , j ) .
步骤4.4:判断组合资源配置CRCm是否大于局部最优路径效用值,若是,则将该组合资源配置CRCm作为局部最优路径,将该组合资源配置CRCm的效用值作为局部最优路径效用值,执行步骤4.5,否则,直接执行步骤4.5。
步骤4.5:蚂蚁编号m加1,判断m是否超出设定的蚁群规模数50,若是,则执行步骤4.6,否则,返回步骤4.2。
步骤4.6:对局部最优路径进行局部搜索:将局部最优路径中组件服务Si对应的资源配置随机改为该组件服务Si中其它可行的资源配置,得到一个新路径NewPath,计算新路径NewPath的效用值,判断新路径NewPath的效用值是否大于局部最优路径效用值,若是,则将该新路径NewPath作为局部最优路径,新路径NewPath的效用值作为局部最优路径效用值,执行步骤4.7,否则,直接执行步骤4.7。
步骤4.7:组件服务编号i加1,判断组件服务编号i是否超出组件服务数7,若是,则执行步骤4.8,否则,返回步骤4.6。
步骤4.8:判断局部最优路径的效用值是否大于全局最优路径的效用值,若是,则将该局部最优路径作为全局最优路径,将该局部最优路径的效用值作为全局最优路径的效用值,执行步骤4.9,否则,直接执行4.9。
步骤4.9:更新信息素: &tau; f ( v i , j , v k , h ) = [ &rho; &CenterDot; &tau; f ( v i , j , v k , h ) + &Delta; &tau; best ] &tau; min &tau; max , 其中,ρ表示信息素挥发系数,Δτbest表示信息素增量,τmax和τmin分别表示信息素上限和信息素下限。
本实施方式中,ρ=0.25,τmax=2.0和τmin=0.1。
步骤4.10:累计循环次数,判断循环迭代次数是否达到最大循环迭代次数或其他设定的循环结束条件,若是,则当前全局最优路径即为最优组合资源配置,否则,返回步骤4.2。
本实施方式中其他设定的循环结束条件为全局最优路径上的信息素为τmax,其余路径皆为τmin
步骤5:根据全局最优路径对SBS进行资源配置。

Claims (5)

1.基于蚁群优化算法的云环境下SBS资源配置方法,其特征在于,包括以下步骤:
步骤1:获取SBS中各组件服务的候选资源配置集;
步骤1.1:SBS资源配置应用I由n个组件服务{S1,S2,…,Sn}组成,初始化组件服务编号i为1;
步骤1.2:采用聚类算法对组件服务Si在不同资源状态下的平均响应时间进行聚类,进而获得K个分类,即K个平均响应时间的区间;
步骤1.3:基于平均响应时间的K个分类,采用连续属性离散化方法将组件服务Si的各资源属性类型分配的资源数量分别划分为多个区间;
步骤1.4:遍历组件服务Si的所有资源属性类型及数量组合得到组件服务可能的资源属性类型及数量组合的集合,即组件服务Si的候选资源配置集RC=<z,R>,其中,z表示组件服务对应的虚拟机所在的物理机编号,R=(r1,r2,…,ru)表示资源属性向量,其中,u为资源属性类型总数,rα为资源属性类型α分配的资源数量,1≤α≤u;
步骤1.5:组件服务编号i加1,判断组件服务编号i是否超出组件服务数n,若是,则得到SBS中各组件服务的候选资源配置集,执行步骤2,否则,返回步骤1.2;
步骤2:获取任意资源属性向量与其组件服务平均响应时间之间的映射关系;
步骤3:构造SBS资源配置应用I的搜索图,搜索图中每一条路径表示一个可行解即组合资源配置,搜索图中每一个节点表示一个组件服务的候选资源配置;
步骤4:利用蚁群优化算法获取SBS的最优组合资源配置;
步骤4.1:设定局部最优路经效用值为0,全局最优路经效用值设为0,循环迭代次数为0,蚂蚁编号m为1,组件服务编号i为1,初始化信息素,设定蚁群规模数和最大循环迭代次数;
步骤4.2:根据状态转移概率为蚂蚁m构造一个路径即组合资源配置CRCm,使其响应时间不超过SLA约定的最大平均相应时间,且组合资源配置CRCm不超出物理机的可用资源;
步骤4.3:根据各个组件服务资源配置的成本计算组合资源配置CRCm的效用值;
步骤4.4:判断组合资源配置CRCm是否大于局部最优路径效用值,若是,则将该组合资源配置CRCm作为局部最优路径,将该组合资源配置CRCm的效用值作为局部最优路径效用值,执行步骤4.5,否则,直接执行步骤4.5;
步骤4.5:蚂蚁编号m加1,判断m是否超出设定的蚁群规模数,若是,则执行步骤4.6,否则,返回步骤4.2;
步骤4.6:对局部最优路径进行局部搜索:将局部最优路径中组件服务Si对应的资源配置随机改为该组件服务Si中其它可行的资源配置,得到一个新路径NewPath,计算新路径NewPath的效用值,判断新路径NewPath的效用值是否大于局部最优路径效用值,若是,则将该新路径NewPath作为局部最优路径,新路径NewPath的效用值作为局部最优路径效用值,执行步骤4.7,否则,直接执行步骤4.7;
步骤4.7:组件服务编号i加1,判断组件服务编号i是否超出组件服务数n,若是,则执行步骤4.8,否则,返回步骤4.6;
步骤4.8:判断局部最优路径的效用值是否大于全局最优路径的效用值,若是,则将该局部最优路径作为全局最优路径,将该局部最优路径的效用值作为全局最优路径的效用值,执行步骤4.9,否则,直接执行4.9;
步骤4.9:更新信息素;
步骤4.10:累计循环次数,判断循环迭代次数是否达到最大循环迭代次数或其他设定的循环结束条件,若是,则当前全局最优路径即为最优组合资源配置,否则,返回步骤4.2;
步骤5:根据全局最优路径对SBS进行资源配置。
2.根据权利要求1所述的基于蚁群优化算法的云环境下SBS资源配置方法,其特征在于,所述的步骤3的搜索图表示为:G=(V,E),其中,顶点集:V={vs,vd}∪{vi,j|i∈[1,n],j∈[1,pi]},边集:E={<vi,j,vk,h>|(<Si,Sk>∈I)}∪{<vs,vi,j>|fin(vs)=0,}∪{<vi,j,vd>|fout(vd)=0,}其中,pi为组件服务Si的候选资源配置个数,节点vi,j、节点vk,h分别表示组件服务Si的第j个资源配置和组件服务Sk的第h个资源配置,i、k∈[1,n],j,h∈[1,pi],vk,h∈Vvi,j∈V,vs和vd分别表示搜索图的起点和终点,fin(vi,j)和fout(vi,j)分别表示节点vi,j的入度和出度。
3.根据权利要求1所述的基于蚁群优化算法的云环境下SBS资源配置方法,其特征在于,所述的步骤4.2包括以下步骤:
步骤4.2.1:蚂蚁m当前所在节点为搜索图的起点vs
步骤4.2.2:计算每一个节点对应的组件服务的候选资源配置的使用成本; C ( v i , j ) = &Sigma; &alpha; = 1 u c ( r &alpha; ) , 其中 c ( r &alpha; ) = c base &alpha; &times; c amount &alpha; &times; t , 表示rα的单位时间内单位资源的成本,表示rα的分配总量,t表示rα的使用时间;
步骤4.2.3:根据蚂蚁m的状态转移概率评价蚂蚁m待选节点的质量;
P ( v i , j , v k , h ) = &tau; f &omega; ( v i , j , v k , h ) &eta; &beta; ( v i , j , v k , h ) &Sigma; v x , y &Element; allowe d m &tau; f &omega; ( v i , j , v k , h ) &eta; &beta; ( v i , j , v x , y ) , v k , h &Element; allowe d m 0 otherwise , 其中,P(vi,j,vk,h)表示位于节点vi,j的蚂蚁m选择节点vk,h为目标节点的概率,τf(vi,j,vk,h)为信息素,η(vi,j,vk,h)为启发式信息,即蚂蚁当前所搜索到的部分解和候选资源配置vk,h一起构成新的部分解P_CRC的效用值,即η(vi,j,vk,h)=U(P_CRC), U ( P _ CRC ) = C max ( I ) - C ( P _ CRC ) C max ( I ) - C min ( I ) , C max ( I ) = &Sigma; i = 1 n max &ForAll; j &Element; [ 1 , p i ] C ( v i , j ) , C max ( I ) = &Sigma; i = 1 n max &ForAll; j &Element; [ 1 , p i ] C ( v i , j ) , C ( P _ CRC ) = &Sigma; i = 1 n &Sigma; j = 1 p i q i , j C ( v i , j ) , ω和β分别表示信息素和启发式信息的相对重要程度,allowedm表示蚂蚁m所有可能的待访问节点,qi,j表示组件服务Si是否选择第j个候选资源配置,如果Si选择第j个候选资源配置,则qi,j=1,否则qi,j=0;
步骤4.2.4:根据蚂蚁m待选节点的质量择优选择下一个节点,即蚂蚁m选择状态转移概率大的节点作为下一个节点;
步骤4.2.5:重复步骤4.2.2-步骤4.2.4,直到蚂蚁m走到搜索图的终点vd,得到一个路径即组合资源配置CRCm
步骤4.2.6:判断组合资源配置CRCm的响应时间是否超过SLA约定的最大平均相应时间,或超出物理机的可用资源,若是,返回步骤4.2.1。
4.根据权利要求1所述的基于蚁群优化算法的云环境下SBS资源配置方法,其特征在于,所述的组合资源配置CRCm的效用值:其中, C ( CRC m ) = &Sigma; i = 1 n &Sigma; j = 1 p i q i , j C ( v i , j ) .
5.根据权利要求1所述的基于蚁群优化算法的云环境下SBS资源配置方法,其特征在于,所述的更新信息素的方法具体为: 在全局最优路径上,其中,ρ表示信息素挥发系数,Δτbest表示信息素增量,τmax和τmin分别表示信息素上限和信息素下限。
CN201410606471.7A 2014-10-31 2014-10-31 基于蚁群优化算法的云环境下sbs资源配置方法 Active CN104360908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410606471.7A CN104360908B (zh) 2014-10-31 2014-10-31 基于蚁群优化算法的云环境下sbs资源配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410606471.7A CN104360908B (zh) 2014-10-31 2014-10-31 基于蚁群优化算法的云环境下sbs资源配置方法

Publications (2)

Publication Number Publication Date
CN104360908A true CN104360908A (zh) 2015-02-18
CN104360908B CN104360908B (zh) 2017-06-16

Family

ID=52528172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410606471.7A Active CN104360908B (zh) 2014-10-31 2014-10-31 基于蚁群优化算法的云环境下sbs资源配置方法

Country Status (1)

Country Link
CN (1) CN104360908B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260232A (zh) * 2015-11-06 2016-01-20 武汉纺织大学 一种实现云计算虚拟机内部资源优化配置的方法及系统
CN106161536A (zh) * 2015-04-10 2016-11-23 林建彪 蚁群克隆选择混合算法在云计算中资源调度的应用
CN106534265A (zh) * 2016-10-15 2017-03-22 黄林果 一种云服务资源的高效管理方法
CN106900064A (zh) * 2017-03-06 2017-06-27 西安电子科技大学 最小化压缩损失的lte下行资源调度方法
CN107911853A (zh) * 2017-10-18 2018-04-13 重庆邮电大学 一种基于蚁群算法的scma系统资源分配算法
CN109245949A (zh) * 2018-10-31 2019-01-18 新华三技术有限公司 一种信息处理方法及装置
CN109388476A (zh) * 2018-10-12 2019-02-26 西安交通大学 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法
CN109800085A (zh) * 2018-12-24 2019-05-24 东软集团股份有限公司 资源配置的检测方法、装置、存储介质和电子设备
CN110308965A (zh) * 2019-05-31 2019-10-08 中国科学院计算技术研究所 云数据中心的基于规则的启发式虚拟机分配方法及系统
CN110650032A (zh) * 2018-06-27 2020-01-03 复旦大学 一种构建多云环境下基于QoS的应用优化部署方案的方法
CN113296909A (zh) * 2021-05-14 2021-08-24 上海交通大学 移动边缘计算中的优化服务部署方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108173958A (zh) * 2018-01-05 2018-06-15 东华大学 一种多云环境下基于蚁群算法的数据优化存储方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119673A1 (en) * 2007-11-06 2009-05-07 Credit Suisse Securities (Usa) Llc Predicting and managing resource allocation according to service level agreements
CN103067524A (zh) * 2013-01-18 2013-04-24 浪潮电子信息产业股份有限公司 一种基于云计算环境的蚁群优化计算资源分配方法
CN104063261A (zh) * 2014-04-01 2014-09-24 杭州电子科技大学 一种基于云环境下的多目标优化虚拟机放置方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119673A1 (en) * 2007-11-06 2009-05-07 Credit Suisse Securities (Usa) Llc Predicting and managing resource allocation according to service level agreements
CN103067524A (zh) * 2013-01-18 2013-04-24 浪潮电子信息产业股份有限公司 一种基于云计算环境的蚁群优化计算资源分配方法
CN104063261A (zh) * 2014-04-01 2014-09-24 杭州电子科技大学 一种基于云环境下的多目标优化虚拟机放置方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAO X,DAI Y,ZHANG B ET AL: "Qos-Driven grid resource selection based on novel neural networks", 《INTERNATIONAL CONFERENCE ON GRID AND PERVASIVE COMPUTING》 *
代钰等: "云计算环境中应用动态资源分配方法", 《系统工程理论与实践》 *
马安香,张长胜,张斌,张晓红: "一种自适应蚁群分类算法", 《东北大学学报( 自然科学版)》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161536A (zh) * 2015-04-10 2016-11-23 林建彪 蚁群克隆选择混合算法在云计算中资源调度的应用
CN105260232B (zh) * 2015-11-06 2018-06-26 武汉纺织大学 一种实现云计算虚拟机内部资源优化配置的方法及系统
CN105260232A (zh) * 2015-11-06 2016-01-20 武汉纺织大学 一种实现云计算虚拟机内部资源优化配置的方法及系统
CN106534265A (zh) * 2016-10-15 2017-03-22 黄林果 一种云服务资源的高效管理方法
CN106900064A (zh) * 2017-03-06 2017-06-27 西安电子科技大学 最小化压缩损失的lte下行资源调度方法
CN107911853B (zh) * 2017-10-18 2021-05-18 重庆邮电大学 一种基于蚁群算法的scma系统资源分配算法
CN107911853A (zh) * 2017-10-18 2018-04-13 重庆邮电大学 一种基于蚁群算法的scma系统资源分配算法
CN110650032A (zh) * 2018-06-27 2020-01-03 复旦大学 一种构建多云环境下基于QoS的应用优化部署方案的方法
CN109388476A (zh) * 2018-10-12 2019-02-26 西安交通大学 基于多目标生物地理学优化算法的Docker与虚拟机聚合放置方法
CN109245949A (zh) * 2018-10-31 2019-01-18 新华三技术有限公司 一种信息处理方法及装置
CN109245949B (zh) * 2018-10-31 2022-03-01 新华三技术有限公司 一种信息处理方法及装置
CN109800085A (zh) * 2018-12-24 2019-05-24 东软集团股份有限公司 资源配置的检测方法、装置、存储介质和电子设备
CN109800085B (zh) * 2018-12-24 2021-01-29 东软集团股份有限公司 资源配置的检测方法、装置、存储介质和电子设备
CN110308965A (zh) * 2019-05-31 2019-10-08 中国科学院计算技术研究所 云数据中心的基于规则的启发式虚拟机分配方法及系统
CN110308965B (zh) * 2019-05-31 2021-09-24 中国科学院计算技术研究所 云数据中心的基于规则的启发式虚拟机分配方法及系统
CN113296909A (zh) * 2021-05-14 2021-08-24 上海交通大学 移动边缘计算中的优化服务部署方法
CN113296909B (zh) * 2021-05-14 2022-11-11 上海交通大学 移动边缘计算中的优化服务部署方法

Also Published As

Publication number Publication date
CN104360908B (zh) 2017-06-16

Similar Documents

Publication Publication Date Title
CN104360908A (zh) 基于蚁群优化算法的云环境下sbs资源配置方法
CN112153700B (zh) 一种网络切片资源管理方法及设备
CN105593823B (zh) 用于监测数据中心内的虚拟机vm之间的数据分组流的方法、系统和计算机可读存储介质
Nielsen et al. Finding the K shortest hyperpaths
Li et al. Cost-optimal cloud service placement under dynamic pricing schemes
CN106055395A (zh) 一种基于蚁群优化算法的云环境中截止时间约束工作流调度方法
WO2019024445A1 (zh) 地理分布交互服务云资源协同优化方法
CN103607459A (zh) 一种云计算平台IaaS层的动态资源监测及调度方法
Takefusa et al. An advance reservation-based co-allocation algorithm for distributed computers and network bandwidth on QoS-guaranteed grids
EP2544135A1 (en) A system and methods for modeling and analyzing quality of service characteristics of federated cloud services in an open eco-system
Tran et al. Virtual machine migration policy for multi-tier application in cloud computing based on Q-learning algorithm
CN101360064A (zh) 一种实现网络资源选择的方法和装置
CN108063784A (zh) 一种云环境下应用集群资源分配的方法、装置和系统
Lučanin et al. Pervasive cloud controller for geotemporal inputs
CN109714423A (zh) 一种OpenStack部署方法、装置、设备及介质
CN106502790A (zh) 一种基于数据分布的任务分配优化方法
Mazidi et al. An autonomic decision tree‐based and deadline‐constraint resource provisioning in cloud applications
Anwit et al. Scheme for tour planning of mobile sink in wireless sensor networks
Zhang et al. A Novel Ant Colony Optimization Algorithm for Large Scale QoS‐Based Service Selection Problem
CN115169634A (zh) 一种任务分配优化处理方法及装置
Luo et al. Distributed data mining in grid computing environments
Yaqub et al. Metaheuristics-based planning and optimization for sla-aware resource management in paas clouds
US10248922B1 (en) Managing network paths within a network of inventory spaces
Araújo et al. Cmfog: Proactive content migration using Markov chain and madm in fog computing
Choo et al. Reliable vehicle selection algorithm with dynamic mobility of vehicle in vehicular cloud system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant