CN108073449A - 一种虚拟机动态放置方法 - Google Patents
一种虚拟机动态放置方法 Download PDFInfo
- Publication number
- CN108073449A CN108073449A CN201711162358.4A CN201711162358A CN108073449A CN 108073449 A CN108073449 A CN 108073449A CN 201711162358 A CN201711162358 A CN 201711162358A CN 108073449 A CN108073449 A CN 108073449A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msubsup
- msub
- virtual machine
- host
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013508 migration Methods 0.000 claims description 18
- 230000005012 migration Effects 0.000 claims description 18
- 238000005265 energy consumption Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000002618 waking effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 4
- 238000005457 optimization Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241001134453 Lista Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- 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)
- Power Sources (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种虚拟机动态放置方法,该方法首先定义数据中心物理主机电能消耗、资源使用和资源平衡等管理目标的评估函数,然后基于这些评估函数,对本发明提出的虚拟机动态放置方法中Top‑K选择、SLA约束和选择策略关键步骤作了介绍,最后给出了虚拟机动态放置方法的流程框图,该方法具有线性时间复杂度O(m)。本发明统筹考虑服务质量、电能消耗、资源使用和资源平衡多个优化目标,因而在大规模云计算数据中心环境下的虚拟机动态管理过程中能快速决策虚拟机的放置位置,更能适应大规模的数据中心环境。
Description
技术领域
本发明涉及一种虚拟机动态管理方法,特别涉及一种虚拟机动态放置方法。
背景技术
近年来,随着社交网络、电子商务和在线视频等新一代大规模互联网应用的普及,云计算迅猛发展。数据中心作为云计算的核心,其性能对上层云计算服务具有重要影响。然而,目前数据中心存在着电能消耗过高、资源使用率过低以及资源使用不平衡等突出问题,这些问题严重制约了云计算数据中心的性能。为改善数据中心的整体性能,利用虚拟机迁移技术对虚拟机进行动态管理,成为了数据中心管理研究领域的热点话题。
虚拟机动态管理主要包括三个过程:(1)主机触发迁移时机的决策;(2)迁移虚拟机的选择;(3)虚拟机放置位置的选择。其中,虚拟机放置位置的选择是虚拟机动态管理的核心,它不仅直接指导着数据中心虚拟机的动态放置,而且决定了虚拟机动态放置后整个数据中心的运营效益。为了选择合适的虚拟机放置位置,已有工作提出了许多虚拟机动态放置方法。但是,对于有n个待虚拟机和m个物理主机的虚拟机动态放置问题,已有方法时间复杂度达到O(m*n),方法时间复杂度较高,难以适应大规模的数据中心环境,因此有待改进。
发明内容
本发明的目的在于提出一种虚拟机动态放置方法,能够动态、高效地为需要迁移的虚拟机选择放置位置,该方法的时间复杂度低,更能适应性大规模的数据中心环境。
本发明为了实现上述目的,采用如下技术方案:
一种虚拟机动态放置方法,包括如下步骤:
s1.控制节点接收到迁移请求;
s2.初始配置时选择Top-K个物理主机建立大顶堆,并创建一个已用主机集合;
s3.判断虚拟机是否迁移完成:若否,则执行步骤s4,若是,则执行步骤s10;
s4.选择一个待迁移的虚拟机;
s5.判断已用主机集合是否为空:若否,则执行步骤s6,若是,则执行步骤s8;
s6.判断当前虚拟机运行到已用主机集合中的物理主机上是否满足SLA约束条件:若满足,则执行步骤s7,若不满足,则执行步骤s8;
s7.使用选择策略为当前虚拟机选择最佳放置主机,执行步骤s9;
s8.判断当前虚拟机运行到大顶堆的顶堆主机上是否满足SLA约束条件:
若满足,则将堆顶主机作为当前虚拟机的最佳放置位置,并将堆顶主机加入到已用主机集合中,调整大顶堆,然后执行步骤s9;
若不满足,则执行失败策略,唤醒一个休眠的物理主机放置当前虚拟机,执行步骤s3;
s9.将当前虚拟机和其放置位置加入到迁移计划中,执行步骤s3;
s10.结束放置位置选择,输出迁移计划。
优选地,所述步骤s2中,选择物理主机的依据是数据中心物理主机的装载程度;
从内存、CPU以及网络带宽资源使用率均小于过载阈值的物理主机中选择装载程度较大的K个物理主机建立大顶堆。
优选地,装载程度定义如下:
其中,Fj表示装载程度,和分别为内存、CPU和网络带宽资源的权重, 分别表示物理主机pj内存、CPU、网络带宽的资源使用率,m为物理主机数量;
Bj表示资源平衡度,Bj的计算公式如下:
其中,表示平均资源使用率,的计算公式如下:
优选地,SLA约束定义如下:
其中,需要迁移的虚拟机集合为{v1,v2,…,vn},虚拟机vi的最大资源需求表示为3维向量虚拟机vi的资源利用率表示为3维向量
ri mem,ri cpu,ri bw分别表示虚拟机vi的内存、CPU和网络带宽的最大需求量;分别表示虚拟机vi的内存、CPU和网络带宽的使用率。
用于放置虚拟机的物理主机集合为{p1,p2,…,pm},物理主机pj的最大资源容量表示为3维向量物理主机pj的资源利用率表示为3维向量
分别表示物理主机pj的内存、CPU和网络带宽最大容量;分别表示物理主机pj的内存、CPU和网络带宽的使用率。
如果虚拟机vi放置到物理主机pj上,则aij=1,否则aij=0。
和分别为内存、CPU和网络带宽资源使用率的过载阈值。
优选地,选择策略综合考虑了物理主机的电能消耗、平均资源使用率和资源平衡度,即:
其中,Pj表示电能消耗,表示平均资源使用率,Bj表示资源平衡度;
物理主机的电能消耗Pj的计算公式如下:
其中,表示物理主机pj空闲状态下的能耗,表示物理主机pj满负载状态下的能耗,表示物理主机pj的CPU使用率;
在所有满足SLA约束条件的物理主机中选择Ej最小的物理主机放置虚拟机。
本发明具有如下优点:
本发明统筹考虑服务质量、电能消耗、资源使用和资源平衡多个优化目标,为大规模云计算数据中心环境下虚拟机管理提供了一种虚拟机动态放置方法,可以动态、高效地为需要迁移的虚拟机选择放置位置,具有线性时间复杂度,更适用于大规模数据中心环境。
附图说明
图1为本发明中一种虚拟机动态放置方法的流程框图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
设定需要迁移的虚拟机集合为{v1,v2,…,vn},虚拟机vi的最大资源需求表示为3维向量虚拟机vi的资源利用率表示为3维向量
ri mem,ri cpu,ri bw分别表示虚拟机vi的内存、CPU和网络带宽的最大需求量;分别表示虚拟机vi的内存、CPU和网络带宽的使用率。
设定用于放置虚拟机的物理主机集合为{p1,p2,…,pm},物理主机pj的最大资源容量表示为3维向量物理主机pj的资源利用率表示为3维向量
分别表示物理主机pj的内存、CPU和网络带宽最大容量;分别表示物理主机pj的内存、CPU和网络带宽的使用率。
虚拟机动态放置问题要求求解合适的虚拟机和物理主机映射关系<v,p>,使得数据中心服务质量、电能消耗、资源使用率和资源平衡目标较优。
虚拟机动态放置问题既是组合优化问题,又是多目标优化问题,因此虚拟机动态放置问题求解非常困难。本发明采用启发式策略求解该问题,首先定义了以下管理目标的评估函数:
(1)能耗模型:
已往研究表明,物理主机的电能消耗和主机CPU使用率呈近似线性关系。
设物理主机pj空闲状态下的能耗为满负载状态下的能耗为表示物理主机pj的CPU使用率,则物理主机的能耗模型表示为:
由于物理主机空闲状态下的能耗约为满负载状态下能耗的70%左右,因此在主机运行过程中只要通过监控获取到其CPU利用率,就可以根据能耗模型计算主机当前的电能消耗。
(2)资源使用率:
CPU、内存、网络带宽是物理机的重要硬件资源。本发明用分别表示物理主机pj内存、CPU、网络带宽的资源使用率。
用平均资源使用率评估物理主机的整体资源使用情况,平均资源使用率定义为:
(3)资源平衡度:
虚拟机动态管理过程中保持数据中心物理主机内存、CPU和网络带宽使用率的相对平衡也非常重要,资源平衡能够避免主机单一资源不足成为限制虚拟机放置的瓶颈。为衡量内存、CPU和网络带宽使用率的平衡程度,本发明定义资源平衡度Bj如下:
物理主机资源平衡度Bj反映了物理主机内存使用率、CPU利用率和网络带宽利用率偏离平均资源使用率的程度。Bj越大,表示内存、CPU和网络带宽使用越平衡。
当三种资源使用率相等时,Bj达到最大值1。
基于上述定义的数据中心物理主机电能消耗、资源使用和资源平衡等管理目标的评估函数,对本发明提出的虚拟机动态放置方法作进一步描述:
结合图1所示,一种虚拟机动态放置方法,包括如下步骤:
s1.控制节点接收到迁移请求;
s2.初始配置时选择Top-K个物理主机建立大顶堆Heap,并创建一个已用主机集合used;
s3.判断虚拟机是否迁移完成:若否,则执行步骤s4,若是,则执行步骤s10;
s4.选择一个待迁移的虚拟机vm;
s5.判断已用主机集合used是否为空:若否,则执行步骤s6,若是,则执行步骤s8;
s6.判断当前虚拟机vm运行到已用主机集合used中的物理主机上是否满足SLA约束条件:若满足,则执行步骤s7,若不满足,则执行步骤s8;
s7.使用选择策略为当前虚拟机vm选择最佳放置主机,执行步骤s9;
s8.判断当前虚拟机vm运行到大顶堆Heap的顶堆主机上是否满足SLA约束条件:
若满足,则将堆顶主机作为当前虚拟机vm的最佳放置位置,并将堆顶主机加入到已用主机集合中,调整大顶堆,然后执行步骤s9;
若不满足,则执行失败策略,唤醒一个休眠的物理主机放置当前虚拟机,执行步骤s3;
s9.将当前虚拟机和其放置位置加入到迁移计划Map中,执行步骤s3;
s10.结束放置位置选择,输出迁移计划Map。
在上述步骤s2中,本发明中的K值为2,选择的依据是物理主机的装载程度。
装载程度定义如下:
其中,Fj表示装载程度,和分别为内存、CPU和网络带宽资源的权重,m为物理主机数量,1≤j≤m。Fj越大,代表物理主机资源使用越充分,优先选择Fj较大的物理主机来建立大顶堆。为了防止SLA违约,应保证选择的物理主机内存、CPU和网络带宽资源使用率都不超过设定的阈值。初始配置的过程是从内存、CPU以及网络带宽资源使用率都小于过载阈值的物理主机中选择Fj较大的K个主机来建立大顶堆。
虚拟机放置到物理主机上运行需要满足一定的约束条件,判断虚拟机能不能放置到物理主机上运行要看虚拟机放置到物理主机上后是否满足SLA约束。SLA约束定义如下:
其中,和分别为内存、CPU和网络带宽资源使用率的过载阈值。
如果虚拟机vi放置到物理主机pj上,则aij=1,否则aij=0。
过载阈值的设置要考虑到尽量降低物理主机的SLA违约的可能,以保证服务质量。
虚拟机迁移到物理主机上如果满足SLA约束,那么就能够使用该物理主机放置虚拟机。算法维持的已用主机集合中可能有多台物理主机能够放置待迁移虚拟机,为了从所有能够放置待迁移虚拟机的物理主机中选择最佳放置位置,本发明综合考虑物理主机的电能消耗、平均资源使用率和资源平衡度设计了如下的选择策略:
在所有满足SLA约束条件的物理主机中选择Ej最小的主机放置虚拟机。Ej最小等价于最大,表示该物理主机单位能量能获得最大的资源利用率和最高的资源平衡度,即能量的效率最高。从数据中心m个物理主机进行Top-K选择的时间复杂度为O(m·logK),从已用主机集合中为虚拟机选择放置位置的时间复杂度为O(n·logK)。
由于实际情况中虚拟机数量n远远小于物理主机数量m,K为常数,因此方法的时间复杂度为O(m)。本方法具有线性时间复杂度,因而在大规模云计算数据中心环境下的虚拟机动态管理过程中,能快速决策虚拟机的放置位置,进而更能适应大规模的数据中心环境。
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。
Claims (5)
1.一种虚拟机动态放置方法,其特征在于,包括如下步骤:
s1.控制节点接收到迁移请求;
s2.初始配置时选择Top-K个物理主机建立大顶堆,并创建一个已用主机集合;
s3.判断虚拟机是否迁移完成:若否,则执行步骤s4,若是,则执行步骤s10;
s4.选择一个待迁移的虚拟机;
s5.判断已用主机集合是否为空:若否,则执行步骤s6,若是,则执行步骤s8;
s6.判断当前虚拟机运行到已用主机集合中的物理主机上是否满足SLA约束条件:若满足,则执行步骤s7,若不满足,则执行步骤s8;
s7.使用选择策略为当前虚拟机选择最佳放置主机,执行步骤s9;
s8.判断当前虚拟机运行到大顶堆的顶堆主机上是否满足SLA约束条件:
若满足,则将堆顶主机作为当前虚拟机的最佳放置位置,并将堆顶主机加入到已用主机集合中,调整大顶堆,然后执行步骤s9;
若不满足,则执行失败策略,唤醒一个休眠的物理主机放置当前虚拟机,执行步骤s3;
s9.将当前虚拟机和其放置位置加入到迁移计划中,执行步骤s3;
s10.结束放置位置选择,输出迁移计划。
2.根据权利要求1所述的一种虚拟机动态放置方法,其特征在于,所述步骤s2中,选择物理主机的依据是数据中心物理主机的装载程度;从内存、CPU以及网络带宽资源使用率均小于过载阈值的物理主机中选择装载程度较大的K个物理主机建立大顶堆。
3.根据权利要求2所述的一种虚拟机动态放置方法,其特征在于,装载程度定义如下:
<mrow>
<msub>
<mi>F</mi>
<mi>j</mi>
</msub>
<mo>=</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>w</mi>
<mi>j</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>w</mi>
<mi>j</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>w</mi>
<mi>j</mi>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msub>
<mi>B</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<mn>1</mn>
<mo>&le;</mo>
<mi>j</mi>
<mo>&le;</mo>
<mi>m</mi>
<mo>;</mo>
</mrow>
其中,Fj表示装载程度,和分别为内存、CPU和网络带宽资源的权重, 分别表示物理主机pj内存、CPU、网络带宽的资源使用率,m为物理主机数量;
Bj表示资源平衡度,Bj的计算公式如下:
<mrow>
<msub>
<mi>B</mi>
<mi>j</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>3</mn>
<mrow>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>/</mo>
<msub>
<mover>
<mi>u</mi>
<mo>&OverBar;</mo>
</mover>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>/</mo>
<msub>
<mover>
<mi>u</mi>
<mo>&OverBar;</mo>
</mover>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>/</mo>
<msub>
<mover>
<mi>u</mi>
<mo>&OverBar;</mo>
</mover>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mfrac>
<mo>;</mo>
</mrow>
其中,表示平均资源使用率,的计算公式为:
4.根据权利要求3所述的一种虚拟机动态放置方法,其特征在于,SLA约束定义如下:
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msubsup>
<mi>vu</mi>
<mi>i</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<msubsup>
<mi>c</mi>
<mi>j</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mrow>
<mi>h</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
</mrow>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>m</mi>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msubsup>
<mi>vu</mi>
<mi>i</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<msubsup>
<mi>c</mi>
<mi>j</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mrow>
<mi>h</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
</mrow>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msubsup>
<mi>vu</mi>
<mi>i</mi>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<msub>
<mi>a</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<msubsup>
<mi>c</mi>
<mi>j</mi>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mrow>
<mi>h</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
</mrow>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<mrow>
<mi>b</mi>
<mi>w</mi>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
其中,需要迁移的虚拟机集合为{v1,v2,…,vn},虚拟机vi的最大资源需求表示为3维向量虚拟机vi的资源利用率表示为3维向量
ri mem,ri cpu,ri bw分别表示虚拟机vi的内存、CPU和网络带宽的最大需求量;分别表示虚拟机vi的内存、CPU和网络带宽的使用率;
用于放置虚拟机的物理主机集合为{p1,p2,…,pm},物理主机pj的最大资源容量表示为3维向量物理主机pj的资源利用率表示为3维向量
分别表示物理主机pj的内存、CPU和网络带宽最大容量;分别表示物理主机pj的内存、CPU和网络带宽的使用率;
如果虚拟机vi放置到物理主机pj上,则aij=1,否则aij=0;
和分别为内存、CPU和网络带宽资源使用率的过载阈值。
5.根据权利要求4所述的一种虚拟机动态放置方法,其特征在于,所述步骤s7中,选择策略综合考虑了物理主机的电能消耗、平均资源使用率和资源平衡度,即:
<mrow>
<msub>
<mi>E</mi>
<mi>j</mi>
</msub>
<mo>=</mo>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mi> </mi>
<msub>
<mi>P</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mover>
<mi>u</mi>
<mo>&OverBar;</mo>
</mover>
<mi>j</mi>
</msub>
<mo>+</mo>
<msub>
<mi>B</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
其中,Pj表示电能消耗,表示平均资源使用率,Bj表示资源平衡度;
物理主机的电能消耗Pj的计算公式如下:
<mrow>
<msub>
<mi>P</mi>
<mi>j</mi>
</msub>
<mo>=</mo>
<msubsup>
<mi>P</mi>
<mi>j</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
<mi>l</mi>
<mi>e</mi>
</mrow>
</msubsup>
<mo>+</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>P</mi>
<mi>j</mi>
<mrow>
<mi>f</mi>
<mi>u</mi>
<mi>l</mi>
<mi>l</mi>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>P</mi>
<mi>j</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
<mi>l</mi>
<mi>e</mi>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msubsup>
<mi>U</mi>
<mi>j</mi>
<mrow>
<mi>c</mi>
<mi>p</mi>
<mi>u</mi>
</mrow>
</msubsup>
<mo>;</mo>
</mrow>
其中,表示物理主机pj空闲状态下的能耗,表示物理主机pj满负载状态下的能耗,表示物理主机pj的CPU使用率;
在所有满足SLA约束条件的物理主机中选择Ej最小的物理主机放置虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711162358.4A CN108073449B (zh) | 2017-11-21 | 2017-11-21 | 一种虚拟机动态放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711162358.4A CN108073449B (zh) | 2017-11-21 | 2017-11-21 | 一种虚拟机动态放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073449A true CN108073449A (zh) | 2018-05-25 |
CN108073449B CN108073449B (zh) | 2021-08-27 |
Family
ID=62157557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711162358.4A Expired - Fee Related CN108073449B (zh) | 2017-11-21 | 2017-11-21 | 一种虚拟机动态放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073449B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897600A (zh) * | 2018-06-14 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种云计算环境下的虚拟机放置方法 |
CN109298914A (zh) * | 2018-10-12 | 2019-02-01 | 西安交通大学 | 一种基于三层架构的Docker与虚拟机初始放置方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204266A1 (en) * | 2006-02-28 | 2007-08-30 | International Business Machines Corporation | Systems and methods for dynamically managing virtual machines |
CN102611622A (zh) * | 2012-02-28 | 2012-07-25 | 清华大学 | 一种弹性云计算平台下工作负载的调度方法 |
CN103455373A (zh) * | 2013-09-18 | 2013-12-18 | 浪潮电子信息产业股份有限公司 | 一种虚拟机动态迁移安全框架 |
CN106648834A (zh) * | 2016-12-23 | 2017-05-10 | 中山大学 | 基于批装箱问题的虚拟机调度方法 |
US20170277572A1 (en) * | 2007-06-22 | 2017-09-28 | Red Hat, Inc. | Migration of network entities to a cloud infrastructure |
-
2017
- 2017-11-21 CN CN201711162358.4A patent/CN108073449B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204266A1 (en) * | 2006-02-28 | 2007-08-30 | International Business Machines Corporation | Systems and methods for dynamically managing virtual machines |
US20170277572A1 (en) * | 2007-06-22 | 2017-09-28 | Red Hat, Inc. | Migration of network entities to a cloud infrastructure |
CN102611622A (zh) * | 2012-02-28 | 2012-07-25 | 清华大学 | 一种弹性云计算平台下工作负载的调度方法 |
CN103455373A (zh) * | 2013-09-18 | 2013-12-18 | 浪潮电子信息产业股份有限公司 | 一种虚拟机动态迁移安全框架 |
CN106648834A (zh) * | 2016-12-23 | 2017-05-10 | 中山大学 | 基于批装箱问题的虚拟机调度方法 |
Non-Patent Citations (2)
Title |
---|
JOSEP等: ""SLA-driven Elastic Cloud Hosting Provider"", 《2010 18TH EUROMICRO CONFERENCE ON PARAKKEL,DISTRIBUTED AND NETWORK-BASED PROCESSING》 * |
李书壹: ""云计算环境下虚拟机放置策略研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897600A (zh) * | 2018-06-14 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种云计算环境下的虚拟机放置方法 |
CN109298914A (zh) * | 2018-10-12 | 2019-02-01 | 西安交通大学 | 一种基于三层架构的Docker与虚拟机初始放置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108073449B (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Virtual machine placement algorithm for both energy‐awareness and SLA violation reduction in cloud data centers | |
CN102739798B (zh) | 具有网络感知功能的云平台资源调度方法 | |
CN104010028B (zh) | 一种云平台下性能加权的虚拟资源动态管理策略方法 | |
CN102904955B (zh) | 云计算平台中Web应用的自适应伸缩控制系统及其方法 | |
CN108170530B (zh) | 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法 | |
CN108196935B (zh) | 一种面向云计算的虚拟机节能迁移方法 | |
CN104038392A (zh) | 一种云计算资源服务质量评估方法 | |
CN105049536A (zh) | IaaS云环境中的负载均衡系统和负载均衡方法 | |
CN102857548A (zh) | 一种移动云计算资源优化配置方法 | |
CN104536832B (zh) | 一种虚拟机部署方法 | |
CN103856355B (zh) | 一种能耗感知的虚拟网络映射运输模型的方法 | |
CN103257896B (zh) | 一种云环境下的Max-D作业调度方法 | |
CN106502761B (zh) | 一种资源高效利用的虚拟机部署方法 | |
CN107220108A (zh) | 一种实现云数据中心负载均衡的方法和系统 | |
CN106201700A (zh) | 一种虚拟机在线迁移的调度方法 | |
CN105843678A (zh) | 一种基于最优化理论的虚拟机的资源调度迁移方法及系统 | |
CN105893155B (zh) | 虚拟机负载均衡控制方法与装置 | |
CN106656555A (zh) | 一种云计算系统的服务资源动态调节方法 | |
CN108073449B (zh) | 一种虚拟机动态放置方法 | |
CN109976879B (zh) | 一种基于资源使用曲线互补的云计算虚拟机放置方法 | |
CN107479949A (zh) | 低能耗云计算任务调度方法 | |
CN114741200A (zh) | 面向数据中台的计算资源分配方法、装置及电子设备 | |
Chen et al. | An energy‐efficient method of resource allocation based on request prediction in multiple cloud data centers | |
CN107197013B (zh) | 一种增强云计算环境节能系统 | |
CN105049499A (zh) | 一种基于多立方体映射的网络功能虚拟化资源分配方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210827 |