杨清
云南工商学院 云南省昆明市 651700
摘要:云数据中心的规模日益增长导致其产生的能源消耗及成本呈指数级增长。虚拟机的放置是提高云计算环境服务质量与节约成本的核心。针对传统的虚拟机放置算法存在考虑目标单一化和多目标优化难以找到最优解的问题,提出一种面向能耗、资源利用率、负载均衡的多目标优化虚拟机放置模型。通过改进蚁群算法求解优化模型,利用其信息素正反馈机制和启发式搜索寻找最优解。实验结果表明,该算法综合性能表现良好,符合云环境对高效率低能耗的要求。
关键词:云计算;能耗;虚拟机放置;多目标;蚁群算法
1虚拟机放置优化模型
在大型云数据中心中,虚拟机的放置影响着数据中心的综合性能。虚拟机放置问题是指在满足能耗、服务质量、迁移成本等约束条件的基础上,将m台虚拟机放入n台物理主机中并满足云数据中心高效率、低能耗的要求。在部署虚拟机的过程中,将虚拟机迁移到不同的目的物理主机的迁移成本也不同,对云环境整体的影响也不相同。所以在构建虚拟机放置系统模型时要综合考虑影响。
在构建虚拟机放置系统模型时,降低能耗是虚拟机放置的首要目标。与内存和网络带宽等系统资源相比,CPU又占据了其中绝大部分的能源消耗,因此物理主机的能耗只考虑CPU的能耗。研究表明物理主机的CPU利用率和其产生的能耗存在着线性关系。根据式(1)量化物理主机j的能耗。为了统一优化目标衡量准则,根据式(2)设置能耗归一化函数将物理主机总能耗归一化。
式中:Pfull表示物理主机j满负载时的能耗;Pfree表示物理主机j空负载时的能耗;Uj表示物理主机j的CPU利用率;Pmaxj表示物理主机j的最大CPU利用率。
在虚拟机放置过程中还需要考虑云数据中心整体的负载均衡度。负载均衡是指云环境下各物理机之间的工作负载彼此均衡,不会频繁出现某些物理主机的超载或低载,通过降低虚拟机迁移次数来减少迁移代价从而节约能耗,提高云数据中心服务质量。根据各个物理主机的CPU与内存等资源利用率设置负载均衡因子衡量负载均衡度,并将负载均衡因子归一化方便作为约束函数。定义负载均衡因子如下:
式中:R代表物理主机上的各类资源;负载均衡因子N与云数据中心的负载均衡度成反比;URavg为资源R的平均资源利用率。资源利用率对云数据中心的能耗及成本也会有影响,通过提高整体的资源利用率来降低云数据中心中活跃物理主机的数量,有效地节约成本。因此在虚拟机放置策略中保证物理主机的资源利用率是十分必要的。在搜索过程中趋向寻找资源利用率较高的物理主机。根据每台物理主机CPU、内存、带宽的资源利用率可求得物理主机的平均资源利用率UJ.
式中:Ucpuj、Umemj、Ubwj分别表示物理主机j的CPU、内存和网络带宽的资源利用率;k1、k2、k3分别为每类资源所占权重。
根据以上三种优化目标可以得到如下虚拟机放置优化模型:
虚拟机放置优化模型的约束条件为:
其中:MaxValue、MinValue为各类资源的上下限阈值;VRi、SRj分别是虚拟机i、物理主机j的各种资源R的利用率。目标函数分别为负载均衡因子最小化、能源消耗最小化以及资源利用率最大化。如何根据优化目标为虚拟机寻找最优的放置位置,是虚拟机放置中的关键问题。本文采用基于多目标优化的蚁群算法综合考虑以上三种优化目标,在满足约束条件的前提下,将每个待迁移虚拟机迁移至合适的目的主机。
2基于多目标优化的蚁群算法
2.1基于蚁群算法的虚拟机放置策略蚁群算法属于进化算法,在寻找解集的过程中强化学习能力。蚁群算法已经被广泛应用于旅行商问题、网络路由问题、车辆路由问题等组合优化问题。而虚拟机的放置就属于物理主机与虚拟机的组合优化问题。
在虚拟机放置策略上,虚拟机放置问题的可行解为蚂蚁的选择路径,解空间为蚁群搜索的全路径。根据虚拟机放置系统模型,利用蚁群算法进行随机搜索,通过迭代寻找最优解。蚂蚁在搜索过程中释放信息素并趋向寻找资源利用率较高的物理主机,通过嗅探解空间中所有路径上的信息素与目标物理主机的资源利用率来选择搜索路径,体现出蚁群在搜索过程中利用其对信息素的正反馈能力来进行学习强化。搜索路径的选择由每个物理主机被选中的概率即状态转移概率决定,根据期望启发式因子β与信息启发式因子得到状态转移概率,根据状态转移概率利用轮盘赌算法获取被选择的物理主机。为防止过早陷入局部最优解,设置信息素消散速率ρ,可以有效控制信息素增长速率。每次搜索确定一组虚拟机与物理主机的匹配解集并更新该条路径上的信息素。之后根据每一步的状态转移概率继续搜索,一次搜索循环结束,根据量化公式计算负载均衡因子和能耗,由此更新全局信息素,完成一轮搜索得到初始解集。根据信息素进行迭代循环至m轮,不断更新解集,循环结束得到虚拟机与物理机的匹配解集Q即是最优解。
2.2算法实现
首先初始化云数据中心,包括物理主机列表S和待迁移虚拟机列表V。初始化蚁群数量m,m越大,迭代次数越多,可以更准确地获取最优解。但是算法的收敛速度会随着迭代过程不断减缓,正反馈机制也会降低,m过大就会产生大量冗余迭代,会提高算法的时间复杂度,资源浪费严重。
虚拟机列表作为蚁群对每个物理主机进行搜索。根据资源约束条件得到可装入当前虚拟机的物理主机列表,根据式(5)计算虚拟机Vi对放入当前物理主机Sj的期望程度。根据式(6)由期望程度与信息素计算物理机Sj被当前虚拟机Vi选择的概率。
式中:Pmemj、Pcpuj、Pbwj分别表示内存CPU和网络带宽的资源利用率;τij为虚拟机i到物理主机j释放的信息素增量。式(5)表示虚拟机对迁移到资源利用率高的物理主机的期望值较大,因为云数据中心整体资源率越高,则需要开启的物理主机越少,可以有效地节省成本。式(6)表明状态转移概率与信息素和期望成正比,信息素与期望越高的路径更容易被选择,符合蚁群算法中的正反馈机制。式(7)根据能耗与负载均衡因子计算路径上的信息素增量。式(8)根据信息素消散速率更新全路径信息素。完成一次搜索迭代后复原云数据中心,进行下一轮迭代。每一次迭代根据式(2)-式(4)计算目标函数并记录。
式(7)表示信息素增量与负载均衡因子和能耗成反比。负载均衡因子与能耗越小,表明该条路径越趋近于最优解,所以信息素增量更多,后续被选择的概率越大,符合蚁群算法启发式搜索的特性。信息素浓度的消散因子ρ越小,信息素消散的速率越低,虚拟机i到物理主机j上的路径上剩余堆积的信息素越多,会导致在搜索过程中会有较多无效路径在每次迭代中被搜索到。ρ过大,则在排除无效路径的同时,部分有效路径也存在着一定的概率被放弃搜索,影响搜索最优解的准确率。
3实验结果
由于目标系统是IaaS(基础设施即服务)且需要在大型数据中心进行相关实验,实验难度及实验成本非常高,为了简化实验和节约成本,本文通过在Cloud-sim上仿真云计算环境来测试ACA-VMP算法的性能。Cloudsim是一款云计算环境的仿真软件,可以模拟云环境中的各种资源并能提供实时任务运行于虚拟机上,有助于测试不同的算法并评估算法性能。ACA-VMP算法确实可以有效地降低云数据中心的总体能耗,提高负载均衡度,提高物理主机的资源利用率,能够在服务质量和能耗之间找到一个较好的平衡点,综合性能表现最佳。因此,本文算法符合高效率和低能耗的要求。
4结束语
本文提出ACA-VMP算法实现云环境中虚拟机的放置整合策略。实验结果表明,本文提出的虚拟机放置策略在云数据中心负载均衡、降低能耗、提高资源利用率等方面得到了较好的结果。
参考文献:
[1]周斌,张莹.虚拟化技术性能分析与比较[J].现代计算机(专业版),2009(5):126-129.
[2]朱占磊,李征,赵瑞莲.基于线性权重最优支配的高维多目标优化算法[J].计算机应用,2017,37(10):2023-2827.