高 杨,马贺男,刘晓菲
(1. 中国刑事警察学院公安信息技术与情报学院,辽宁 沈阳 110034;2. 沈阳航空航天大学,辽宁 沈阳 110136)
云计算为并行计算、分布式计算、虚拟化等技术的演变,作为一种全新的商业计算模型,可以把大量的软件资源、存储资源汇集在一起,给用户提供了更为方便与安全的网络服务[1-2]。但云平台集群规模较大,集群节点之间存在一定的差异性,在此背景下,用户的服务请求各不相同,资源类别的科学划分和云计算虚拟资源的高效率分配成为云计算领域研究的重点课题[3]。
相关学者从不同角度,就上述内容给出如下解决方案:倪思源[4]等把不同类别的资源拟作不同维度矢量,利用计算装箱问题达到负载均衡,给各虚拟机设置驻留时长,轮换计算服务器负载情况,实现资源分配工作。王镇道[5]等构建涵盖时间、功耗和负载均衡的适应度函数,运用混沌优化生成初始化粒子,代入高斯变异更新胜利粒子方位,找出最优资源分配模式。但上述方法在处理海量云计算虚拟资源分配时无法达到预期效果,且对外部环境影响因素考虑较为单一,导致资源分配极易产生偏差。
为此,本文提出一种云计算虚拟资源差分进化分配方法。构建云计算虚拟资源分配模型,引入差分进化算法进行全局最优搜索,并在仿真实验中也进一步验证了方法的可行性,获得科学合理的虚拟资源分配方案。
用户向云服务中心递交服务请求时,资源分配中心会把描述的服务请求变换成云任务需求[6-7],为资源任务类型的准确分类,从分配能耗与时间两方面入手,通过动态能量感知技术构建云计算虚拟资源分配模型。
考虑动态能量损耗[8],资源分配问题被定义成:存在相同类型资源分配需求(涵盖带宽分配需求、可信度分配需求等)的n个不具备相互关联的独立资源A={a1,a2,…,an}和满足上述资源分配需求对应服务器内m个分配资源B={b1,b2,…,bm}。虚拟资源分配任务要同时符合最短时间跨度和最小能耗总值条件,这样能在提高资源分配速率的同时,减少资源分配运行成本。
在虚拟映射原则下,考虑服务器电路能耗,通过调节服务器电压与分配频率来降低全局能耗[9]。服务器电压与分配频率增大的情况下,能耗会慢慢降低。K={kj,1 全部资源分配最短时间跨度Tmin的运算解析式为 Tmin=Cj-Di (1) 式中,Cj代表资源实现调度的总时长,Di代表实现资源分配的总时长。 资源分配的空闲分配时间Tfree的运算解析式为 Tfree=Tmin-Di (2) 计算时,若以最短时间跨度Tmin实现服务器虚拟资源分配,则Tfree值等于0。将全部资源分配生成的能耗总值G表示为 (3) 式中,Gi代表分配资源时耗损的动态能量。 考虑到资源分配时间和资源分配能量具有一定的内在关联,为了方便研究资源分配时序规律,引入能量消耗时间变换因子,把实现资源分配需要的能量值均变换为时间参数[10],将能量消耗时间变换因子定义为 c=[c1,c2,…ci] (4) 式中,ci代表实现资源分配时能量消耗和时间之间的变换因子。 由此,将实现资源分配产生能量消耗变换的时间向量GAi与资源分配时间矩阵GAL分别定义成 GAi=ci×Gi (5) GAL=[GAL[i,j]]n×m (6) 式中,GAL[i,j]代表实现资源分配需要的执行时间。 云计算虚拟资源分配模型的关键是处理云计算资源分配过程中的工作负载问题。使用二元组H={A,B}描述云计算资源分配模型,并将资源分配模型表示成图1。 图1 云计算虚拟资源分配模型示意图 差分进化算法作为一种种群进化优化方法[11],具有稳定性与实用性特点,涵盖三个基础步骤:变异操作、交叉操作与选择操作,在诸多领域得到了大量应用。本文将差分进化算法引入云计算虚拟资源分配模型,运用其强大的搜索能力,找出最符合当下环境的虚拟资源分配策略,完成资源合理调度。 (7) 使用式(7)的选择操作判断个体最优解,利用变异概率自主调节完善差分进化算法性能,运算步骤为: 第一,染色体编码。融合云计算虚拟资源分配特征,运用资源-任务的间接编码模式[14],用户虚拟任务总值为染色体长度,基因代表虚拟任务,基因位的位值表示虚拟任务被分配至对应资源编码。假设pi是任务编码,uj是资源编码,则相应的染色体解码为p1:{u1},p2:{u2},…,pn:{un}。由此看出,每条染色体均对应一种资源分配方案。 第二,初始化最高迭代数量、迭代终止条件、种群规模等参数,并设置云计算虚拟机适应度函数[15]。倘若在第l台虚拟机上分配了v个任务,那么第l台虚拟机实现任务分配的迭代周期为 (8) 第三,种群评估,推算全部个体适应度,分析每个个体的优劣水平,保存当代种群的最优个体。将虚拟资源集合的负载均值LB与负载均衡标准差LCT依次记作: (9) (10) 式中,o代表虚拟机个数。 将个体适应度函数进一步表示成 (11) 式中,Qb代表全部虚拟资源分配的迭代周期。 第四,评估是否满足迭代终止条件,若不满足则使用轮盘赌选择策略挑选优良个体,并把优质基因传递至下一代,采取精英保存措施[16],防止优良个体在进化过程中丢失。 第五,多点交叉操作当前种群个体,更改基因排列模式,产生全新个体,保证种群多样化。交叉操作计算过程为: (12) 式中,rand[0,1]代表[0,1]区间内挑选的随机值,CR代表[0,1]区间中的常数,命名为交叉因子,CR值越高,交叉概率越高,j_rand代表在[0,1]区间内随机挑选的整数。 第六,随机择取若干个体,依照变异概率自主调节进行变异操作。变异概率可自主调整临界值,任意挑选个体基因实施小范围变异。 随机迭代过程自主调节的变异概率Ro为 (13) 式中,g代表自主调节时间。 第七,评估种群状态,推算全部个体的适应度值,找出最优个体,如果新个体适应度高于原始最优个体适应度,则用新个体替换旧个体。 第八,确认是否满足循环终止条件,若满足就输出最终结果,反之跳转至第四步继续计算,直至搜索到最优云计算虚拟资源分配方法为止。 为证明本文方法的实用性,对其进行仿真实验,把文献[4]轮换策略法与文献[5]竞争粒子群算法拟作对比目标,实验所用数据来自data.gov数据库(http:∥www.data.gov/),实验仿真平台为MATLAB 7.0。通过更改任务参数值检验不同计算任务数量下不同方法的性能,创建2个实验模式: 1)使用Sphere测试函数分析方法的寻优性能。 2)通过负载均衡、执行能耗等指标验证三种方法在虚拟资源分配方面的可靠性。 Sphere测试函数下三种方法云计算虚拟资源分配寻优运行结果如图2所示。 图2 三种方法寻优收敛曲线图 观察图2结果可知,本文方法仅需迭代35次即可完成寻优,轮换策略法和竞争粒子群算法分别在83、112次完成寻优。由此证明,本文方法在迭代周期内展现出了良好运算性能,目标函数曲线下降速率快,寻优正确率高,进一步避免方法陷入局部最优,由此可以从侧面反映出本文方法的云计算虚拟资源分配效率更高。 一个好的资源分配方法需要使用更少的服务器完成对应的任务调度工作,节省云计算服务运行成本。设定某云计算平台包含50台物理服务器,需要创建的虚拟主机总数为120,验证不同方法下服务器个数伴随虚拟主机数量增多的变化情况,实验结果如图3所示。 图3 服务器伴随虚拟主机数量的变化趋势 由图3可以看出,伴随需要创建的虚拟主机个数的增多,三种方法使用的服务器数量均呈现出上升趋势,相较于轮换策略法与竞争粒子群算法,本文方法在同样实验环境下,需要投入使用的物理服务器数量最少,说明其能够最大程度上节省投资开销,降低资源分配成本。原因在于该方法充分考虑资源分配时间和资源分配能量具有一定的内在关联,引入能量消耗时间变换因子,将实现资源分配需要的能量值均变换为时间参数,降低能耗,使资源分配成本得到降低。 以负载均衡标准差作为衡量标准,标准差越小,证明云计算虚拟资源分配处理能力越好,方法的灵活性与鲁棒性越强。设定虚拟机为100台,任务数以50个为基础叠加,实验对比结果如图4所示。 图4 三种方法资源分配负载均衡情况对比 由图4可以看出,虚拟机数量一定时,本文方法在负载均衡方面得到较优的运算结果。伴随任务数量不断上升,本文方法负载均衡标准差保持在10以内,轮换策略法与竞争粒子群算法的负载均衡标准差均高于本文方法。 设定待分配虚拟资源数量为700,在相同虚拟主机个数下,三种方法资源分配时间与能耗的实验结果如图5、6所示。 图5 不同任务数量下资源分配时间对比 从图5看出,计算资源不变的状态下,任务数量较少时,三种方法资源分配耗时差距较小,但随着任务个数的增多,资源分配复杂度逐步提升,两个文献方法需要消耗大量时间完成资源分配任务,本文方法优势越发显著,仍旧能以较短时间实现用户预期服务请求。这是由于本文方法采用差分进化算法中变异与选择等操作,实现高精度全局搜索寻优,自适应获取最合理的资源分配策略,大幅缩减分配耗时。 从图6看出,本文方法的资源分配能耗控制水平远远高于两个文献方法,相同虚拟主机下具备更少能耗,能耗增幅比较为平缓,拥有更好的节能性,可以最大限度延长云平台数据中心服务器寿命。 图6 不同任务数量下资源分配能耗对比 综合实验结果能得到以下结论:本文方法在任务数量庞大、复杂度高的环境下依旧具备极强的资源分配能力。 为探究怎样在确保计算性能的基础上减少云计算数据中心能耗这一问题,提出一种云计算虚拟资源差分进化分配方法。差分进化算法具备优秀的全局搜索能力,能很好地应用于云计算虚拟资源分配中。使用动态能量感知技术创建云计算虚拟资源分配模型,确定虚拟资源类型,通过选择、变异、交叉三种操作得到资源分配策略。在仿真实验中,利用不同验证指标验证了该方法的有效性。在今后工作中会深入考虑服务器开关机代价等更复杂的因素,提升方法适用性,为增强云计算服务水平提供参考借鉴。3 云计算虚拟资源分配实现
4 仿真实验
4.1 资源分配方法寻优测验
4.2 资源分配性能测验
5 结论