CN102981893B - 一种虚拟机调度方法及系统 - Google Patents
一种虚拟机调度方法及系统 Download PDFInfo
- Publication number
- CN102981893B CN102981893B CN201210569919.3A CN201210569919A CN102981893B CN 102981893 B CN102981893 B CN 102981893B CN 201210569919 A CN201210569919 A CN 201210569919A CN 102981893 B CN102981893 B CN 102981893B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- stage
- histogram
- state
- migration
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013508 migration Methods 0.000 claims abstract description 69
- 230000005012 migration Effects 0.000 claims abstract description 69
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 15
- 238000005265 energy consumption Methods 0.000 claims description 49
- 238000012544 monitoring process Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 8
- 238000004134 energy conservation Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000012856 packing Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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
- Debugging And Monitoring (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明实施例提供一种虚拟机调度方法及系统,其中方法包括:在离线状态下,对虚拟机集群的运行日志进行分析,得到虚拟机集群中的各虚拟机作业的运行特点;根据所述各虚拟机作业的运行特点,拟合得到虚拟机各负载相关参数的特征曲线;根据所述特征曲线,将虚拟机运行周期分为多个初始阶段,在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图;调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图,根据所述第二直方图进行最终阶段划分;根据第二直方图,求解分阶段图模型,通过求解分阶段图模型确定虚拟机迁移路径。本发明具备节能针对性,能较大的提升节能效果。
Description
技术领域
本发明涉及虚拟机技术领域,更具体地说,涉及一种虚拟机调度方法及系统。
背景技术
随着虚拟化技术的发展,虚拟化技术在数据中心得到了广泛的应用,数据中心通过虚拟化技术可以在一台物理主机上虚拟出多台相互隔离的虚拟机(VirtualMachine,VM),各虚拟机可以同时运行相互独立的操作系统,这些客户操作系统(guestOS)通过虚拟机管理器(VirtualMachineManager,VMM)访问实际的硬件资源。通过虚拟化技术的应用,数据中心能够应对日益增长数据处理需求。
然而随着数据中心规模的飞速增长,其带来的电力消耗成为必须解决的关键问题之一。目前数据中心主要通过提高硬件利用率和降低功耗节省能耗,主要采用的手段有硬件调频调压、电源管理、及基于虚拟机实时迁移的调度等技术。虚拟机实时迁移是指在虚拟机不中断服务的情况下从一个节点转移到另一个节点运行,一般使用内存增量拷贝等技术,存在一定的迁移时间,并会带来网络和能耗的开销。
目前虚拟机的调度,主要以解决虚拟机放置为主,一般通过建立装箱问题模型进行求解:基于装箱问题模型,结合虚拟机放置、负载预测、QoS多约束最优化问题求解,得出虚拟机的最优部署方案。可以看出,现有的虚拟机调度方案较少考虑节能因素,在要求节能目的地情境下,现有的虚拟机的实时迁移方案缺乏针对性,节能效果较差。
发明内容
有鉴于此,本发明实施例提供一种虚拟机调度方法及系统,以解决现有虚拟机调度方案缺乏节能针对性,改善节能效果。
为实现上述目的,本发明实施例提供如下技术方案:
一种虚拟机调度方法,包括:
在虚拟机离线状态下,对虚拟机集群的运行日志进行分析,得到虚拟机集群中的各虚拟机作业的运行特点;
根据所述各虚拟机作业的运行特点,拟合得到虚拟机各负载相关参数的特征曲线;
根据所述特征曲线,将虚拟机运行周期分为多个初始阶段,在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图,所述第一直方图表示初始的虚拟机资源需求变化关系;
调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图,根据所述第二直方图进行最终阶段划分;
根据第二直方图,求解分阶段图模型,通过求解分阶段图模型确定虚拟机迁移路径。
其中,所述根据所述特征曲线,将虚拟机运行周期分为多个初始阶段的过程包括:
以虚拟机集群监视的单位周期为一个周期长度,将所述特征曲线对应的虚拟机运行周期划分为多个初始阶段,一个初始阶段的长度与所述一个单位周期长度对应;
所述在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图的过程包括:
确定各阶段的负载参数值,得到虚拟机各初始阶段的资源需求,将虚拟机各初始阶段的资源需求表现为第一直方图。
其中,所述调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图的过程包括:
调用Ei=min{Ej+TEj→i+REj+1→i},0≤j<i对所述特征曲线中的负载参数进行调整,从而调整第一直方图,得到第二直方图,其中,TEj→i为虚拟机从阶段j到阶段i的迁移能耗,REj+1→i为虚拟机从阶段j+1到阶段i状态的运行能耗。
其中,所述根据第二直方图,求解分阶段图模型的过程包括:
以虚拟机集群的当前状态为起点,通过迁移模型得到下一运行阶段的若干种虚拟机放置状态;
对于每种状态,其在一个运行阶段的开销通过能耗模型得到,设为一条连接该状态前端点和后端点的一条边,即为运行边,该边长度为虚拟机保持在该状态下一个运行阶段的开销;
对于前后相邻的两个运行时长中的状态,其转移开销通过虚拟机迁移开销模型得到,设为前一个状态后端点到下一个状态前端点的一条边,即为转移边,该边长度为集群状态改变的调整或迁移开销;
设所有作业的公共周期为T个运行阶段,则图模型在到达第2T个运行阶段后下一个运行阶段为第T+1个运行阶段。
其中,所述通过求解分阶段图模型确定虚拟机迁移路径的过程包括:
从起点开始到终点为第2T+1个阶段的任一状态的一条最短路径,其开销为该路径上4T+1条边的长度和,其中2T+1条转移边,2T条运行边;该最短路径为虚拟机迁移路径。
其中,所述方法还包括:
在虚拟机在线状态下,利用时间序列模型对虚拟机的监控进行负载预测;
在监测到虚拟机所需资源与离线分配的资源的概率产生的偏差,大于阈值时,计算虚拟机对应的需要分配的资源;
根据需要分配的资源情况,通过虚拟机监视器进行虚拟机的本地调整和全局迁移。
本发明实施例还提供一种虚拟机调度系统,包括:
运行特点确定模块,用于在虚拟机离线状态下,对虚拟机集群的运行日志进行分析,得到虚拟机集群中的各虚拟机作业的运行特点;
特征曲线确定模块,用于根据所述各虚拟机作业的运行特点,拟合得到虚拟机各负载相关参数的特征曲线;
第一阶段划分模块,用于根据所述特征曲线,将虚拟机运行周期分为多个初始阶段,在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图,所述第一直方图表示初始的虚拟机资源需求变化关系;
第二阶段划分模块,用于调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图,根据所述第二直方图进行最终阶段划分;
路径确定模块,用于根据第二直方图,求解分阶段图模型,通过求解分阶段图模型确定虚拟机迁移路径。
其中,所述第一阶段划分模块包括:
周期长度确定单元,用于将虚拟机集群监视的单位周期确定为一个周期长度;
划分单元,用于以虚拟机集群监视的单位周期为一个周期长度,将所述特征曲线对应的虚拟机运行周期划分为多个初始阶段,一个初始阶段的长度与所述一个单位周期长度对应;
资源需求确定单元,用于确定各阶段的负载参数值,得到虚拟机各阶段的资源需求;
第一直方图确定单元,用于将虚拟机各阶段的资源需求表现为第一直方图;
所述第二阶段划分模块包括:
第二直方图确定单元,用于调用Ei=min{Ej+TEj→i+REj+1→i},0≤j<i对所述特征曲线中的负载参数进行调整,从而调整第一直方图,得到第二直方图,其中,TEj→i为虚拟机从阶段j到阶段i的迁移能耗,REj+1→i为虚拟机从阶段j+1到阶段i状态的运行能耗。
其中,所述路径确定模块包括:
分阶段图模型求解单元,用于以虚拟机集群的当前状态为起点,通过迁移模型得到下一运行阶段的若干种虚拟机放置状态,对于每种状态,其一个运行阶段的开销通过能耗模型得到,设为一条连接该状态前端点和后端点的一条边,即为运行边,该边长度为虚拟机保持在该状态下一个运行阶段的开销,对于前后相邻的两个运行时长中的状态,其转移开销通过虚拟机迁移开销模型得到,设为前一个状态后端点到下一个状态前端点的一条边,即为转移边,该边长度为集群状态改变的迁移开销,设所有作业的公共周期为T个运行阶段,则图模型在到达第2T个运行阶段后下一个运行阶段为第T+1个运行阶段;
最短路径确定单元,用于从起点开始到终点为第2T+1个阶段的任一状态的一条最短路径,其开销为该路径上4T+1条边的长度和,其中2T+1条转移边,2T条运行边;该最短路径为虚拟机迁移路径。
其中,所述系统还包括:
在线调度模块,用于在虚拟机在线状态下,利用时间序列模型对虚拟机的监控进行负载预测,在监测到虚拟机所需资源与离线分配的资源的概率产生的偏差,大于阈值时,计算虚拟机对应的需要分配的资源,根据需要分配的资源情况,通过虚拟机监视器进行虚拟机的本地调整和全局迁移。
基于上述技术方案,本发明实施例提供的虚拟机调度方法从虚拟机的运行作业特点及运行周期性出发,通过离线的日志分析挖掘作业特点,进行资源量调整得到虚拟机资源需求曲线,通过结合虚拟机负载模型和能耗模型得到分阶段图模型,使用分阶段图模型进行虚拟机离线迁移方案的确定;本发明实施例提供的虚拟机调度方法,考虑了虚拟机负载模型和能耗模型、虚拟机作业特点、运行周期等与能耗相关的因素进行虚拟机迁移方案的确定,这使得本发明实施例提供的虚拟机调度方法具备节能针对性,能较大的提升节能效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的虚拟机调度方法的流程图;
图2为本发明实施例提供的特征曲线的示意图;
图3为本发明实施例提供的从第一直方图调整为第二直方图的示意图;
图4为本发明实施例提供的虚拟机调度算法示意图;
图5为本发明实施例提供的虚拟机调度示意图;
图6为本发明实施例提供的虚拟机调度系统的结构框图;
图7为本发明实施例提供的第一阶段划分模块的结构框图;
图8为本发明实施例提供的第二阶段划分模块的结构框图;
图9为本发明实施例提供的路径确定模块的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的虚拟机调度方法的流程图,参照图1,该方法可以包括:
步骤S100、在虚拟机离线状态下,对虚拟机集群的运行日志进行分析,得到虚拟机集群中的各虚拟机作业的运行特点;
虚拟机集群是由多个运行着虚拟机管理器(VirtualMachineManager,VMM)的物理节点(PhysicalNode,PN)构成的集群,VMM之上同时运行着多个操作系统,每个操作系统都包括虚拟的资源(CPU、内存、硬盘等),通过VMM的资源调度算法,这些操作系统共享物理机的资源。本发明实施例提供的虚拟机调度方法可通过与VMM通信,并配合其它集群监控系统和电源管理等方式监控物理节点和虚拟节点,对集群进行管理,提高能耗效率达到节能的目的。
可选的,可由分布于各物理节点之上的VMM以及电能记录设备构成采集终端,周期性地进行能耗和负载参数采集,将负载参数和能耗数据传输到主节点,作为实时数据供后续迁移路径的确定使用,并在物理机内设置日志系统,记录各采集终端传输的数据并向外部提供查询接口。
步骤S200、根据所述各虚拟机作业的运行特点,拟合得到虚拟机各负载相关参数的特征曲线;
各负载相关参数可以是CPU、内存、带宽等运行参数,获取了各作业的运行特点后,即可获得各作业相关的运行参数,将这些运行参数通过曲线图进行表示,即得到步骤S200中的特征曲线。图2为本发明实施例提供的特征曲线的示意图,可一同参照,其表示的是内存的负载参数,这些负载参数均通过对内存的日志分析后获得。
步骤S300、根据所述特征曲线,将虚拟机运行周期分为多个初始阶段,在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图;
第一直方图表示初始的虚拟机资源需求变化关系。可选的,可以虚拟机集群监视的单位周期为一个周期长度,将所述特征曲线对应的虚拟机运行周期划分为多个初始阶段,一个初始阶段的长度与该一个周期长度对应;然后可确定各阶段的负载参数值,得到虚拟机各阶段的资源需求,将虚拟机各阶段的资源需求表现为第一直方图。
步骤S400、调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图,根据所述第二直方图进行最终阶段划分;
虚拟机负载曲线按单位周期长度划分成第一直方图后,将调用动态规划算法,对第一直方图进行调整,得到一个新的分阶段直方图(即第二直方图),第二直方图具有更粗粒度,每阶段长度不一定是一个单位周期,该直方图满足任一周期负载参数均大于前一个直方图。具体的,可采用动态规划的方法,对曲线的负载参数调整形成新的直方图。动态规划状态转移方程如下:
Ei=min{Ej+TEj→i+REj+1→i},0≤j<i
其中TEj→i为虚拟机从阶段j到阶段i的迁移能耗,REj+1→i为虚拟机从阶段j+1到阶段i状态的运行能耗。
可选的,可在进行最终阶段划分时,将所有曲线的阶段划分点取并集得到所有阶段图模型中的阶段划分点。
图3示出了从第一直方图到第二直方图的示意图,可一同参照。在第一直方图至第二直方图的变化中,若设{Ri,1≤i≤n}为第一直方图的资源参数的序列,{R'i,1≤i≤n}为第二直方图的参数序列,则对于任意i均有Ri′≥Ri,当存在下标序列{ki,1≤i≤m}时,Rki≠Rki-1;设从虚拟机模型可得其带来的调整开销为{TEj→i};则第二直方图对应的虚拟机的总开销E为:
REi表示第i阶段的运行开销。
步骤S500、根据第二直方图,求解分阶段图模型,通过求解分阶段图模型确定虚拟机迁移路径。
其中,可通过分析虚拟机集群的能耗模型及虚拟机的负载模型求解分阶段图模型。结合图4所示虚拟机调度算法示意图,使用分阶段的图模型描述虚拟机的调度过程可如下所示:
1、假设虚拟机集群的当前状态(或完全未部署任何应用的状态)为起点S;
2、在软硬件资源限制范围内,通过迁移模型(可为装箱模型)可以得到下一运行阶段的若干种可能的虚拟机放置状态,每种状态分裂为图中的两个点,分别为前端点1_1和后端点1_2;
3、而对于每种状态,其一个运行阶段的开销可以通过能耗模型得到,设为一条连接该状态前端点和后端点的一条边(运行边),该边长度为虚拟机保持在该状态下一个运行阶段的(能耗和性能损失)开销;
4、对于前后相邻的两个运行时长中的状态,其转移开销可以通过虚拟机迁移开销模型得到,设为前一个状态后端点到下一个状态前端点的一条边(转移边),该边长度为集群状态改变的迁移开销(若不发生迁移则边长为0);
5、设所有作业的公共周期为T个运行阶段,则图模型在到达第2T个运行阶段后下一个运行阶段应该为第T+1个运行阶段;
至此,虚拟机的迁移即可转换为在以上层次图模型中求一个阶段数为2T的最短路径。由于每一个周期可能产生的状态很多,对于离线调度的图模型利用启发式规则进行求解,确定虚拟机迁移路径的过程可如下:
对于初始状态,使用装箱问题模型进行求解,得到若干初始的部署;
对于其它任一阶段,通过对上一阶段的状态的延续或通过虚拟机部署的局部最优放置方法求解迁移得到新的状态,在每一阶段保留若干的部署状态;
最终结果为从源点开始到终点为第(2T+1)个阶段的某一状态的一条最短路径,其开销为该路径上(4T+1)条边的长度和,其中(2T+1)条转移边,2T条运行边。
图5示出了虚拟机迁移示意图,可一同参照。
本发明实施例提供的虚拟机调度方法从虚拟机的运行作业特点及运行周期性出发,通过离线的日志分析挖掘作业特点,进行资源量调整得到虚拟机资源需求曲线,通过结合虚拟机负载模型和能耗模型得到分阶段图模型,使用图模型进行虚拟机离线迁移方案的确定;本发明实施例提供的虚拟机调度方法,考虑了虚拟机负载模型和能耗模型、虚拟机作业特点、运行周期等与能耗相关的因素进行虚拟机迁移方案的确定,这使得本发明实施例提供的虚拟机调度方法具备节能针对性,能较大的提升节能效果。
可选的,对于每个阶段局部的最优虚拟机部署,构建装箱问题模型,可采用启发式的局部虚拟机放置方法求解:
1、最初装箱状态为上一阶段已经提供的初始状态ST0;
2、如果当前阶段的虚拟机资源参数小于ST0中配置,则可以维持虚拟机配置不变,此时该虚拟机带来的改变开销为0即不改变ST0到该状态的起点的(转移边)边长,但需要按照ST0中配置计算阶段内部的(运行边)边长;
3、无论是否超出物理节点资源限制,都可以对ST0中虚拟机配置进行调整得到达到当前资源需求,其开销根据来源有多种计算方式:(a)、若直接通过虚拟机参数调整而不会超出物理机资源限制,则此时可选择本地调整,其增加的开销(运行边边长)为虚拟机调整开销;(b)另外可以选择迁移调整,其增加的开销为虚拟机迁移开销;
4、回溯调整:如果当前阶段虚拟机对资源的需求大于上一阶段,在调整上一阶段的虚拟机参数而不会超过物理节点资源限制的情况下,补充生成一个上一阶段的节点,其表示的状态中虚拟机的参数与本阶段资源参数相同,并重新计算上一阶段状态该对应状态的转移边的和运行边边长(同时允许该过程向前扩展),而不增加上一阶段状态到当前状态的转移边的长度。
启发式函数:从初始状态到当前状态ST经过了t条边,开销C1,加上以后各状态分别进行不考虑前后状态的最优装箱部署时的边长为Ca,则其启发函数值h(ST)为:
T为周期,除了启发式函数外,使用非最优剪枝:设当前已知最小启发函数值为h0,若一个状态启发函数值h≥ah0。
为了获取虚拟机能耗模型,可采用基于实验测试能耗的方法建立基于负载参数的虚拟机能耗模型,方法可以如下:
1、设计实验综合测试能耗和CPU、内存占用和IO、磁盘I/O、带宽占用大小的关系,测试不同负载参数下的能耗;
2、使用混合高斯模型建立多负载参数与能耗的关系函数,从而形成虚拟机能耗模型。
基于以上能耗模型的需求,可设计出一种基准测试平台,该平台将由物理机集群、智能插座、能耗采集硬件和系统等,以及虚拟机及管理软件、负载生成器、节点上的监控进程、日志系统、实验调度模块组成的基准测试软件组成;物理机和虚拟机资源、负载参数、模拟生成的作业作为参数,对于不同的参数使用电表进行能耗记录;通过监控进程和能耗记录模块得到的运行日志作为依据建立负载参数虚拟机能耗模型。
使用以上基准测试实验平台,也可以建立基于作业的虚拟机能耗模型。通过作业及他们之间不同的组合方式所使用的资源的不同,以及作业在运行的不同阶段的负载参数的不同,间接建立他们的能耗模型并进行验证。
特别地,针对虚拟机的不同迁移模式,利用基准测试实验平台建立虚拟机迁移的能耗模型。
可选的,本发明除了可进行离线的虚拟机迁移调度外,还可在在线状态进行虚拟机的实时迁移调度,图1所示方法还可以包括:在虚拟机在线状态下,利用时间序列模型对虚拟机的监控进行负载预测;在监测到虚拟机所需资源与离线分配的资源的概率产生的偏差,大于阈值时,计算虚拟机对应的需要分配的资源;根据需要分配的资源情况,通过虚拟机监视器进行虚拟机的本地调整迁移和全局迁移。此处进行负载预测主要发现可能产生的虚拟机过载以及物理机过载(VMM以及运行于其上的虚拟机的资源需求大于物理机配置),对于预测会产生过载的虚拟机,若本地物理机节点有空闲资源,则选择本地调整;否则需要进行虚拟机迁移,迁走的虚拟机未必是本虚拟机(此时该虚拟机进行调整),可能涉及把其它虚拟机迁移到当前物理机上;值得注意的是,发生虚拟机过载时必定涉及迁移过程(同时可能存在调整)。虚拟机的全局迁移可通过调度管理器实现。
具体的,采用时间序列模型对负载进行预测,令{Wi 0}表示离线分析得到作业负载参数时间序列,{Wi 1}表示实际运行中监视到的作业负载参数时间序列,则根据平稳时间序列模型,设{βi}为长度为k的实际观测负载影响参数序列(即之前的k个),并满足:
通过实验得到离线特征影响参数α和实际运行偏移影响参数Y的比例关系,并满足:
α+γ=1
在第i个周期,我们可以预测该周期的虚拟机负载参数符正态分布N(x:μ:ε),其中:
是运行于之上的的虚拟机节点负载的叠加。结合负载模型,可得到其联合概率分布作为物理节点的负载预测值。
设该物理节点上运行着n台虚拟机,按上节可知均符合概率正态分布:Wi=N(xi:μi:εi);
假设他们之间相互独立,同时考虑由负载模型中得到的VMM以及多虚拟机共存带来的额外开销,其负载参数依旧符合正态分布。本发明通过设定阈值进行在线调节,当负载超出物理节点的阈值范围时,进行调节:
1、当过载(负载参数超过物理机容量)的概率超过该概率时,若此时物理机处于调低频率和电压的状态则进行相应的调节,否则进行虚拟机迁出;
2、当低载的概率超过对应概率时,进行物理机的降压或降频,甚至进行虚拟机迁移。
下面对本发明实施例提供的虚拟机调度系统进行描述,下文描述的虚拟机调度系统与上文描述的虚拟机调度方法对应,两者可相互参照。
图6为本发明实施例提供的虚拟机调度系统的结构框图,参照图6,该系统可以包括:
运行特点确定模块100,用于在虚拟机离线状态下,对虚拟机集群的运行日志进行分析,得到虚拟机集群中的各虚拟机作业的运行特点;
特征曲线确定模块200,用于根据所述各虚拟机作业的运行特点,拟合得到虚拟机各负载相关参数的特征曲线;
第一阶段划分模块300,用于根据所述特征曲线,将虚拟机运行周期分为多个初始阶段,在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图,所述第一直方图表示初始的虚拟机资源需求变化关系;
第二阶段划分模块400,用于调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图,根据所述第二直方图进行最终阶段划分;
路径确定模块500,用于根据第二直方图,求解分阶段图模型,通过求解分阶段图模型确定虚拟机迁移路径。
其中,第一阶段划分模块300的结构可如图7所示,包括:
周期长度确定单元310,用于将虚拟机集群监视的单位周期确定为一个周期长度;
划分单元320,用于以虚拟机集群监视的单位周期为一个周期长度,将所述特征曲线对应的虚拟机运行周期划分为多个阶段,一个阶段的长度与所述一个周期长度对应。
资源需求确定单元330,用于确定各阶段的负载参数值,得到虚拟机各阶段的资源需求;
第一直方图确定单元340,用于将虚拟机各阶段的资源需求表现为第一直方图。
第二阶段划分模块400的结构可如图8所示,包括:
第二直方图确定单元410,用于调用Ei=min{Ej+TEj→i+REj+1→i},0≤j<i对所述特征曲线中的负载参数进行调整,从而调整第一直方图,得到第二直方图,其中,TEj→i为虚拟机从阶段j到阶段i的迁移能耗,REj+1→i为虚拟机从阶段j+1到阶段i状态的运行能耗。
若设{Ri,1≤i≤n}为第一直方图的资源参数的序列,{Ri′,1≤i≤n}为第二直方图的资源参数序列,对于任意i均有Ri′≥Ri,当存在下标序列{ki,1≤i≤m}时,Rki≠Rki-1;设从虚拟机模型可得其带来的调整开销为{TEj→i};则第二直方图对应的虚拟机的总开销E为:
REi表示第i阶段的运行开销。
图9为本发明实施例提供的路径确定模块的结构框图,参照图9,图9所示路径确定模块500可以包括:
分阶段图模型求解单元510,用于以虚拟机集群的当前状态为起点,通过迁移模型得到下一运行阶段的若干种虚拟机放置状态,对于每种状态,其一个运行阶段的开销通过能耗模型得到,设为一条连接该状态前端点和后端点的一条边,即为运行边,该边长度为虚拟机保持在该状态下一个运行阶段的开销,对于前后相邻的两个运行时长中的状态,其转移开销通过虚拟机迁移开销模型得到,设为前一个状态后端点到下一个状态前端点的一条边,即为转移边,该边长度为集群状态改变的迁移开销,设所有作业的公共周期为T个运行阶段,则图模型在到达第2T个运行阶段后下一个运行阶段为第T+1个运行阶段;
最短路径确定单元520,用于从起点开始到终点为第2T+1个阶段的任一状态的一条最短路径,其开销为该路径上4T+1条边的长度和,其中2T+1条转移边,2T条运行边;该最短路径为虚拟机迁移路径。
可选的,图6所示系统还可以包括:
在线调度模块(未图示),用于在虚拟机在线状态下,利用时间序列模型对虚拟机的监控进行负载预测,在监测到虚拟机所需资源与离线分配的资源的概率产生的偏差,大于阈值时,计算虚拟机对应的需要分配的资源,根据需要分配的资源情况,通过虚拟机监视器进行虚拟机的本地调整和全局迁移。
本发明实施例提供的虚拟机调度系统从虚拟机的运行作业特点及运行周期性出发,通过离线的日志分析挖掘作业特点,进行资源量调整得到虚拟机资源需求曲线,通过结合虚拟机负载模型和能耗模型得到分阶段图模型,使用该图模型进行虚拟机离线迁移方案的确定;本发明实施例提供的虚拟机调度系统,考虑了虚拟机负载模型和能耗模型、虚拟机作业特点、运行周期等与能耗相关的因素进行虚拟机迁移方案的确定,这使得本发明实施例提供的虚拟机调度系统具备节能针对性,能较大的提升节能效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种虚拟机调度方法,其特征在于,包括:
在虚拟机离线状态下,对虚拟机集群的运行日志进行分析,得到虚拟机集群中的各虚拟机作业的运行特点;
根据所述各虚拟机作业的运行特点,拟合得到虚拟机各负载相关参数的特征曲线;
根据所述特征曲线,将虚拟机运行周期分为多个初始阶段,在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图,所述第一直方图表示初始的虚拟机资源需求变化关系;
调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图,根据所述第二直方图进行最终阶段划分;
根据第二直方图,求解分阶段图模型,通过求解分阶段图模型确定虚拟机迁移路径;
其中,所述根据所述特征曲线,将虚拟机运行周期分为多个初始阶段的过程包括:
以虚拟机集群监视的单位周期为一个周期长度,将所述特征曲线对应的虚拟机运行周期划分为多个初始阶段,一个初始阶段的长度与所述一个单位周期长度对应;
所述在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图的过程包括:
确定各阶段的负载参数值,得到虚拟机各初始阶段的资源需求,将虚拟机各初始阶段的资源需求表现为第一直方图;
其中,所述调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图的过程包括:
调用Ei=min{Ej+TEj→i+REj+1→i},0≤j<i对所述特征曲线中的负载参数进行调整,从而调整第一直方图,得到第二直方图,其中,TEj→i为虚拟机从阶段j到阶段i的迁移能耗,REj+1→i为虚拟机从阶段j+1到阶段i状态的运行能耗;Ei为第二直方图对应的虚拟机的第i阶段的总开销;
其中,所述根据第二直方图,求解分阶段图模型的过程包括:
以虚拟机集群的当前状态为起点,通过迁移模型得到下一运行阶段的若干种虚拟机放置状态;
对于每种状态,其在一个运行阶段的开销通过能耗模型得到,设为一条连接该状态前端点和后端点的一条边,即为运行边,该边长度为虚拟机保持在该状态下一个运行阶段的开销;
对于前后相邻的两个运行时长中的状态,其转移开销通过虚拟机迁移开销模型得到,设为前一个状态后端点到下一个状态前端点的一条边,即为转移边,该边长度为集群状态改变的调整或迁移开销;
设所有作业的公共周期为T个运行阶段,则图模型在到达第2T个运行阶段后下一个运行阶段为第T+1个运行阶段;
其中,所述通过求解分阶段图模型确定虚拟机迁移路径的过程包括:
从起点开始到终点为第2T+1个阶段的任一状态的一条最短路径,其开销为该路径上4T+1条边的长度和,其中2T+1条转移边,2T条运行边;该最短路径为虚拟机迁移路径。
2.根据权利要求1所述的方法,其特征在于,还包括:
在虚拟机在线状态下,利用时间序列模型对虚拟机的监控进行负载预测;
在监测到虚拟机所需资源与离线分配的资源的概率产生的偏差,大于阈值时,计算虚拟机对应的需要分配的资源;
根据需要分配的资源情况,通过虚拟机监视器进行虚拟机的本地调整和全局迁移。
3.一种虚拟机调度系统,其特征在于,包括:
运行特点确定模块,用于在虚拟机离线状态下,对虚拟机集群的运行日志进行分析,得到虚拟机集群中的各虚拟机作业的运行特点;
特征曲线确定模块,用于根据所述各虚拟机作业的运行特点,拟合得到虚拟机各负载相关参数的特征曲线;
第一阶段划分模块,用于根据所述特征曲线,将虚拟机运行周期分为多个初始阶段,在所述特征曲线中对所划分的多个初始阶段进行资源需求量计算,得到第一直方图,所述第一直方图表示初始的虚拟机资源需求变化关系;
第二阶段划分模块,用于调用动态规划算法对所述第一直方图进行局部资源分配最优调整,得到第二直方图,根据所述第二直方图进行最终阶段划分;
路径确定模块,用于根据第二直方图,求解分阶段图模型,通过求解分阶段图模型确定虚拟机迁移路径;
其中,所述第一阶段划分模块包括:
周期长度确定单元,用于将虚拟机集群监视的单位周期确定为一个周期长度;
划分单元,用于以虚拟机集群监视的单位周期为一个周期长度,将所述特征曲线对应的虚拟机运行周期划分为多个初始阶段,一个初始阶段的长度与所述一个周期长度对应;
资源需求确定单元,用于确定各阶段的负载参数值,得到虚拟机各阶段的资源需求;
第一直方图确定单元,用于将虚拟机各阶段的资源需求表现为第一直方图;
所述第二阶段划分模块包括:
第二直方图确定单元,用于调用Ei=min{Ej+TEj→i+REj+1→i},0≤j<i对所述特征曲线中的负载参数进行调整,从而调整第一直方图,得到第二直方图,其中,TEj→i为虚拟机从阶段j到阶段i的迁移能耗,REj+1→i为虚拟机从阶段j+1到阶段i状态的运行能耗;Ei为第二直方图对应的虚拟机的第i阶段的总开销;
其中,所述路径确定模块包括:
分阶段图模型求解单元,用于以虚拟机集群的当前状态为起点,通过迁移模型得到下一运行阶段的若干种虚拟机放置状态,对于每种状态,其一个运行阶段的开销通过能耗模型得到,设为一条连接该状态前端点和后端点的一条边,即为运行边,该边长度为虚拟机保持在该状态下一个运行阶段的开销,对于前后相邻的两个运行时长中的状态,其转移开销通过虚拟机迁移开销模型得到,设为前一个状态后端点到下一个状态前端点的一条边,即为转移边,该边长度为集群状态改变的迁移开销,设所有作业的公共周期为T个运行阶段,则图模型在到达第2T个运行阶段后下一个运行阶段为第T+1个运行阶段;
最短路径确定单元,用于从起点开始到终点为第2T+1个阶段的任一状态的一条最短路径,其开销为该路径上4T+1条边的长度和,其中2T+1条转移边,2T条运行边;该最短路径为虚拟机迁移路径。
4.根据权利要求3所述的系统,其特征在于,还包括:
在线调度模块,用于在虚拟机在线状态下,利用时间序列模型对虚拟机的监控进行负载预测,在监测到虚拟机所需资源与离线分配的资源的概率产生的偏差,大于阈值时,计算虚拟机对应的需要分配的资源,根据需要分配的资源情况,通过虚拟机监视器进行虚拟机的本地调整和全局迁移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210569919.3A CN102981893B (zh) | 2012-12-25 | 2012-12-25 | 一种虚拟机调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210569919.3A CN102981893B (zh) | 2012-12-25 | 2012-12-25 | 一种虚拟机调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102981893A CN102981893A (zh) | 2013-03-20 |
CN102981893B true CN102981893B (zh) | 2015-11-25 |
Family
ID=47855954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210569919.3A Active CN102981893B (zh) | 2012-12-25 | 2012-12-25 | 一种虚拟机调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981893B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955397B (zh) * | 2014-04-28 | 2017-01-04 | 浙江大学 | 一种基于微架构感知的虚拟机调度多策略选择方法 |
CN105607948A (zh) * | 2015-12-18 | 2016-05-25 | 国云科技股份有限公司 | 一种基于sla的虚拟机迁移预测方法 |
CN105573279B (zh) * | 2015-12-31 | 2018-12-21 | 广州中国科学院先进技术研究所 | 一种基于传感器数据监测工业生产过程的方法 |
CN106201700A (zh) * | 2016-07-19 | 2016-12-07 | 北京工业大学 | 一种虚拟机在线迁移的调度方法 |
CN107566470B (zh) * | 2017-08-25 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 云数据系统中管理虚拟机的方法和装置 |
WO2019218169A1 (zh) * | 2018-05-16 | 2019-11-21 | 深圳大学 | 一种基于概率分布的工作流资源配置优化方法和系统 |
CN109325344A (zh) * | 2018-09-13 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种云环境中防御侧信道攻击的虚拟机迁移方法及系统 |
CN109976880B (zh) * | 2019-04-10 | 2021-08-31 | 上海东方财富证券投资咨询有限公司 | 一种虚拟机资源使用的方法及其系统 |
CN113965574B (zh) * | 2021-09-27 | 2022-07-12 | 西安交通大学 | 一种云服务数据中心备份虚拟资源调度方法及装置 |
CN114048004A (zh) * | 2021-11-22 | 2022-02-15 | 北京志凌海纳科技有限公司 | 虚拟机高可用批量调度方法、装置、设备及存储介质 |
CN118394583B (zh) * | 2024-06-27 | 2024-09-27 | 苏州元脑智能科技有限公司 | 磁盘状态转化的测试方法、装置、设备、介质及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937357A (zh) * | 2009-07-01 | 2011-01-05 | 华为技术有限公司 | 一种虚拟机迁移决策方法、装置及系统 |
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102724277A (zh) * | 2012-05-04 | 2012-10-10 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群系统 |
-
2012
- 2012-12-25 CN CN201210569919.3A patent/CN102981893B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937357A (zh) * | 2009-07-01 | 2011-01-05 | 华为技术有限公司 | 一种虚拟机迁移决策方法、装置及系统 |
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102724277A (zh) * | 2012-05-04 | 2012-10-10 | 华为技术有限公司 | 虚拟机热迁移和部署的方法、服务器及集群系统 |
Non-Patent Citations (1)
Title |
---|
绿色数据中心的服务器节能机制与策略;吴甜,刘利祥,虎嵩林;《微电子学与计算机》;20110831;第28卷(第8期);第108-111页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102981893A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981893B (zh) | 一种虚拟机调度方法及系统 | |
CN104636187B (zh) | 基于负载预测的numa架构中虚拟机调度方法 | |
CN106844051A (zh) | 一种边缘计算环境中功耗优化的负载任务迁移算法 | |
CN105808341B (zh) | 一种资源调度的方法、装置和系统 | |
CN103401939A (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN105005570A (zh) | 基于云计算的海量智能用电数据挖掘方法及装置 | |
Zidenberg et al. | Multiamdahl: How should i divide my heterogenous chip? | |
Azizi et al. | A priority-based service placement policy for fog-cloud computing systems | |
CN102591443A (zh) | 一种虚拟化集群整合方法、装置及系统 | |
CN105426241A (zh) | 一种基于云计算数据中心的统一资源调度节能方法 | |
CN103605578A (zh) | 基于虚拟机迁移的负载均衡调度方法 | |
CN105373432A (zh) | 一种基于虚拟资源状态预测的云计算资源调度方法 | |
US12079654B2 (en) | Virtual machine deployment method, virtual machine management method having the same and virtual machine management system implementing the same | |
Padoin et al. | Saving energy by exploiting residual imbalances on iterative applications | |
Czarnul et al. | Optimization of execution time under power consumption constraints in a heterogeneous parallel system with gpus and cpus | |
CN105426247A (zh) | 一种hla联邦成员规划调度方法 | |
CN105049499A (zh) | 一种基于多立方体映射的网络功能虚拟化资源分配方法 | |
CN103617305A (zh) | 一种自适应的电力仿真云计算平台作业调度算法 | |
CN103685541B (zh) | IaaS云系统运行速率动态控制装置、系统及方法 | |
CN104331326A (zh) | 一种云计算调度方法和系统 | |
CN104090813A (zh) | 一种云数据中心的虚拟机cpu使用率的分析建模方法 | |
CN104699520B (zh) | 一种基于虚拟机迁移调度的节能方法 | |
US11544649B2 (en) | Electric vehicles operation management equipment | |
Tsoutsouras et al. | Job-arrival aware distributed run-time resource management on intel scc manycore platform | |
CN103530183B (zh) | 大规模异构计算系统中任务计算量具有随机性的调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |