CN107861796B - 一种支持云数据中心能耗优化的虚拟机调度方法 - Google Patents
一种支持云数据中心能耗优化的虚拟机调度方法 Download PDFInfo
- Publication number
- CN107861796B CN107861796B CN201711235873.0A CN201711235873A CN107861796B CN 107861796 B CN107861796 B CN 107861796B CN 201711235873 A CN201711235873 A CN 201711235873A CN 107861796 B CN107861796 B CN 107861796B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- migration
- energy consumption
- physical
- machine
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种支持云数据中心能耗优化的虚拟机调度方法,包括以下步骤:步骤1:基于虚拟机实例占用记录数据集,并获取云数据中心中处于运行状态的物理机列表和虚拟机列表;步骤2:根据虚拟机实例占用状态,获取步骤1中处于运行状态物理机的空闲空间;步骤3:根据虚拟机的资源需求以及步骤2所得的物理机的空闲空间,采用启发式检索,获取可行的虚拟机迁移策略;步骤4:计算云数据中心面向任务执行和虚拟机迁移的能耗值;步骤5:针对步骤3获得的虚拟机迁移策略,利用步骤4计算虚拟机迁移操作后云数据中心所产生的能耗值集合;步骤6:根据步骤5中所获的能耗值,选择能耗最优的虚拟机迁移策略为最终的虚拟机调度策略。
Description
技术领域
本发明涉及计算机数据处理以及云计算领域,特别适用于云数据中心进行能耗优化的资源管理与资源调度。
背景技术
自Google提出云计算技术的概念以来,云计算技术逐渐渗透到各行各业用于数据存储和处理。当前,大量的企业和组织将本地运行的应用完全或者部分迁移到公有云平台上运行,以降低本地的数据中心管理成本和硬件投资成本。从云数据中心资源管理者的角度来看,在满足用户资源需求的同时,需要保证数据中心的可持续发展。云数据中心部署的资源不断增长,特别是在大数据时代,数据存储、处理与通信需要消耗海量的资源。为了应对与日俱增的资源需求,数据中心规模不断扩张,数据中心的能耗问题日益突出,并且受到了社会的普遍关注。为了支撑云数据中心的正常运行,数据中心需要消耗大量的电能。当前电力公司普遍采用依赖煤炭发电,煤炭的燃烧会产生二氧化碳等污染气体,影响全球变暖,制约了信息化产业的健康发展。
为了应对数据中心节约能耗开销的迫切需求,在虚拟化技术支撑的云数据中心中,如何实现面向能耗优化的虚拟机调度方法是工业界和学术界关注的热点。通过资源虚拟化,可以实现物理资源的高效共享。而虚拟机实时迁移技术的发展则推动数据中心资源的高效利用。通过虚拟机迁移技术,可以实现数据中心中虚拟机动态调度,进而减少云数据中心中运行的物理机数量,降低任务执行过程中,物理机运行所产生的能耗。但是,在虚拟机调度过程中,除了物理机运行产生的能耗之外,还需要综合考虑虚拟机迁移所引起的额外能耗。因此,需要设计合理的虚拟机调度技术,实现云数据中心的动态节能。
虚拟机迁移技术已经被广泛应用于云数据中心的资源调度和管理。通过虚拟机迁移技术可以实现不同应用的节能部署。“X.Xu,W.Dou,X.Zhang,and J.Chen.EnReal:AnEnergy-Aware Resource Allocation Method for Scientific Workflow Executions inCloud Environment.IEEE Transactions on Cloud Computing,2016,4(2):166-179.”主要使用虚拟机实施迁移技术实现动态贪心资源调度,保证物理机处于高负载运行的状态。“X.Zhu,L.Yang,H.Chen,J.Wang,S.Yin,andX.Liu.Real-Time Tasks Oriented Energy-Aware Scheduling in Virtualized Clouds.IEEE transactions on Cloud Computing,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条数据记录,每条数据记录包含多个属性。例如,在数据记录“C01T0002 P0A0004 V0A00013 201001020100002.2”中,“C01T0002”代表任务编号,“P0A0004”代表物理机编号,“V0A00013”代表虚拟机实例编号,“20100102010000”代表虚拟机实例被占用的起始时间为2010年1月20日01时0分0秒,持续占用时间为2.2小时。
经过发明提出的方法进行虚拟机调度过后,统计了不同类型的虚拟机发生迁移量,可以发现,每种规格的物理机均发生了一定量的虚拟机迁移,如表2所示。
表2不同类型的虚拟机发生迁移量统计(单位:次)
机器类型 | A | B | C | D | E | F |
迁移量 | 73 | 67 | 125 | 87 | 93 | 70 |
虚拟机迁移通常可以带来部分物理机的空载,因此需要观察物理机前后使用量的对比,如表3所示,对应的分布图如图3所示。从表3和图3可以发现,无论何种类型的物理机,在经过本发明提出的方法进行虚拟机调度后,均能实现物理机使用量的优化。对于6种不同类型的物理机(A、B、C、D、E、F),经过本方法调度后,物理机使用量分别缩小57、51、86、66、71和59。
表3调度前后所占用的不同类型的物理机数量对比(单位:台)
机器类型 | A | B | C | D | E | F |
调度前 | 250 | 250 | 250 | 250 | 250 | 250 |
调度后 | 193 | 199 | 164 | 184 | 179 | 191 |
虚拟机迁移也会带来额外的能耗,因此要综合评估虚拟机迁移对能耗的影响。表4显示了调度前后不同类型的虚拟机执行任务所产生的总能耗对比,其对应的分布图如图4所示。从表4和图4可以看出,无论何种类型的物理机,在经过本发明提出的方法进行虚拟机调度后,均能实现能耗的优化。对于6种不同类型的物理机(A、B、C、D、E、F),经过本方法调度后,用电量分别降低9.7、8.9、35.79、50.24、61.3和77.17度。
表4调度前后不同类型的虚拟机执行任务所产生的总能耗对比(单位:度)
机器类型 | A | B | C | D | E | F |
调度前 | 61.18 | 65.77 | 134.44 | 235.93 | 350.31 | 494.29 |
调度后 | 51.48 | 56.87 | 98.65 | 185.69 | 289.01 | 417.12 |
本发明提供了一种支持云数据中心能耗优化的虚拟机调度方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (1)
1.一种支持云数据中心能耗优化的虚拟机调度方法,包括以下步骤:
步骤1:分析虚拟机实例占用记录数据集,获取云数据中心中处于运行状态的物理机列表和虚拟机列表;
步骤2:根据虚拟机实例占用状态,获取步骤1中处于运行状态物理机的空闲空间;
步骤3:根据虚拟机的资源需求以及步骤2所得的物理机的空闲空间,采用启发式检索,获取可行的虚拟机迁移策略;
步骤4:计算云数据中心面向任务执行和虚拟机迁移的能耗值;
步骤5:针对步骤3获得的虚拟机迁移策略,利用步骤4计算虚拟机迁移操作后云数据中心所产生的能耗值集合;
步骤6:根据步骤5中所获的能耗值,选择能耗最优的虚拟机迁移策略为最终的虚拟机调度策略;其特征在于:
步骤1中虚拟机实例占用记录数据集是关于虚拟机实例占用状态的记录集合,表示为VR={vr1,vr2,…,vrN},其中,N代表VR中虚拟机实例占用记录的数量;
虚拟机实例占用记录vrn(1≤n≤N)是一个多属性元组,表示为vrn=(pidn,tidn,vidn,stn,dtn),其中pidn代表物理机的设备号,tidn代表所托管的任务号,vidn代表vrn中对应的虚拟机实例编号,stn代表虚拟机实例的占用起始时间,dtn代表该虚拟机实例被占用的持续时间;
从虚拟机实例占用记录集合中判断有哪些物理机上有虚拟机实例被占用,即获取当前时刻即t时刻运行的物理机列表,表示为S={s1,s2,…,sM},其中,M代表物理机列表记录的数量;
在云数据中心中每个任务需要多个虚拟机实例进行部署,同一任务请求的虚拟机实例通常部署在同一个物理机上,在任务执行过程中将同一任务请求的虚拟机实例作为一个特殊的虚拟机看待;假设云数据中心当前运行了W个任务,那么特殊虚拟机的集合记为SV={sv1,sv2,…,svW};SV中虚拟机的资源需求量通过对虚拟机占用记录集合进行分析获取,而且不同的虚拟机其所映射的物理机类型也不相同,根据其当前映射的物理机类型所决定;将svw(1≤w≤W)的资源需求量表示为rw=(nmw,typew),其中nmw代表所需求的虚拟机实例的数量,typew代表物理机的类别;
获取物理机列表S中每台物理机的空闲资源使用量;根据虚拟机实例占用记录,统计当前时刻每台物理机上被使用的虚拟机实例的使用量;将物理机sm(1≤m<M)的容量记作cnm,统计所得的虚拟机实例使用量记作onm,则sm上空闲资源量记作cnm-onm;
将物理机列表S按照空闲资源量进行升序排列,然后从资源使用率较低且非空载的物理机进行处理,即从s1开始检索,为其上部署的虚拟机实例选择合适的目标物理机进行迁移;
在为sm上的虚拟机进行目标物理机选择时,物理机的匹配序列为{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代表目标物理机;
需要根据数据中心的虚拟机部署情况以及虚拟机迁移明细进行能耗的计算;
根据pz(1≤z≤Z)中迁移操作后,云数据中心任务执行过程中,云数据中心的能耗可以细化为物理机基础能耗PEBase、虚拟机执行能耗VEActive、空闲虚拟机所产生的能耗VEIdle;由于虚拟机迁移的本质是将虚拟机镜像从源物理机迁移到目标物理机,因此虚拟机迁移的过程也将产生通信能耗的开销ME;因此,由于虚拟机迁移和任务执行所引起的能耗pez,表达式如下:
pez=PEBase+VEActive+VEIdle+ME;
PEBase与物理机sm的电功率αm以及物理机的整体运行时间rtm相关,计算表达式如下:
VEActive涉及物理机中所有映射的虚拟机实例,将sm的容量记作cnm,sm上每台处于运行状态的虚拟机实例的功耗记作βm,虚拟机实例sm,j(1≤j≤|cnm|)的处于运行状态的时间记作atm,j,则VEActive计算表达式如下:
VEIdle同样涉及物理机中所有映射的虚拟机实例,sm上每台处于空闲状态的虚拟机实例的功耗记作γm,虚拟机实例sm,j的处于空闲状态的时间记作itm,j,则VEIdle计算表达式如下:
迁移能耗ME与S中任意两台物理机sm和sm'之间网络通信设备的平均电功率δm,m'以及镜像传输量Dm,m'以及平均传输带宽BWm,m'相关,计算表达式如下:
P中的任意虚拟机迁移策略子集pz判断虚拟机放置状态以及虚拟机迁移过程,其对应的能耗值pez;
P中所有迁移子集对应的能耗值集合,表示为PE={pe1,pe2,…,peZ}
获取PE中能耗值最优的虚拟机迁移子集作为最终的虚拟机调度策略VS,其计算表达式如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711235873.0A CN107861796B (zh) | 2017-11-30 | 2017-11-30 | 一种支持云数据中心能耗优化的虚拟机调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711235873.0A CN107861796B (zh) | 2017-11-30 | 2017-11-30 | 一种支持云数据中心能耗优化的虚拟机调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107861796A CN107861796A (zh) | 2018-03-30 |
CN107861796B true CN107861796B (zh) | 2021-05-04 |
Family
ID=61704140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711235873.0A Active CN107861796B (zh) | 2017-11-30 | 2017-11-30 | 一种支持云数据中心能耗优化的虚拟机调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861796B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804210B (zh) * | 2018-04-23 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 一种云平台的资源配置方法及装置 |
CN109375987B (zh) * | 2018-10-30 | 2021-12-07 | 青岛民航凯亚系统集成有限公司 | 一种虚拟机选择物理机的方法和系统 |
CN110069319B (zh) * | 2019-04-15 | 2023-05-02 | 南京信息工程大学 | 一种面向朵云资源管理的多目标虚拟机调度方法及系统 |
WO2022048674A1 (zh) * | 2020-09-07 | 2022-03-10 | 华为云计算技术有限公司 | 基于服务器机柜的虚拟机管理方法及装置 |
CN112269632B (zh) * | 2020-09-25 | 2024-02-23 | 北京航空航天大学杭州创新研究院 | 一种优化云数据中心的调度方法和系统 |
CN112416516A (zh) * | 2020-11-20 | 2021-02-26 | 中国电子科技集团公司第二十八研究所 | 一种面向资源效用提升的云数据中心资源调度方法 |
CN114780232B (zh) * | 2022-03-25 | 2023-04-07 | 阿里巴巴(中国)有限公司 | 云应用调度方法、装置、电子设备及存储介质 |
CN117675924A (zh) * | 2023-11-24 | 2024-03-08 | 广西通信规划设计咨询有限公司 | 一种云边协同的数据调度方法、系统、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9363190B2 (en) * | 2013-07-31 | 2016-06-07 | Manjrasoft Pty. Ltd. | System, method and computer program product for energy-efficient and service level agreement (SLA)-based management of data centers for cloud computing |
CN104699520B (zh) * | 2013-12-04 | 2018-05-01 | 北京天地超云科技有限公司 | 一种基于虚拟机迁移调度的节能方法 |
CN103677960B (zh) * | 2013-12-19 | 2017-02-01 | 安徽师范大学 | 一种能耗约束的虚拟机博弈重放置方法 |
CN104503826B (zh) * | 2015-01-04 | 2018-06-26 | 中国联合网络通信集团有限公司 | 一种云计算数据中心的虚拟机映射方法及装置 |
CN104636197B (zh) * | 2015-01-29 | 2017-12-19 | 东北大学 | 一种数据中心虚拟机迁移调度策略的评价方法 |
-
2017
- 2017-11-30 CN CN201711235873.0A patent/CN107861796B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107861796A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861796B (zh) | 一种支持云数据中心能耗优化的虚拟机调度方法 | |
Yadav et al. | Managing overloaded hosts for energy-efficiency in cloud data centers | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
Alahmadi et al. | Enhanced first-fit decreasing algorithm for energy-aware job scheduling in cloud | |
Quan et al. | Task scheduling for energy consumption constrained parallel applications on heterogeneous computing systems | |
CN108595254B (zh) | 一种查询调度方法 | |
Deng et al. | Dynamic virtual machine consolidation for improving energy efficiency in cloud data centers | |
Wu et al. | Optimizing the performance of big data workflows in multi-cloud environments under budget constraint | |
CN112416516A (zh) | 一种面向资源效用提升的云数据中心资源调度方法 | |
Li et al. | An energy-aware scheduling algorithm for big data applications in Spark | |
Song et al. | An efficient scheduling algorithm for energy consumption constrained parallel applications on heterogeneous distributed systems | |
Lu et al. | Understanding the workload characteristics in alibaba: A view from directed acyclic graph analysis | |
Zhang et al. | An energy-aware host resource management framework for two-tier virtualized cloud data centers | |
Shao et al. | Energy-aware dynamic resource allocation on hadoop YARN cluster | |
Choudhary | A survey on green computing techniques | |
Kumar et al. | A Hybrid Eagle’s Web Swarm Optimization (EWSO) technique for effective cloud resource management | |
Ohmura et al. | Toward building a digital twin of job scheduling and power management on an HPC system | |
CN110069319B (zh) | 一种面向朵云资源管理的多目标虚拟机调度方法及系统 | |
Guo | Ant colony optimization computing resource allocation algorithm based on cloud computing environment | |
Gbaguidi et al. | Characterizing servers workload in cloud datacenters | |
Li et al. | SLA‐Aware and Energy‐Efficient VM Consolidation in Cloud Data Centers Using Host State 3rd‐Order Markov Chain Model | |
De Mello et al. | A new migration model based on the evaluation of processes load and lifetime on heterogeneous computing environments | |
Su et al. | Node capability aware resource provisioning in a heterogeneous cloud | |
CN111580937A (zh) | 一种面向飞腾多核/众核混合集群的虚拟机自动调度方法 | |
Cheng et al. | Toward Network-Aware Query Execution Systems in Large Datacenters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |