一种支持云数据中心能耗优化的虚拟机调度方法与流程

文档序号:14056969阅读:156来源:国知局
一种支持云数据中心能耗优化的虚拟机调度方法与流程
本发明涉及计算机数据处理以及云计算领域,特别适用于云数据中心进行能耗优化的资源管理与资源调度。
背景技术
:自google提出云计算技术的概念以来,云计算技术逐渐渗透到各行各业用于数据存储和处理。当前,大量的企业和组织将本地运行的应用完全或者部分迁移到公有云平台上运行,以降低本地的数据中心管理成本和硬件投资成本。从云数据中心资源管理者的角度来看,在满足用户资源需求的同时,需要保证数据中心的可持续发展。云数据中心部署的资源不断增长,特别是在大数据时代,数据存储、处理与通信需要消耗海量的资源。为了应对与日俱增的资源需求,数据中心规模不断扩张,数据中心的能耗问题日益突出,并且受到了社会的普遍关注。为了支撑云数据中心的正常运行,数据中心需要消耗大量的电能。当前电力公司普遍采用依赖煤炭发电,煤炭的燃烧会产生二氧化碳等污染气体,影响全球变暖,制约了信息化产业的健康发展。为了应对数据中心节约能耗开销的迫切需求,在虚拟化技术支撑的云数据中心中,如何实现面向能耗优化的虚拟机调度方法是工业界和学术界关注的热点。通过资源虚拟化,可以实现物理资源的高效共享。而虚拟机实时迁移技术的发展则推动数据中心资源的高效利用。通过虚拟机迁移技术,可以实现数据中心中虚拟机动态调度,进而减少云数据中心中运行的物理机数量,降低任务执行过程中,物理机运行所产生的能耗。但是,在虚拟机调度过程中,除了物理机运行产生的能耗之外,还需要综合考虑虚拟机迁移所引起的额外能耗。因此,需要设计合理的虚拟机调度技术,实现云数据中心的动态节能。虚拟机迁移技术已经被广泛应用于云数据中心的资源调度和管理。通过虚拟机迁移技术可以实现不同应用的节能部署。“x.xu,w.dou,x.zhang,andj.chen.enreal:anenergy-awareresourceallocationmethodforscientificworkflowexecutionsincloudenvironment.ieeetransactionsoncloudcomputing,2016,4(2):166-179.”主要使用虚拟机实施迁移技术实现动态贪心资源调度,保证物理机处于高负载运行的状态。“x.zhu,l.yang,h.chen,j.wang,s.yin,andx.liu.real-timetasksorientedenergy-awareschedulinginvirtualizedclouds.ieeetransactionsoncloudcomputing,2014,2(2):168-180.”提出了一种面向实时应用的虚拟机调度方法,是面向有限资源,通过虚拟机迁移技术实现了实时应用执行的节能目标。当前的虚拟机调度忽略了虚拟机迁移过程中网络交换机产生的通信能耗。随着虚拟机迁移技术的广泛应用,云数据中心的通信设备产生的能耗日益增长,将会对构建绿色云数据中心带来技术挑战。因此,需要设计基于任务执行和虚拟机迁移的虚拟机调度方法,以实现云数据中心动态节能。技术实现要素:本发明针对虚拟化云数据中心能耗日益突出的特点,提供一种支持云数据中心能耗优化的虚拟机调度方法,适用于云数据中心的资源管理工作。为了解决上述技术问题,本发明公开的一种支持云数据中心能耗优化的虚拟机调度方法,包括以下步骤:步骤1:从虚拟机实例占用记录数据集合中获取运行的物理机列表s,以及特殊虚拟机集合sv。当任务请求虚拟机实例进行资源托管时,云数据中心将产生一条虚拟机实例占用记录,该记录包含了虚拟机实例所映射的物理设备编号、托管的任务编号,虚拟机实例占用的起始时间以及虚拟机实例占用的持续时间。虚拟机实例占用记录集合记作vr={vr1,vr2,…,vrn},其中,n代表vr中虚拟机实例占用记录的数量。虚拟机实例占用记录是一个多属性元组,vr中第n(1≤n≤n)条记录表示为vrn=(pidn,tidn,vidn,stn,dtn),其中pidn代表物理机的设备号,tidn代表所托管的任务号,vidn代表vrn中对应的虚拟机实例编号,stn代表虚拟机实例的占用起始时间,dtn代表该虚拟机实例被占用的持续时间。虚拟机调度需要确定当前运行的物理机列表。通过对虚拟机实例占用记录集合的分析,可以选择调度时刻t所占用的物理机的集合。在虚拟实例占用记录vrn(1≤n≤n)中,如果stn≤t<stn+dtn,那么该虚拟机实例占用记录中所对应编号为pidn的物理机加入到运行的物理机列表s中。通过遍历所有的虚拟机实例占用记录,可以获得运行的物理机列表,表示为s={s1,s2,…,sm},其中,m代表处于运行状态的物理机的数量。通过虚拟机占用实例记录集合,还可以获取云数据中心任务运行所占用的虚拟机集合。每个虚拟机代表任务所占用的虚拟机实例的集合。遍历vr中所有的虚拟机实例占用记录,如果多条虚拟机实例占用记录的起始时间以及持续时间相同,且所托管的任务编号相同,那么这些记录中的虚拟机实例便是该任务所对应的特殊虚拟机。假设云数据中心当前运行了w个任务,那么特殊虚拟机的集合记为sv={sv1,sv2,…,svw}。sv中虚拟机的资源需求量可以通过对虚拟机占用记录集合进行分析获取,而且不同的虚拟机其所映射的物理机类型也不相同,也可以根据其当前映射的物理机类型所决定。将svw(1≤w≤w)的资源需求量表示为rw=(nmw,typew),其中nmw代表所需求的虚拟机实例的数量,typew代表物理机的类别。步骤2:根据对虚拟机实例占用记录的统计和分析,获取物理机列表s中每台物理机的空闲空间。将物理机sm(1≤m<m)的容量记作cnm,通过遍历虚拟机占用实例vr,统计当前时刻虚拟机实例使用量记作onm,则sm上空闲资源量记作cnm-onm。步骤3:通过启发式的搜索,获取多组虚拟机迁移策略p={p1,p2,…,pz}。首先,将物理机列表s按照空闲资源量进行升序排列。在进行虚拟机迁移时,优先从资源使用率较低且非空载的物理机进行处理,即从s1开始检索,为其上部署的虚拟机实例选择合适的目标物理机进行迁移。然后,在排序后的物理机列表中,按序对每台物理机上的虚拟机进行处理,为其寻找合适的目标物理机进行托管。在为sm(1≤m<m)上的虚拟机进行目标物理机选择时,优先选择资源使用率较高且存在充足空闲空间的物理机作为目标物理机进行迁移,因此物理机的匹配序列为{sm,sm-1,…sm+1}。目标物理机的选择过程从sm开始匹配,如果sm匹配不成功,则与sm-1进行进一步的匹配,直到虚拟机找到合适的物理机,或者匹配序列全部遍历完成。如果sm能够找到合适的目标物理机进行迁移,则重复上述步骤,继续为sm+1寻找合适的目标物理机;如果sm不能够找到合适的目标物理机,则停止寻找迁移策略。由于物理机的空闲资源空间可能相同,而且同一时刻可能有多台资源使用率相同的目标物理机可以作为合适的迁移对象,因此同一时刻可以产生多组虚拟机迁移策略,记作p={p1,p2,…,pz},其中z代表迁移策略的数量。pz(1≤z≤z)包含了大量的虚拟机迁移操作,第i(1≤i≤|pz|)条虚拟机迁移操作是一个多属性元组,记作pz,i=(svidz,i,mtz,i,souz,i,desz,i),其中svidz,i代表被迁移的特殊虚拟机编号,mtz,i代表迁移时刻,souz,i代表源物理机,desz,i代表目标物理机。步骤4:根据pz中的虚拟机迁移操作,计算迁移操作后,云数据中心面向任务执行和虚拟机迁移的能耗值。根据pz(1≤z≤z)中迁移操作后,云数据中心任务执行过程中,云数据中心的能耗可以细化为物理机基础能耗pebase、虚拟机执行能耗veactive、空闲虚拟机所产生的能耗veidle。而虚拟机迁移的本质是将虚拟机镜像从源物理机迁移到目标物理机,因此虚拟机迁移的过程也将产生通信能耗的开销me。首先,计算物理机基础能耗pebase,pebase与物理机sm的电功率αm以及sm的整体运行时间rtm相关,计算表达式如下:然后,计算虚拟机执行能耗veactive,veactive涉及物理机中所有映射的虚拟机实例,将sm的容量记作cnm,sm上每台处于运行状态的虚拟机实例的功耗记作βm,虚拟机实例sm,j(1≤j≤|cnm|)处于运行状态的时间记作atm,j,则veactive计算表达式如下:相似的,计算空闲虚拟机所产生的能耗veidle。sm上每台处于空闲状态的虚拟机实例的功耗记作γm,虚拟机实例sm,j的处于空闲状态的时间记作itm,j,则veidle计算表达式如下:进一步,需要计算迁移能耗me。me与s中任意两台物理机sm和sm'之间网络通信设备的平均电功率δm,m'以及镜像传输量dm,m'以及传输带宽bwm,m'相关,计算表达式如下:最后,计算由pz中的虚拟机迁移操作引起的迁移能耗和任务执行能耗pez。pez的计算表达式如下:pez=pebase+veactive+veidle+me。步骤5:计算p中z种的不同的迁移策略对应的能耗值集合pe={pe1,pe2,…,pez}。遍历p中所有的迁移策略pz(1≤z≤z),获取pz对应的虚拟机放置状态以及虚拟机迁移过程,然后根据步骤4计算对应的pez。步骤6:在集合pe中选择能耗值最优的虚拟机迁移策略为最终的虚拟机调度策略。获取pe中能耗值最优的虚拟机迁移子集作为最终的虚拟机调度策略vs,其计算表达式如下:本发明的思想为:首先基于虚拟机实例占用记录数据集,并获取云数据中心中处于运行状态的物理机列表和虚拟机列表;然后根据虚拟机实例占用状态,获取所有处于运行状态物理机的空闲空间;进一步,根据虚拟机的资源需求,按照资源使用率对物理机列表进行升序排列,并采用启发式检索,获取所有可行的虚拟机迁移策略;在此基础上,针对不同的虚拟机迁移策略,计算云数据中心面向任务执行和虚拟机迁移的能耗值,相应的能耗值集合;最后,在能耗值集合中,选择能耗最优的虚拟机迁移策略为最终的虚拟机调度策略。与现有技术相比,本发明的效果体现在:1)虚拟机调度方法是根据实时的虚拟机实例占用记录集合,便于在线进行云数据中心资源管理。2)能耗评估和计算过程考虑了虚拟机迁移过程中,内存镜像传输所产生的能耗,更贴切云数据中心的实际能耗。3)在虚拟机迁移策略设计的过程中,优先将负载较低的物理机上的机器迁移到负载较高的物理机上,有利于提升整体的资源使用率。4)在虚拟机调度的过程中,采用启发式的方法进行目标物理机的选择,提升虚拟机调度策略设计的时间效率,能够更快速、便捷地寻找到较优的虚拟机调度策略。附图说明图1本发明流程图。图2本发明所使用的虚拟机实例占用记录数据集示例。图3使用本方法调度前后运行任务所使用的物理机数量对比。图4使用本方法调度前后所使用的电量对比。具体实施方式:为了使本领域研究人员更好地理解本申请中的技术问题和技术方案,并实现申请所能达到的技术效果,下面结合附图和具体实施方式对本发明一种支持云数据中心能耗优化的虚拟机调度方法作进一步详细说明。本发明提出的一种支持云数据中心能耗优化的虚拟机调度方法包括下述步骤,流程如图1所示:步骤1:实时收集从虚拟机实例占用记录,并从虚拟机实例占用记录数据集vr中获取运行的物理机列表s,以及特殊虚拟机集合sv。在云数据中心中,系统日志文件实时保存虚拟机实例占用日志。当任务请求虚拟机实例进行资源托管时,后台将产生一条虚拟机实例占用记录,假设在调度时刻,虚拟机实例占用记录集合共有n条虚拟机实例占用记录,记作vr={vr1,vr2,…,vrn}。vr中每条虚拟机实例占用记录反映了不同物理机上虚拟机实例的使用情况,可以用多属性元组来描述。将虚拟机占用记录vrn(1≤n≤n)表示为vrn=(pidn,tidn,vidn,stn,dtn),其中pidn代表物理机的设备号,tidn代表所托管的任务号,vidn代表vrn中对应的虚拟机实例编号,stn代表虚拟机实例的占用起始时间,dtn代表该虚拟机实例被占用的持续时间。通过对虚拟机实例占用记录的遍历和统计分析,可以确定t时刻云数据中心中运行的物理机列表。例如:在虚拟实例占用记录vrn(1≤n≤n)中,如果stn≤t<stn+dtn,那么该虚拟机实例占用记录中所对应编号为pidn的物理机加入到运行的物理机列表s中。将当前云数据中心中运行的物理机列表表示为s={s1,s2,…,sm},其中,m代表处于运行状态的物理机的数量。在进行虚拟机调度的过程中,对于同一任务占用的虚拟机实例需要进行同批次迁移,以降低任务迁移的不利影响。因此,需要从虚拟机实例占用记录中筛选出可作为调度对象的虚拟机列表。若云数据中心当前运行了w个任务,那么经过分析和筛选后得到的虚拟机的数量同样为w,虚拟机集合记为sv={sv1,sv2,…,svw}。不同虚拟机的资源需求量可能不同,将svw(1≤w≤w)的资源需求量表示为rw=(nmw,typew),其中nmw代表所需求的虚拟机实例的数量,typew代表物理机的类别。步骤2:通过遍历虚拟机实例占用记录数据集,获取物理机列表s中每台物理机的空闲空间。为了判断哪些虚拟机可以作为迁移对象,并判断虚拟机可以迁移的目标位置,需要获取每台物理机的空闲空间。将物理机sm(1≤m<m)的容量记作cnm,通过遍历虚拟机占用实例vr,统计当前时刻虚拟机实例使用量记作onm,则sm上空闲资源量记作cnm-onm。步骤3:对物理机列表进行按照空闲资源量进行降序排列,并通过启发式的搜索,获取多组虚拟机迁移策略p={p1,p2,…,pz}。首先,将物理机列表s按照空闲资源量进行升序排列。在进行虚拟机迁移时,优先从资源使用率较低且非空载的物理机进行处理,为其上部署的虚拟机实例选择合适的目标物理机进行迁移。然后,在排序后的物理机列表中,按序对每台物理机上的虚拟机进行处理,为其寻找合适的目标物理机进行托管。在为sm(1≤m<m)上的虚拟机进行目标物理机选择时,优先选择资源使用率较高且存在充足空闲空间的物理机作为目标物理机进行迁移,因此物理机的匹配序列为{sm,sm-1,…sm+1}。目标物理机的选择过程从sm开始匹配,如果sm匹配不成功,则与sm-1进行进一步的匹配,直到虚拟机找到合适的物理机,或者匹配序列全部遍历完成。如果sm上所有托管的虚拟机均能够找到合适的目标物理机进行迁移,则重复上述步骤,继续为sm+1寻找合适的目标物理机;如果sm不能够找到合适的目标物理机进行虚拟机迁移,则停止寻找迁移策略。在进行启发式搜索的过程中,可以获取多组虚拟机迁移策略,记作p={p1,p2,…,pz},其中z代表迁移策略的数量。pz(1≤z≤z)包含了大量的虚拟机迁移操作,第i(1≤i≤|pz|)条虚拟机迁移操作是一个多属性元组,记作pz,i=(svidz,i,mtz,i,souz,i,desz,i),其中svidz,i代表被迁移的特殊虚拟机编号,mtz,i代表迁移时刻,souz,i代表源物理机,desz,i代表目标物理机。步骤4:评估云数据中心面向任务执行和虚拟机迁移的能耗,并计算虚拟机迁移策略pz所引起的能耗值。根据pz(1≤z≤z)中虚拟机的迁移操作后,云数据中心的能耗可以细化为物理机基础能耗pebase、虚拟机执行能耗veactive、空闲虚拟机所产生的能耗veidle。而虚拟机迁移的本质是将虚拟机镜像从源物理机迁移到目标物理机,因此虚拟机迁移的过程也将使得部分通信设备产生额外的能耗开销me。首先,计算物理机基础能耗pebase,如公式(1)所示,其中αm代表物理机sm的电功率,而rtm代表sm的整体运行时间。然后,计算虚拟机执行能耗veactive,如公式(2)所示,其中cnm代表sm的容量,βm代表sm上每台处于运行状态的虚拟机实例的功耗,atm,j代表虚拟机实例sm,j(1≤j≤|cnm|)处于运行状态的总时间。相似的,计算空闲虚拟机所产生的能耗veidle,如公式(2)所示,其中γm代表sm上每台处于空闲状态的虚拟机实例的功耗,itm,j代表虚拟机实例sm,j的处于空闲状态的整体时间。进一步,需要计算迁移能耗me,如公式(2)所示,其中δm,m'代表s中物理机sm和sm'之间的通信设备的电功率,dm,m'代表sm和sm'之间的镜像传输量,bwm,m'代表sm和sm'之间的传输带宽。最后,计算由pz中的虚拟机迁移操作引起的迁移能耗和任务执行能耗pez,如公式(5)所示。pez=pebase+veactive+veidle+me(5)步骤5:不同虚拟机迁移策略,使得云数据中心的虚拟机放置状态不同,根据步骤4能耗评估和计算方法,计算z种的不同的迁移策略对应的能耗值集合pe={pe1,pe2,…,pez}。本步骤需要遍历p中所有的迁移策略pz(1≤z≤z),获取pz对应的虚拟机放置状态以及虚拟机迁移过程,然后根据步骤4计算对应的pez。步骤6:选择pe集合中能耗值最优的虚拟机迁移策略作为最终选定的虚拟机调度策略。本步骤需要获取pe中能耗值最优的虚拟机迁移子集作为最终的虚拟机调度策略vs,如公式(6)所示。实施例1本实施例选择虚拟机实例占用记录作为输入数据集进行实验,并选择cloudsim作为仿真平台。实验环境中所涉及的参数如表1所示。表1方法执行过程所涉及的参数设置实验参数取值虚拟机实例占用记录数量1500物理机/虚拟机实例类型{a,b,c,d,e,f}每类物理机对应的电功率(瓦/小时){85,92,190,340,530,720}每类虚拟机运行时的电功率(瓦/小时){5,6,13,23,35,48}每类虚拟机空闲时的电功率(瓦/小时){1,1,3,5,7,10}物理机容量6带宽(单位:兆)500网络交换机的电功率(瓦/小时)250数据集的示例如图2所示,数据集中包含1500条数据记录,每条数据记录包含多个属性。例如,在数据记录“c01t0002p0a0004v0a00013201001020100002.2”中,“c01t0002”代表任务编号,“p0a0004”代表物理机编号,“v0a00013”代表虚拟机实例编号,“20100102010000”代表虚拟机实例被占用的起始时间为2010年1月20日01时0分0秒,持续占用时间为2.2小时。经过发明提出的方法进行虚拟机调度过后,统计了不同类型的虚拟机发生迁移量,可以发现,每种规格的物理机均发生了一定量的虚拟机迁移,如表2所示。表2不同类型的虚拟机发生迁移量统计(单位:次)机器类型abcdef迁移量7367125879370虚拟机迁移通常可以带来部分物理机的空载,因此需要观察物理机前后使用量的对比,如表3所示,对应的分布图如图3所示。从表3和图3可以发现,无论何种类型的物理机,在经过本发明提出的方法进行虚拟机调度后,均能实现物理机使用量的优化。对于6种不同类型的物理机(a、b、c、d、e、f),经过本方法调度后,物理机使用量分别缩小57、51、86、66、71和59。表3调度前后所占用的不同类型的物理机数量对比(单位:台)机器类型abcdef调度前250250250250250250调度后193199164184179191虚拟机迁移也会带来额外的能耗,因此要综合评估虚拟机迁移对能耗的影响。表4显示了调度前后不同类型的虚拟机执行任务所产生的总能耗对比,其对应的分布图如图4所示。从表4和图4可以看出,无论何种类型的物理机,在经过本发明提出的方法进行虚拟机调度后,均能实现能耗的优化。对于6种不同类型的物理机(a、b、c、d、e、f),经过本方法调度后,用电量分别降低9.7、8.9、35.79、50.24、61.3和77.17度。表4调度前后不同类型的虚拟机执行任务所产生的总能耗对比(单位:度)机器类型abcdef调度前61.1865.77134.44235.93350.31494.29调度后51.4856.8798.65185.69289.01417.12本发明提供了一种支持云数据中心能耗优化的虚拟机调度方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1