时间:2024-05-04
郭曙杰,李志华,蔺凯青
(江南大学物联网工程学院,江苏无锡214122)
(∗通信作者电子邮箱jswxzhili@jiangnan.edu.cn)
近年来,由于云计算技术的持续发展,以及随需而变的资源共享机制和安全可靠、成本低廉的租赁方式,云计算已被确立为信息技术产业中占主导地位的计算模式[1]。云服务提供商使用虚拟化技术为用户提供计算资源;同时,用户与云服务提供商签订服务级别协议(Service Level Agreements,SLA)以保证用户对服务质量(Quality of Service,QoS)的需求。然而随着数据中心规模的不断增大,云数据中心的高能耗、低资源利用率的矛盾已成为了学术界、产业界不可忽视的问题。研究表明,云数据中心的综合资源利用率仅在10%左右,且大部分物理主机处于空闲状态,而处于空闲状态下的物理主机能耗仅为其满负荷状态的70%[2]。显然,为了提高资源利用率、降低能耗,在不违反SLA的前提下,通过虚拟机在线迁移技术可以改变虚拟机与物理主机之间的部署关系,关闭那些低使用率的活动物理主机,从而在保障服务质量的同时降低云数据中心能耗、改善资源利用率。因此,制定一个合理的虚拟机放置方案是目前学术界聚焦的问题。
传统的虚拟机放置问题与装箱问题类似,即如何将n台虚拟机部署在m台活动物理主机上,从而起到最小化物理主机数量的作用。但是虚拟机放置还需要同时考虑虚拟机受物理主机在CPU、内存、带宽等资源方面的约束以及数据中心的服务质量。已有研究者将传统的装箱问题算法应用于求解虚拟机放置优化方案中。文献[3]提出了基于能耗感知的最适下降(Power Aware Best Fit Decreasing,PABFD)算法,PABFD算法总是将当前状态下能耗最低的物理主机作为虚拟机放置的目标主机,有效降低了数据中心的能耗,但是这种基于贪婪选择的策略仅局限于对能耗的优化,忽略了对数据中心服务质量下降影响的考虑。文献[4]根据虚拟机与主机的历史资源利用率,提出了一种资源利用率预测感知的最适降序(Utilization Prediction Aware Best Fit Decreasing,UPBFD)算法来对虚拟机进行放置,但是UPBFD算法忽略了虚拟机迁移对数据中心服务质量的影响。可见,传统的启发式算法[3-4]往往只针对单一的目标进行优化,因此文献[5-7]将虚拟机放置问题描述为多目标组合优化问题,并使用仿生智能算法对问题进行求解。在文献[5]中提出了一种基于蚁群系统的虚拟机放置方法,同时优化3个目标包括降低能耗、最小化虚拟机迁移次数,以及避免违反SLA,但是算法没有考虑各类资源之间的负载均衡;文献[6]中以最大化资源利用率、最小化活动物理主机数量为优化目标,提出了一种基于改进遗传算法的虚拟机放置模型,该算法改变了遗传算法的编码方式,并通过交叉、变异方式避免了算法陷入局部最优;文献[7]通过对粒子群优化算法进行改进,提出了一种新的资源感知的局部适应度策略,以提高粒子位置更新时的效率,提高了虚拟机放置的时间效率,但是算法仅考虑了对能耗和资源利用率的优化。
针对已有研究工作中存在的不足,本文提出了一种基于模糊聚类思想的虚拟机放置方案和相应的基于模糊隶属度的虚拟机放置(Fuzzy Membership Degree based Virtual Machine Placement,FMD-VMP)算法,其目的是通过优化虚拟机与物理主机之间的映射关系来提高数据中心资源利用率,降低数据中心能耗,减小各类物理资源的违背率以保证数据中心的服务质量。
为了解决传统距离和相似度度量方式无法准确衡量虚拟机与物理主机之间关系的问题,FMD-VMP算法首先对原始模糊聚类算法中距离度量方式进行了重新定义,将虚拟机部署到主机上的过载概率估计与虚拟机和主机间的资源匹配度相结合,作为全新的距离度量标准;然后,结合提出的距离度量方法和模糊聚类思想,定义了新的模糊隶属度函数,从而通过计算虚拟机与物理主机之间的模糊隶属度矩阵得到相应的映射关系,又称虚拟机放置方案;最后,为了进一步降低数据中心能耗,使用能耗感知的方式对模糊隶属度矩阵进行局部搜索来优化虚拟机放置结果。
在云数据中心中,虚拟机的资源请求是不确定的,虚拟机放置的目的是找到一组合适的物理主机来部署待迁移虚拟机,另外不同的物理主机之间存在不同的资源配置,并且由于负载的不确定性等因素,每台物理主机的剩余资源也是不确定的。另一方面,传统的模糊聚类算法使用欧氏距离作为样本间的相异性度量方式[8],而传统聚类算法的距离度量方式不适用于虚拟机资源之间的相似性或相异性度量,针对这一问题,首先提出一种基于负载匹配度和过载风险的距离度量模型。
1.2.1 资源匹配度估算
物理主机各类资源负载均衡有助于提高数据中心资源利用率,而物理主机的实际资源负载取决于当前部署在该主机上的所有虚拟机对各类资源请求的总和,因此为了平衡负载,应当同时考虑待放置虚拟机的资源需求量和物理主机的剩余资源容量之间的匹配关系,即将待迁移虚拟机部署到与剩余资源匹配度最高的物理主机之上。为此,本文使用皮尔逊相关系数(Pearson correlation coefficient)[9]来对虚拟机请求资源和物理主机剩余资源的匹配度进行衡量。
虚拟机v j请求资源的标准差σvj和主机p i剩余资源的标准差σpi可分别通过式(2)和式(3)计算,虚拟机v j请求资源和主机p i剩余资源的协方差cov(v j,p i)可通过式(4)来计算,则虚拟机v j请求资源与主机p i剩余资源的皮尔逊相关系数ρ(v j,p i)计算如式(5)所示。
其中:vˉj为虚拟机v j的请求资源平均值,Rˉi为物理主机p i的剩余资源平均值。由于相关系数ρ(v j,p i)的取值范围为[-1,1],因此虚拟机请求资源和物理主机剩余资源的匹配度MatchDegree可通过式(6)计算:
将其范围约束在[0,1]中。
1.2.2 过载风险估计
式(9)中的Φ(x)表示正态分布函数。
进一步,根据1.2.1节提出的资源匹配度估算方法和1.2.2节提出的过载风险估计函数,本文提出虚拟机v l与物理主机p i之间的资源相适应性度量的距离,表示成Distance(v l,p i),由式(10)计算:
模糊C-均值(Fuzzy C-Means,FCM)聚类算法将模糊数学理论应用于样本的聚类计算中,使用模糊逻辑重新定义了样本到聚类簇之间的隶属关系。将样本与聚类簇之间的相关程度,称为隶属度。隶属度的取值在[0,1]中,隶属度越接近于1,表示该样本属于该聚类簇的程度越高,隶属度越接近于0,则表示该样本属于该聚类簇的程度越低。隶属度函数是用于计算样本与聚类簇之间隶属度的函数。在FCM算法中,样本与聚类簇的模糊关系通常通过计算隶属度矩阵得到了定量的分析。受此启发,本节借助模糊隶属度的思想研究虚拟机与物理主机之间的映射关系。
在云数据中心,可将n台虚拟机作为样本点,m个物理主机作为聚类中心,根据1.2节定义的资源相适度度量模型计算虚拟机放置到物理主机的适应性,并通过模糊隶属度函数upi(v j)计算虚拟机v j隶属于物理主机p i的程度。u p i(v j)计算如式(11)所示:
其中s为加权指数用于改变算法的模糊程度,其取值范围一般为[1.5,2.5],本文设置为s=2。
概括上述步骤,在此提出模糊隶属度矩阵生成(Fuzzy-Membership-Matrix Generation,FMMG)算法,如算法 1所描述。
算法1 模糊隶属度矩阵生成(FMMG)算法。
在FMMG算法中,首先循环遍历待放置的虚拟机以及目标物理主机,计算每台虚拟机到各台物理主机之间的相适度距离;然后根据式(11)得出每台虚拟机与每台物理主机之间的隶属度;最后将输出一个虚拟机与物理主机之间的映射矩阵,即待放置虚拟机与物理主机之间的隶属度矩阵,使用U表示成式(12)所示:
通过算法1产生了虚拟机与物理主机之间的模糊隶属度矩阵,对于虚拟机放置而言,只是得到了一个虚拟机放置的可行且可能的放置方案。虽然通过这种方式能比较好地改善虚拟机放置过程中的资源利用率,但是在虚拟机放置过程中既要考虑资源利用率,还必须考虑能耗因素,为此在本节中进一步提出基于能耗感知的局部搜索放置(Energy-Consumption-Aware-based Local Search Placement,ECA-LSP)算法,如算法2所示。
算法2描述了基于能耗感知的局部搜索放置算法,主要目的是为待迁移虚拟机最终选择出最佳的目的主机。首先使用匹配度参数w对虚拟机v j和物理主机p i的隶属度u p i(v j)进行判断,w的值设置为0.5。若u p i(v j)>w,则将物理主机p i作为待迁移虚拟机v j的候选目标主机,这样得到一个候选目标主机集合;然后计算虚拟机v j放置到每台候选主机上的能耗情况,选择部署虚拟机v j后能耗最低的物理主机作为v j的目标物理主机。若不存在u p i(v j)>w的情况,则将待迁移虚拟机v j部署在模糊隶属度最高的物理主机上。
FMD-VMP由FMMG算法和ECA-LSP算法两部分构成。如图1所示,FMMG算法的目标是利用本文提出的模糊隶属度函数来计算待迁移虚拟机到目标物理主机之间的模糊隶属度,从而得到相应的模糊隶属度矩阵。模糊隶属度值越大,则说明该虚拟机越适合放置在该目标物理主机上。为了进一步说明不同虚拟机与物理主机之间的隶属度关系,表1随机选取了实验过程中10台待迁移虚拟机和5台目标物理主机之间的模糊隶属度值。
图1 生成模糊隶属度矩阵Fig.1 Generation of fuzzy membership matrix
表1 虚拟机与物理主机隶属度值Tab.1 Membership values between virtual machines and physical hosts
从表1中可以看出,不同虚拟机与不同物理主机之间的模糊隶属度差异较大,其中,虚拟机VM4与物理主机Host1之间的模糊隶属度值最大,为0.867 9;而与物理主机Host2之间的模糊隶属度仅为0.107 2。这说明虚拟机VM4更倾向于放置在Host1。同时结合ECA-LSP算法可知,当虚拟机与物理主机之间的隶属度值大于匹配参数w(w=0.5)时,则该物理主机被存入候选物理主机集合。VM4与物理主机Host3的模糊隶属度值为0.7379,因此物理主机Host1与Host3均为虚拟机VM4的候选物理主机。通过ECA-LSP算法中能耗感知的方式,将虚拟机VM4放置到候选物理主机集合中能耗最低的物理主机上。
因此FMMG算法能够有效生成模糊隶属度矩阵,从而使得ECA-LSP算法能够通过相应的模糊隶属度矩阵将虚拟机放置到最佳目标主机上。
在时间复杂度方面,假设有n台虚拟机和m台物理主机。在FMMG算法中,步骤5)~10)使用了两层循环来计算隶属度值,外层循环n次,内存循环m次,因此FMMG算法的时间复杂度为O(nm)。在ECA-LSP算法中,对候选物理主机进行遍历,每次都需计算候选物理主机能耗,将待迁移虚拟机放置到能耗最低的候选物理主机上,此过程的时间复杂度为O(wm),其中w为2.2节中的匹配度参数。因此,FMD-VMP算法的总体时间复杂度为O(nm)。
本文使用CloudSim作为实验仿真平台。为了有效评价本文所提出算法的效率,实验配置了一个由800台异构物理主机组成的数据中心。物理主机型号分别为HP ProLiant ML110 G4(Intel Xeon 3040,2 cores×1 860 MHz,4 GB)及 HP ProLiant ML110 G5(Intel Xeon 3075,2 cores×2 660 MIPS,4 GB)。根据 Amazon Elastic Compute Cloud(EC2)[1]提供的VMS实例类型,考虑到虚拟机CPU和内存的容量不同,实验配置了4种不同的虚拟机,表2详细描述了实验所用的虚拟机的硬件配置。
表2 虚拟机类型Tab.2 Virtual machinetypes
为了使基于CloudSim的仿真结果评估具有适用性,实验使用了三种真实的工作负载,分别为:云服务提供商Bitbrains[14]公 开 的 数 据 集 ,以 下 称 为 Bitbrains 数 据 集 ;PlantLab[20]公司记录的任务请求,以下称为PlantLab数据集;以及阿里巴巴开放的计算机集群真实数据集(Alibaba Cluster Data V2018)[15],以下称为Alibaba数据集。
为了比较本文提出的FMD-VMP算法与现有算法的性能,实验选择了文献中[16]提出的6种性能评价指标:能耗(Energy Consumption,EC)、服务等级协议违背率(SLA Violation,SLAV)、虚 拟 机 迁 移 次 数(Virtual Machine Migrations,VMM)、迁 移 导 致 的 性 能 下 降(Performance Degradation due to Migration,PDM)、每台活动物理主机的服务等级协议违背时间(SLA violation Time per Active Host,SLATAH)、数据中心能耗和服务质量的综合评价指标(Energy and SLA Violation,ESV)。
实验将本文所提出的FMD-VMP算法与基于蚁群的虚拟机放置方法(Ant Colony System based Virtual Machine Placement,ACS-VMP)[5]、基于遗传算法的虚拟机优化放置方法(Genetic Algorithm based Virtual Machine Placement,GAVMP)[17]、首次适应降序算法(First Fit Decreasing,FFD)[11]、基于资源利用率感知的最适降序算法(UPBFD)[4]等方法进行比较,其中ACS-VMP与GA-VMP算法为智能优化算法,FFD与UPBFD算法为传统的近似算法。文献[16]将虚拟机整合过程描述为物理主机过载检测、待迁移虚拟机选择和虚拟机放置等阶段,并提出了相应的算法。本实验使用文献[16]提出的四分位算法(Inter Quartile Range,IQR)和绝对平均值算法(Mean Absolute Deviation,MAD)作为物理主机过载检测方法,最少迁移时间(Minimum Migration Time,MMT)算法和最大相关性(Maximum Correlation,MC)算法作为虚拟机选择算法,并将其组合为MAD-MMT算法、IQR-MC算法分别与五种虚拟机放置算法进行实验,得到10个不同的虚拟机整合方法。因此,基于Bitbrains数据集和Alibaba数据集的对照实验各有10组,共进行了20组对照实验。
3.3.1 有效性
实验根据3.2节提出的6种性能评价指标,对所提出的算法与现有算法进行综合性能评估。表3为两种过载检测与选择方法结合五种虚拟机放置算法选取了10 d的Bitbrains数据进行实验,将10 d的结果汇总取平均值。
表3 BitBrains数据集测试结果Tab 3 Test resultson BitBrainsdataset
由表3可知,在使用MAD-MMT、IQR-MC为过载检测和选择方法时:FMD-VMP在EC、VMM以及ESV等三个性能评价指标上的结果优于其他四种放置方法;同时在SLAV指标上,仅次于ACS-VMP放置方法。
首先对EC指标进行分析,FMD-VMP消耗的电能最少,GA-VMP的能耗表现在MAD-MMT过载检测与选择策略下仅略高于FMD-VMP;但使用IQR-MC作为过载检测和选择方法时,GA-VMP的能耗有显著的增长,其能耗高于FMD-VMP、UPBFD以及FFD三种放置算法,这是由于GA-VMP未对能耗进行约束,且容易陷入局部最优结果,造成能耗不稳定;UPBFD与FFD也有较为优秀的节能效果,同时两者在两种过载检测与选择方法下的能耗结果都非常稳定;ACS-VMP消耗的能源在MAD-MMT以及IQR-MC过载检测与选择方法下均为最高的,而FMD-VMP比ACS-VMP最高节约了48.7%的能耗。这是因为最小化能源消耗不是ACS-VMP的优化目标,FMD-VMP考虑了数据中心的能耗,并对能耗进行了优化。所以,FMD-VMP有效地降低了数据中心的能耗,提高了数据中心的节能效果。
虚拟机迁移会增加网络负载并导致性能下降,从而对数据中心的能耗以及服务质量产生负面影响[18],因此虚拟机放置方法应当尽量降低虚拟机迁移次数。在表3中,在MADMMT和IQR-MC方法下,FMD-VMP算法运行过程中产生的虚拟机迁移次数均少于其他对比算法。在使用IQR-MC方法时,FMD-VMP算法的虚拟机迁移次数为ACS-VMP算法的86.7%。由表3可知,FFD算法的虚拟机迁移次数是最多的,为FMD-VMP算法的1.8倍。综上所述,FMD-VMP算法能够有效地减少虚拟机的迁移次数,这是因为FMD-VMP算法考虑了物理主机在下一轮虚拟机放置前的负载变化,充分利用各项资源的同时降低数据中心的过载风险,从而减少虚拟机的迁移次数。
SLAV数值能够有效体现数据中心的服务质量。FMDVMP的SLAV值在两种过载检测和选择方法中都仅次于ACSVMP放置算法。在使用IQR-MC方法时,FMD-VMP的SLAV值比ACS-VMP高了12.16%,这是因为FMD-VMP在优化数据中心服务质量的同时,还考虑了数据中心的资源利用率以及能耗等方面的优化。经过计算可以发现,在MAD-MMT和IQR-MC过载检测和选择方法下,FMD-VMP方法的SLAV值比除了ACS-VMP之外的三种放置方法降低了55.67%~73.29%。UPBFD和FFD的SLAV值相对较高,因为UPBFD和FFD作为近似算法,优先将虚拟机放置到最符合当前需求的物理主机上,没有考虑到虚拟机放置是一个负载动态变化的过程。GA-VMP算法的SLAV值虽然高于FMD-VMP和ACSVMP,但是也在一定程度上优化了数据中心的服务质量。
ESV指标能够综合判断数据中心的能耗情况以及服务等级协议违背情况。由表3可知,FMD-VMP算法结合任意一种过载检测和选择方法,其ESV值对比其他四种放置算法均为最小值,因此FMD-VMP算法在能耗以及服务质量的综合表现上是最优的。FFD算法的ESV值最高,其在IQR-MC策略中的ESV值为FMD-VMP算法的4.25倍。
表4为各放置方法结合MAD-MMT和IQR-MC过载检测与选择方法在Alibaba数据集上进行的实验,由于Alibaba数据集数据量较大,因此选取了部分数据进行实验,并取实验数据的平均值。由表4可知。FMD-VMP算法在EC、SLAV、VMM以及ESV等四个指标上均取得了最优结果。
表4 Alibaba数据集测试结果Tab 4 Test resultson Alibaba dataset
EC指标代表了数据中心在运行过程中所消耗的电能,合适的虚拟机放置方法能够减小数据中心的能耗。在表4中,以IQR-MC作为过载检测与选择方法时,使用FMD-VMP放置算法所产生的能耗比其他算法降低了10.97%~24.63%。这是因为FMD-VMP对数据中心资源负载情况进行了评估,提高了资源利用率,从而减少了活动物理主机的数量,有效降低了数据中心的能耗。FMD-VMP、ACS-VMP、UPBFD以及FFD的EC值在两种过载检测与选择方法下都较为稳定,而GAVMP的EC值波动较大,使用IQR-MC方法比使用MAD-MMT方法增加了30.74%。这是由于GA-VMP容易陷入局部最优,导致实验结果不稳定。
对SLAV指标进行分析,SLAV值越低说明数据中心的服务等级协议违背率越低,服务质量越好。由表4可知,FMDVMP的SLAV值最低,UPBFD与FFD的SLAV值相对较高,这是因为UPBFD与FFD在进行虚拟机放置时没有考虑物理主机各类资源的过载风险。ACS-VMP与GA-VMP在SLAV指标上也有一定程度的优化,有利于提升数据中心的服务质量。
从表4中可以明显看出,在虚拟机迁移方面,FMD-VMP算法明显优于其他算法。在使用MAD-MMT过载检测与选择方法时,FMD-VMP的VMM值比ACS-VMP、UPBFD、GA-VMP、FFD分别降低了59.71%、55.90%、60.11%、60.49%。这是因为FMD-VMP算法通过对物理主机过载风险以及各类资源负载情况进行评估,判断物理主机的负载状态,减少了虚拟机迁移次数。
从表4可以发现,FMD-VMP算法的ESV指标对比其他算法有明显的优势。FMD-VMP在放置过程中通过评估数据中心的过载风险,来提高数据中心的服务质量,同时通过提高各类资源的利用率,来减少活动物理主机数量,从而减少能源消耗。因此ESV值远远小于其余对比算法。
表5为两种虚拟机过载检测与选择方法结合五种虚拟机放置方法,在PlanetLab数据集上执行后得到的各类指标均值。由表可知,使用MAD-MMT作为过载检测与选择方法时,FMD-VMP在EC、VMM以及ESV等三个指标上优于其他放置算法;使用IQR-MC作为过载检测与选择方法时,FMD-VMP在EC、SLAV以及ESV指标上优于其他算法。因此,FMDVMP算法在PlanetLab数据集上具有良好的表现。
表5 PlanetLab数据集测试结果Tab 5 Test results on PlanetLab dataset
在EC指标方面,ACS-VMP算法的能耗最高,这是因为ACS-VMP算法主要对数据中心的服务质量进行了优化,导致在能耗优化方面有所欠缺;而FMD-VMP算法的能耗为ACSVMP算法能耗的60.06%,是因为FMD-VMP等算法将能耗作为优化目标之一。
FFD、UPBFD等传统虚拟机放置算法在SLAV和VMM指标上表现较差,因为这些算法通过贪心选择的方式,仅考虑了数据中心的能耗的优化,忽视了数据中心服务质量,从而导致VMM次数增加。而VMM次数的增加又会进一步影响数据中心的服务质量。
ESV指标是对放置算法在EC和SLAV两方面的综合判断。由于FMD-VMP算法在EC和SLAV指标上均有良好的表现,因此其ESV值是最小的。而FFD、UPBFD算法尽管在EC指标上表现较好,但SLAV值过高,数据中心服务质量较差,因此ESV值也较高。由表5可知,以IQR-MC作为过载检测和选择方法时,FFD算法的ESV值为FMD-VMP算法的3.19倍。
为了对数据中心的服务质量进行更深入分析,图2对PDM指标进行了对比,PDM指标衡量了虚拟机迁移导致的数据中心性能下降,图2(a)为五种对比算法使用MAD-MMT和IQR-MC过载检测与选择方法,在Bitbrains数据集上得到的PDM值;图2(b)为在Alibaba数据集上得到的结果;图2(c)是在PlanetLab数据集上得到的PDM值,一共进行了6组实验。
从图2中可以看出,在六组实验中,对比其他四种放置算法,FMD-VMP算法的PDM均值是最小的,同时PDM值的波动范围也是最小的。这是因为PDM指标衡量的是虚拟机迁移导致的数据中心性能下降程度,由表3、表4和表5可知,FMDVMP算法的虚拟机迁移次数是最少的,从而有效降低了PDM值。
SLATAH代表每个活动物理主机的SLA违背时间,能够更加详细地描述数据中心的SLA违背情况[19]。从图3的仿真结果可以看出,在Bitbrains数据集和Alibaba数据集上,FMDVMP算法在SLATAH明显优于其他算法。这是因为FMDVMP算法通过对物理主机各类资源的过载概率进行估计,对具有过载风险的物理主机进行及时的虚拟机迁移,从而减少了物理主机处于过载状态的时间。ACM-VMP算法在Bitbrains数据集上的SLATAH值仅次于FMD-VMP算法,但在Alibaba数据集上的表现较差;而FMD-VMP算法在三种数据集上的SLATAH值都较为稳定。这是因为Alibaba数据集对于内存资源的请求较多,对CPU资源的请求较少;而PlanetLab数据集仅包含CPU资源的使用情况,使得ACS-VMP算法无法更好地均衡资源负载。
图2 五种算法在3个数据集上的PDM指标对比Fig.2 Comparison of PDMindicator of fivealgorithmson threedatasets
综上所述,本文所提出的FMD-VMP算法在Bitbrains数据集、Alibaba数据集以及PlanetLab数据集上实验结果均优于其他四种对比算法,有效地降低了数据中心的能耗,提高了资源利用率,并改善了数据中心的服务质量。
3.3.2 高效性
本节将从数据中心的内存资源利用率、CPU资源利用率和带宽资源利用率等方面来对FMD-VMP算法的高效性进行说明。数据中心每五分钟进行一次虚拟机整合,因此在一天之内会进行288次虚拟机整合。仿真实验使用MAD-MMT算法作为物理主机过载检测与虚拟机选择算法。
图3 五种算法在3个数据集上的SLATAH指标对比Fig.3 Comparison of SLATAH indicator of fivealgorithms on threedatasets
由于PlanetLab数据集不包含内存使用数据,因此图4(a)和图4(b)分别表示在Bitbrains数据集和Alibaba数据集上的活动物理主机的内存的平均利用率。从图4(a)中可以看出,ACS-VMP在内存资源利用率上优于其余四种对比算法,这是因为ACS-VMP通过降低活动物理主机的数量提高CPU资源利用率。FMD-VMP算法的内存资源利用率在55%~80%,仅次于ACS-VMP算法,但在资源利用率稳定性方面优于ACSVMP算法。在使用Alibaba数据集时,FMD-VMP算法的结果是最优的,从图4(b)中可以明显看出,FMD-VMP算法的内存利用率始终保持在90%以上,远高于UPBFD、FFD以及GAVMP算法,而ACS-VMP算法的内存资源利用率在80%~90%不断波动,没有很好的稳定性。
图5展示了虚拟机整合时物理主机CPU资源利用率。从图5(a)可以看出,在虚拟机整合前半阶段ACS-VMP算法的CPU利用率是最高的并且始终保持在70%以上,而在虚拟机整合的后半阶段CPU利用率逐渐下降并且曲线波动剧烈,这与图4(a)的内存利用率情况相对应,这说明ACS-VMP算法没能有效平衡数据中心各类资源的负载。结合图4和图5可以发现,FMD-VMP算法尽管在Alibaba数据集的CPU利用率上略低于ACS-VMP算法,但是在内存资源利用率方面相较于其他四种算法有较大的优势。这表明FMD-VMP算法对于虚拟机的迁移更加高效,从而改善了物理主机的综合资源利用率。在图5(c)中,FMD-VMP算法始终保持在较高的CPU资源利用率上,尽管利用率峰值略低于GA-VMP算法,但其利用率波动更小,降低了对数据中心资源负载的不良影响。
图4 物理主机内存平均利用率Fig.4 Averagememory utilization of physical hosts
图5 物理主机CPU平均利用率Fig.5 Average CPUutilization of physical hosts
由于Alibaba数据集和PlanetLab数据集不包含带宽数据,因此图6为Bitbrains数据集上实验结果。从图6可以看出,运行不同的虚拟机放置算法所得到的带宽平均利用率都比较低,均不超过0.08。这表明虚拟机对于带宽的资源请求量较低。因此当虚拟机部署的物理主机数量较少时,数据中心的带宽利用率将会升高。这也是FMD-VMP算法在带宽利用率上取得优势的原因。
图6 物理主机带宽平均利用率Fig.6 Averagebandwidth utilization of physical hosts
综合上述实验分析可以看出,FMD-VMP算法能够有效保证数据中心的服务质量、降低能耗、减少虚拟机迁移。通过对数据中心相关指标的深入分析,进一步说明了FMD-VMP算法能够提高数据中心各类资源的综合利用率,并稳定负载降低物理主机过载风险。
本文提出了一种基于模糊隶属度的虚拟机放置方法:首先,将虚拟机和物理主机的资源匹配度与物理主机的过载风险相结合,作为距离度量指标;然后,根据模糊隶属度矩阵进行局部搜索,确定最优目标主机,形成最终的虚拟机放置方案。实验结果表明,该虚拟机放置方法在降低能耗、保持负载均衡、提高资源利用率的同时保证了数据中心的服务质量。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!