CN108170522B - 一种基于动态阈值的云计算虚拟机迁移控制方法 - Google Patents

一种基于动态阈值的云计算虚拟机迁移控制方法 Download PDF

Info

Publication number
CN108170522B
CN108170522B CN201711273006.6A CN201711273006A CN108170522B CN 108170522 B CN108170522 B CN 108170522B CN 201711273006 A CN201711273006 A CN 201711273006A CN 108170522 B CN108170522 B CN 108170522B
Authority
CN
China
Prior art keywords
virtual machine
server
migrated
current moment
sequence
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
Application number
CN201711273006.6A
Other languages
English (en)
Other versions
CN108170522A (zh
Inventor
付雄
赵庆
乔磊
王俊昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201711273006.6A priority Critical patent/CN108170522B/zh
Publication of CN108170522A publication Critical patent/CN108170522A/zh
Application granted granted Critical
Publication of CN108170522B publication Critical patent/CN108170522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)

Abstract

本发明涉及一种基于动态阈值的云计算虚拟机迁移控制方法,在减少SLA违反次数的同时,能够提高物理机中CPU的平均利用率,同时能够清空低能耗的物理,从而减少活跃物理机的数目。另外,相较于传统方法,本发明可以减少不合理的虚拟机迁移次数,并尽量保证迁移代价达到最低,做到低能耗和高能效的效果。

Description

一种基于动态阈值的云计算虚拟机迁移控制方法
技术领域
本发明涉及一种基于动态阈值的云计算虚拟机迁移控制方法,属于云计算和能耗技术领域。
背景技术
作为一个新的互联网的计算模式,云计算模式实现在互联网中软硬件资源的按需分配,他描述了一种新型的IT服务增加、使用和交付模式,用户不再去了解基础设施的细节,也无需直接对其进行管理控制。云计算包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。
云计算高可靠,通用性,高扩展性,按需服务以及成本低等特点,使得越来越多的企业开始关注和使用云计算平台,也使得云数据中心的规模逐步扩大。然而,在云计算数据中心中,随着任务数量的增加,从而需要更多数量的服务器来承载,数据中心的能耗成本与服务器数目以及资源利用状况密切相关,高能耗问题也就随着数据中心的扩大显得更加的突出。据统计,数据中心服务器的电能消耗已占到全球电力消耗的50%,如Google在2010年全年排放了146吨的CO2。然而,数据中心服务器的平均CPU使用率一般只有15%-20%,而处于空闲状态的物理主机一般消耗总能耗的70%的能耗,可见,能耗有效性极低,不仅是一种极大的浪费,同时也给公司带来不少的财务损失。所以,能耗问题已经成为云计算领域急需解决的问题。
数据中心中的节能方式,主要有以下几种方式:关闭/开启技术、动态电压/频率调整技术以及虚拟化技术。虚拟化技术在云计算领域备受关注,也是云计算中心解决能耗的普遍方式。虚拟机能够提供一个逻辑上独立的计算资源,保证虚拟机之间不收影响,实现最大化的利用硬件资源。同时主机中的虚拟机可以实现动态迁移,有利于系统负载均衡的实现,而负载均衡也是保证服务器集群稳定工作的前提。通过虚拟化技术可以在减少能耗的同时有效地提高数据中心资源,使得服务器资源得以充分利用。
在云计算服务器的虚拟机迁移策略中,大多数旨在降低能耗的算法存在普遍的缺陷:1.未考虑虚拟机的迁移代价;2.频繁的进行虚拟机的迁移容易造成性能的损失;3.存在瞬时的负载峰值,造成不必要的虚拟机迁移;4.静态的阈值不具有灵活性。
发明内容
本发明所要解决的技术问题是提供一种基于动态阈值的云计算虚拟机迁移控制方法,能够提高虚拟机的迁移质量,在保证能耗降低的同时,尽量使得虚拟机的迁移次数达到最小。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于动态阈值的云计算虚拟机迁移控制方法,各个时刻执行如下步骤,实现虚拟机迁移控制:
步骤A.分别获得云计算环境中各个服务器当前时刻的CPU利用率,并进入步骤B;
步骤B.判断各个服务器当前时刻的CPU利用率是否均符合
Figure BDA0001495912840000021
是则待进入下一时刻时,返回步骤A;否则进入步骤C;其中,
Figure BDA0001495912840000022
表示服务器CPU利用率下限,
Figure BDA0001495912840000023
表示服务器CPU利用率上限;
步骤C.判断云计算环境所有服务器中,是否存在当前时刻CPU利用率大于
Figure BDA0001495912840000024
的服务器,则进入步骤D;否则进入步骤J;
步骤D.针对当前云计算环境中所有服务器的负载信息,以及能耗大小E进行备份;接着按CPU利用率降序顺序,针对当前时刻CPU利用率大于
Figure BDA0001495912840000025
的各个服务器进行排序,构建当前时刻过载服务器序列,并选择当前时刻过载服务器序列中第二个服务器的CPU利用率作为
Figure BDA0001495912840000026
然后进入步骤E;
步骤E.获得当前时刻过载服务器序列中CPU利用率大于
Figure BDA0001495912840000027
的各个服务器所对应的各个虚拟机,并针对该各个虚拟机进行排序,构建当前时刻待筛选虚拟器序列,接着判断当前时刻待筛选虚拟器序列中是否存在满足如下公式的虚拟机:
Figure BDA0001495912840000028
是则将符合上述公式的各个虚拟机作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并进入步骤G;否则进入步骤F;其中,i={1、…、I},I表示当前时刻待筛选虚拟器序列中虚拟机的数量,1Vi表示当前时刻待筛选虚拟器序列中第i个虚拟机,
Figure BDA0001495912840000029
表示当前时刻待筛选虚拟器序列中第i个虚拟机的CPU利用率,A1S1表示当前时刻过载服务器序列中第一个服务器的CPU利用率;
步骤F.将当前时刻待筛选虚拟器序列中最大CPU资源量的虚拟机,作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并获得该待迁移虚拟机的CPU利用率
Figure BDA00014959128400000210
接着判断当前时刻待筛选虚拟器序列中,除最大CPU资源量虚拟机外、是否存在满足如下公式的虚拟机:
Figure BDA0001495912840000031
是则将符合上述公式的各个虚拟机作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并进入步骤G;否则直接进入步骤G;其中,i'={1、…、I'},I'表示当前时刻待筛选虚拟器序列中虚拟机的数量减1;1Vi'表示当前时刻待筛选虚拟器序列中除最大CPU资源量虚拟机外的第i'个虚拟机,
Figure BDA0001495912840000032
表示当前时刻待筛选虚拟器序列中除最大CPU资源量虚拟机外、第i'个虚拟机的CPU利用率;
步骤G.针对所获待迁移虚拟机,构建待迁移集合,并获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划,然后进入步骤H;
步骤H.执行迁移计划,针对待迁移集合中的虚拟机进行迁移,获得迁移后云计算环境中所有服务器的能耗大小E',以及迁移代价C,并判断E≥E'+C是否成立,是则进入步骤I;否则回滚迁移计划,判断当前时刻过载服务器序列中,是否存在顺序位于
Figure BDA0001495912840000033
所对应服务器之后的服务器,是则选择该服务器的CPU利用率更新
Figure BDA0001495912840000034
并返回步骤E;
步骤I.采用
Figure BDA0001495912840000035
的值针对
Figure BDA0001495912840000036
进行更新,并清空当前时刻过载服务器序列、当前时刻待筛选虚拟器序列、待迁移集合,然后进入步骤J;
步骤J.判断云计算环境所有服务器中,是否存在当前时刻CPU利用率小于
Figure BDA0001495912840000037
的服务器,是则进入步骤K;
步骤K.针对当前云计算环境中所有服务器的负载信息,以及能耗大小E进行备份;接着按CPU利用率降序顺序,针对当前时刻CPU利用率小于
Figure BDA0001495912840000038
的各个服务器进行排序,构建当前时刻空闲服务器序列,并选择当前时刻空闲服务器序列中第一个服务器的CPU利用率作为
Figure BDA0001495912840000039
然后进入步骤L;
步骤L.获得当前时刻空闲服务器序列中CPU利用率小于
Figure BDA00014959128400000310
的各个服务器所对应的各个虚拟机,构建待迁移集合,并采用步骤G中的方式,获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划,然后进入步骤M;
步骤M.执行迁移计划,针对待迁移集合中的虚拟机进行迁移,获得迁移后云计算环境中所有服务器的能耗大小E”,以及迁移代价C',并判断E≥E”+C'是否成立,是则进入步骤N;否则回滚步骤M中的迁移计划,并判断当前时刻空闲服务器序列中,是否存在顺序位于
Figure BDA0001495912840000041
所对应服务器之后的服务器,是则选择该服务器的CPU利用率更新
Figure BDA0001495912840000042
并返回步骤L;
步骤N.采用
Figure BDA0001495912840000043
的值针对
Figure BDA0001495912840000044
进行更新,并清空当前时刻空闲服务器序列、待迁移集合,虚拟机迁移控制结束。
作为本发明的一种优选技术方案,所述步骤A中,按如下过程,分别获得云计算环境中各个服务器当前时刻的CPU利用率;
分别针对云计算环境中所有服务器上的各个虚拟机,获得虚拟机分别对应自上一时刻起、预设K个时刻上的CPU资源使用量检测值,并据此进一步计算获得该虚拟机当前时刻的CPU资源使用量预测值;接着结合该虚拟机当前时刻的CPU资源使用量检测值,获得该虚拟机当前时刻的CPU资源使用量实际值,进而分别获得云计算环境中所有服务器上各个虚拟机当前时刻的CPU资源使用量实际值,并据此分别获得云计算环境中各个服务器当前时刻的CPU利用率。
作为本发明的一种优选技术方案,步骤A中,根据虚拟机分别对应自上一时刻起、预设K个时刻上的CPU资源使用量检测值,按如下公式:
Figure BDA0001495912840000045
计算获得该虚拟机当前时刻的CPU资源使用量预测值PV,其中,k表示自上一时刻起、预设K个时刻中的第k个时刻,
Figure BDA0001495912840000046
表示虚拟机对应自上一时刻起、预设K个时刻中,第k个时刻的CPU资源使用量检测值,a表示正态分布的噪声,x1、…、xk、…、xK分别表示自上一时刻起、预设K个时刻的回归系数。
作为本发明的一种优选技术方案,步骤A中,根据虚拟机当前时刻的CPU资源使用量预测值,以及该虚拟机当前时刻的CPU资源使用量检测值,采用求平均方式,获得该虚拟机当前时刻的CPU资源使用量实际值。
作为本发明的一种优选技术方案,所述步骤G中,针对所获待迁移虚拟机,构建待迁移集合,接着分别针对待迁移集合中的各个虚拟机,针对除虚拟机所在服务器外的其余服务器,将各个服务器按照带宽大小降序顺序进行排序,按序选择服务器,并通过如下公式:
Figure BDA0001495912840000047
获得Umin所对应的服务器作为该虚拟机所迁移的目标服务器,其中,b={1、…、B},B表示云计算环境中服务器的个数减1,Ub表示云计算环境中该虚拟机所在服务器外、第b个服务器的CPU利用率,∑AV表示待迁移集合中待迁移到该第b个服务器上的虚拟机集合的CPU利用率;由此进一步获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划。
作为本发明的一种优选技术方案,通过如下公式:
Figure BDA0001495912840000051
获得迁移代价C,其中,Q表示所迁移虚拟机的数量,Rq表示第q个迁移虚拟机所占的内存,Bq表示第q个迁移虚拟机所占的带宽。
本发明所述一种基于动态阈值的云计算虚拟机迁移控制方法的应用系统,采用以上技术方案与现有技术相比,具有以下技术效果:本发明所设计基于动态阈值的云计算虚拟机迁移控制方法,在减少SLA违反次数的同时,能够提高物理机中CPU的平均利用率,同时能够清空低能耗的物理,从而减少活跃物理机的数目。另外,相较于传统方法,本发明可以减少不合理的虚拟机迁移次数,并尽量保证迁移代价达到最低,做到低能耗和高能效的效果。
附图说明
图1是本发明基于动态阈值的云计算虚拟机迁移控制方法的流程示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本文的前提就是利用虚拟化技术,首先将任务分配给各个虚拟机,然后根据虚拟机的资源需求量初始化放置,将虚拟机分配给对应的服务器上。对于初始化放置后的各个服务器,本文先预设一个常规的高低阈值,用来识别服务器是过载,低载还是正常的服务器。接下来,本文采用基于时间的预测技术来对各个虚拟机的资源利用率,也就是给个服务器的资源利用率然后根据预测的负载与实际负载的整合来动态改变阈值,最后根据动态阈值进行相应的虚拟机迁移操作。
如图1所示,本发明设计了一种基于动态阈值的云计算虚拟机迁移控制方法,实际应用当中,各个时刻执行如下步骤,实现虚拟机迁移控制。
步骤A.按如下过程,分别获得云计算环境中各个服务器当前时刻的CPU利用率,然后进入步骤B。
由于与实际的负载值存在偏差,为了避免瞬时的负载峰值,本发明将CPU资源使用量预测值与CPU资源使用量检测值进行整合,作为每一个虚拟机的最终负载。
首先分别针对云计算环境中所有服务器上的各个虚拟机,获得虚拟机分别对应自上一时刻起、预设K个时刻上的CPU资源使用量检测值,并据此按如下公式:
Figure BDA0001495912840000061
计算获得该虚拟机当前时刻的CPU资源使用量预测值PV,其中,k表示自上一时刻起、预设K个时刻中的第k个时刻,
Figure BDA0001495912840000062
表示虚拟机对应自上一时刻起、预设K个时刻中,第k个时刻的CPU资源使用量检测值,a表示正态分布的噪声,x1、…、xk、…、xK分别表示自上一时刻起、预设K个时刻的回归系数。
接着结合该虚拟机当前时刻的CPU资源使用量检测值,采用求平均方式,获得该虚拟机当前时刻的CPU资源使用量实际值,进而分别获得云计算环境中所有服务器上各个虚拟机当前时刻的CPU资源使用量实际值,并据此分别获得云计算环境中各个服务器当前时刻的CPU利用率。
步骤B.判断各个服务器当前时刻的CPU利用率是否均符合
Figure BDA0001495912840000063
是则待进入下一时刻时,返回步骤A;否则进入步骤C;其中,
Figure BDA0001495912840000064
表示服务器CPU利用率下限,
Figure BDA0001495912840000065
表示服务器CPU利用率上限。
步骤C.判断云计算环境所有服务器中,是否存在当前时刻CPU利用率大于
Figure BDA0001495912840000066
的服务器,则进入步骤D;否则进入步骤J。
步骤D.针对当前云计算环境中所有服务器的负载信息,以及能耗大小E进行备份;接着按CPU利用率降序顺序,针对当前时刻CPU利用率大于
Figure BDA0001495912840000067
的各个服务器进行排序,构建当前时刻过载服务器序列,并选择当前时刻过载服务器序列中第二个服务器的CPU利用率作为
Figure BDA0001495912840000068
然后进入步骤E。
步骤E.获得当前时刻过载服务器序列中CPU利用率大于
Figure BDA0001495912840000069
的各个服务器所对应的各个虚拟机,并针对该各个虚拟机进行排序,构建当前时刻待筛选虚拟器序列,接着判断当前时刻待筛选虚拟器序列中是否存在满足如下公式的虚拟机:
Figure BDA00014959128400000610
是则将符合上述公式的各个虚拟机作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并进入步骤G;否则进入步骤F;其中,i={1、…、I},I表示当前时刻待筛选虚拟器序列中虚拟机的数量,1Vi表示当前时刻待筛选虚拟器序列中第i个虚拟机,
Figure BDA0001495912840000071
表示当前时刻待筛选虚拟器序列中第i个虚拟机的CPU利用率,A1S1表示当前时刻过载服务器序列中第一个服务器的CPU利用率。
步骤F.将当前时刻待筛选虚拟器序列中最大CPU资源量的虚拟机,作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并获得该待迁移虚拟机的CPU利用率
Figure BDA0001495912840000072
接着判断当前时刻待筛选虚拟器序列中,除最大CPU资源量虚拟机外、是否存在满足如下公式的虚拟机:
Figure BDA0001495912840000073
是则将符合上述公式的各个虚拟机作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并进入步骤G;否则直接进入步骤G;其中,i'={1、…、I'},I'表示当前时刻待筛选虚拟器序列中虚拟机的数量减1;1Vi'表示当前时刻待筛选虚拟器序列中除最大CPU资源量虚拟机外的第i'个虚拟机,
Figure BDA0001495912840000074
表示当前时刻待筛选虚拟器序列中除最大CPU资源量虚拟机外、第i'个虚拟机的CPU利用率。
步骤G.针对所获待迁移虚拟机,构建待迁移集合,接着分别针对待迁移集合中的各个虚拟机,针对除虚拟机所在服务器外的其余服务器,将各个服务器按照带宽大小降序顺序进行排序,按序选择服务器,并通过如下公式:
Figure BDA0001495912840000075
获得Umin所对应的服务器作为该虚拟机所迁移的目标服务器,其中,b={1、…、B},B表示云计算环境中服务器的个数减1,Ub表示云计算环境中该虚拟机所在服务器外、第b个服务器的CPU利用率,∑AV表示待迁移集合中待迁移到该第b个服务器上的虚拟机集合的CPU利用率;由此进一步获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划,然后进入步骤H。
步骤H.执行迁移计划,针对待迁移集合中的虚拟机进行迁移,获得迁移后云计算环境中所有服务器的能耗大小E',以及迁移代价C,并判断E≥E'+C是否成立,是则进入步骤I;否则回滚迁移计划,判断当前时刻过载服务器序列中,是否存在顺序位于
Figure BDA0001495912840000081
所对应服务器之后的服务器,是则选择该服务器的CPU利用率更新
Figure BDA0001495912840000082
并返回步骤E。
上述步骤H中,通过如下公式:
Figure BDA0001495912840000083
获得迁移代价C,其中,Q表示所迁移虚拟机的数量,Rq表示第q个迁移虚拟机所占的内存,Bq表示第q个迁移虚拟机所占的带宽。
步骤I.采用
Figure BDA0001495912840000084
的值针对
Figure BDA0001495912840000085
进行更新,并清空当前时刻过载服务器序列、当前时刻待筛选虚拟器序列、待迁移集合,然后进入步骤J。
步骤J.判断云计算环境所有服务器中,是否存在当前时刻CPU利用率小于
Figure BDA0001495912840000086
的服务器,是则进入步骤K。
步骤K.针对当前云计算环境中所有服务器的负载信息,以及能耗大小E进行备份;接着按CPU利用率降序顺序,针对当前时刻CPU利用率小于
Figure BDA0001495912840000087
的各个服务器进行排序,构建当前时刻空闲服务器序列,并选择当前时刻空闲服务器序列中第一个服务器的CPU利用率作为
Figure BDA0001495912840000088
然后进入步骤L。
步骤L.获得当前时刻空闲服务器序列中CPU利用率小于
Figure BDA0001495912840000089
的各个服务器所对应的各个虚拟机,构建待迁移集合,并采用步骤G中的方式,获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划,然后进入步骤M。
步骤M.执行迁移计划,针对待迁移集合中的虚拟机进行迁移,获得迁移后云计算环境中所有服务器的能耗大小E”,以及迁移代价C',并判断E≥E”+C'是否成立,是则进入步骤N;否则回滚步骤M中的迁移计划,并判断当前时刻空闲服务器序列中,是否存在顺序位于
Figure BDA00014959128400000810
所对应服务器之后的服务器,是则选择该服务器的CPU利用率更新
Figure BDA00014959128400000811
并返回步骤L。
步骤N.采用
Figure BDA00014959128400000812
的值针对
Figure BDA00014959128400000813
进行更新,并清空当前时刻空闲服务器序列、待迁移集合,虚拟机迁移控制结束。
上述技术方案所设计基于动态阈值的云计算虚拟机迁移控制方法,在减少SLA违反次数的同时,能够提高物理机中CPU的平均利用率,同时能够清空低能耗的物理,从而减少活跃物理机的数目。另外,相较于传统方法,本发明可以减少不合理的虚拟机迁移次数,并尽量保证迁移代价达到最低,做到低能耗和高能效的效果。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变动。

Claims (5)

1.一种基于动态阈值的云计算虚拟机迁移控制方法,其特征在于,各个时刻执行如下步骤,实现虚拟机迁移控制:
步骤A.分别获得云计算环境中各个服务器当前时刻的CPU利用率,并进入步骤B;
步骤B.判断各个服务器当前时刻的CPU利用率是否均符合
Figure FDA0003013070800000011
是则待进入下一时刻时,返回步骤A;否则进入步骤C;其中,
Figure FDA0003013070800000014
表示服务器CPU利用率下限,
Figure FDA0003013070800000015
表示服务器CPU利用率上限;
步骤C.判断云计算环境所有服务器中,是否存在当前时刻CPU利用率大于
Figure FDA0003013070800000016
的服务器,则进入步骤D;否则进入步骤J;
步骤D.针对当前云计算环境中所有服务器的负载信息,以及能耗大小E进行备份;接着按CPU利用率降序顺序,针对当前时刻CPU利用率大于
Figure FDA0003013070800000017
的各个服务器进行排序,构建当前时刻过载服务器序列,并选择当前时刻过载服务器序列中第二个服务器的CPU利用率作为
Figure FDA0003013070800000018
然后进入步骤E;
步骤E.获得当前时刻过载服务器序列中CPU利用率大于
Figure FDA0003013070800000019
的各个服务器所对应的各个虚拟机,并针对该各个虚拟机进行排序,构建当前时刻待筛选虚拟器序列,接着判断当前时刻待筛选虚拟器序列中是否存在满足如下公式的虚拟机:
Figure FDA0003013070800000012
是则将符合上述公式的各个虚拟机作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并进入步骤G;否则进入步骤F;其中,i={1、…、I},I表示当前时刻待筛选虚拟器序列中虚拟机的数量,1Vi表示当前时刻待筛选虚拟器序列中第i个虚拟机,
Figure FDA00030130708000000111
表示当前时刻待筛选虚拟器序列中第i个虚拟机的CPU利用率,A1S1表示当前时刻过载服务器序列中第一个服务器的CPU利用率;
步骤F.将当前时刻待筛选虚拟器序列中最大CPU资源量的虚拟机,作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并获得该待迁移虚拟机的CPU利用率
Figure FDA00030130708000000110
接着判断当前时刻待筛选虚拟器序列中,除最大CPU资源量虚拟机外、是否存在满足如下公式的虚拟机:
Figure FDA0003013070800000013
是则将符合上述公式的各个虚拟机作为当前时刻待筛选虚拟器序列中的待迁移虚拟机,并进入步骤G;否则直接进入步骤G;其中,i'={1、…、I'},I'表示当前时刻待筛选虚拟器序列中虚拟机的数量减1;1Vi'表示当前时刻待筛选虚拟器序列中除最大CPU资源量虚拟机外的第i'个虚拟机,
Figure FDA0003013070800000022
表示当前时刻待筛选虚拟器序列中除最大CPU资源量虚拟机外、
第i'个虚拟机的CPU利用率;
步骤G.针对所获待迁移虚拟机,构建待迁移集合,并获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划,然后进入步骤H;
上述步骤G中,针对所获待迁移虚拟机,构建待迁移集合,接着分别针对待迁移集合中的各个虚拟机,针对除虚拟机所在服务器外的其余服务器,将各个服务器按照带宽大小降序顺序进行排序,按序选择服务器,并通过如下公式:
Figure FDA0003013070800000021
获得Umin所对应的服务器作为该虚拟机所迁移的目标服务器,其中,b={1、…、B},B表示云计算环境中服务器的个数减1,Ub表示云计算环境中该虚拟机所在服务器外、第b个服务器的CPU利用率,∑AV表示待迁移集合中待迁移到该第b个服务器上的虚拟机集合的CPU利用率;由此进一步获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划;
步骤H.执行迁移计划,针对待迁移集合中的虚拟机进行迁移,获得迁移后云计算环境中所有服务器的能耗大小E',以及迁移代价C,并判断E≥E'+C是否成立,是则进入步骤I;否则回滚迁移计划,判断当前时刻过载服务器序列中,是否存在顺序位于
Figure FDA0003013070800000023
所对应服务器之后的服务器,是则选择该服务器的CPU利用率更新
Figure FDA0003013070800000024
并返回步骤E;
步骤I.采用
Figure FDA0003013070800000025
的值针对
Figure FDA0003013070800000026
进行更新,并清空当前时刻过载服务器序列、当前时刻待筛选虚拟器序列、待迁移集合,然后进入步骤J;
步骤J.判断云计算环境所有服务器中,是否存在当前时刻CPU利用率小于
Figure FDA0003013070800000027
的服务器,是则进入步骤K;
步骤K.针对当前云计算环境中所有服务器的负载信息,以及能耗大小E进行备份;接着按CPU利用率降序顺序,针对当前时刻CPU利用率小于
Figure FDA0003013070800000033
的各个服务器进行排序,构建当前时刻空闲服务器序列,并选择当前时刻空闲服务器序列中第一个服务器的CPU利用率作为
Figure FDA0003013070800000032
然后进入步骤L;
步骤L.获得当前时刻空闲服务器序列中CPU利用率小于
Figure FDA0003013070800000034
的各个服务器所对应的各个虚拟机,构建待迁移集合,并采用步骤G中的方式,获得待迁移集合中各个虚拟机分别所迁移的目标服务器,构建待迁移集合所对应的迁移计划,然后进入步骤M;
步骤M.执行迁移计划,针对待迁移集合中的虚拟机进行迁移,获得迁移后云计算环境中所有服务器的能耗大小E”,以及迁移代价C',并判断E≥E”+C'是否成立,是则进入步骤N;否则回滚步骤M中的迁移计划,并判断当前时刻空闲服务器序列中,是否存在顺序位于
Figure FDA0003013070800000036
所对应服务器之后的服务器,是则选择该服务器的CPU利用率更新
Figure FDA0003013070800000035
并返回步骤L;
步骤N.采用
Figure FDA0003013070800000037
的值针对
Figure FDA0003013070800000038
进行更新,并清空当前时刻空闲服务器序列、待迁移集合,虚拟机迁移控制结束。
2.根据权利要求1所述一种基于动态阈值的云计算虚拟机迁移控制方法,其特征在于,所述步骤A中,按如下过程,分别获得云计算环境中各个服务器当前时刻的CPU利用率;分别针对云计算环境中所有服务器上的各个虚拟机,获得虚拟机分别对应自上一时刻起、预设K个时刻上的CPU资源使用量检测值,并据此进一步计算获得该虚拟机当前时刻的CPU资源使用量预测值;接着结合该虚拟机当前时刻的CPU资源使用量检测值,获得该虚拟机当前时刻的CPU资源使用量实际值,进而分别获得云计算环境中所有服务器上各个虚拟机当前时刻的CPU资源使用量实际值,并据此分别获得云计算环境中各个服务器当前时刻的CPU利用率。
3.根据权利要求2所述一种基于动态阈值的云计算虚拟机迁移控制方法,其特征在于,步骤A中,根据虚拟机分别对应自上一时刻起、预设K个时刻上的CPU资源使用量检测值,按如下公式:
Figure FDA0003013070800000031
计算获得该虚拟机当前时刻的CPU资源使用量预测值PV,其中,k表示自上一时刻起、预设K个时刻中的第k个时刻,
Figure FDA0003013070800000039
表示虚拟机对应自上一时刻起、预设K个时刻中,第k个时刻的CPU资源使用量检测值,a表示正态分布的噪声,x1、…、xk、…、xK分别表示自上一时刻起、预设K个时刻的回归系数。
4.根据权利要求2所述一种基于动态阈值的云计算虚拟机迁移控制方法,其特征在于,步骤A中,根据虚拟机当前时刻的CPU资源使用量预测值,以及该虚拟机当前时刻的CPU资源使用量检测值,采用求平均方式,获得该虚拟机当前时刻的CPU资源使用量实际值。
5.根据权利要求1所述一种基于动态阈值的云计算虚拟机迁移控制方法,其特征在于,通过如下公式:
Figure FDA0003013070800000041
获得迁移代价C,其中,Q表示所迁移虚拟机的数量,Rq表示第q个迁移虚拟机所占的内存,Bq表示第q个迁移虚拟机所占的带宽。
CN201711273006.6A 2017-12-06 2017-12-06 一种基于动态阈值的云计算虚拟机迁移控制方法 Active CN108170522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711273006.6A CN108170522B (zh) 2017-12-06 2017-12-06 一种基于动态阈值的云计算虚拟机迁移控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711273006.6A CN108170522B (zh) 2017-12-06 2017-12-06 一种基于动态阈值的云计算虚拟机迁移控制方法

Publications (2)

Publication Number Publication Date
CN108170522A CN108170522A (zh) 2018-06-15
CN108170522B true CN108170522B (zh) 2021-06-01

Family

ID=62525196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711273006.6A Active CN108170522B (zh) 2017-12-06 2017-12-06 一种基于动态阈值的云计算虚拟机迁移控制方法

Country Status (1)

Country Link
CN (1) CN108170522B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144664B (zh) * 2018-07-26 2021-09-14 西安电子科技大学 一种基于用户服务质量需求差异的虚拟机动态迁移方法
WO2022104500A1 (zh) * 2020-11-17 2022-05-27 深圳先进技术研究院 一种负载控制方法、装置、计算机设备及存储介质
CN112433815A (zh) * 2020-11-24 2021-03-02 中国科学院深圳先进技术研究院 一种基于容器管制的云数据中心节能方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077082A (zh) * 2013-01-08 2013-05-01 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
CN104375621A (zh) * 2014-11-28 2015-02-25 广东石油化工学院 一种云计算中基于自适应阈值的动态加权负载评估方法
CN107193638A (zh) * 2017-05-30 2017-09-22 南京邮电大学 一种基于多维环境感知的网络功能快速自适应迁移方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9385934B2 (en) * 2014-04-08 2016-07-05 International Business Machines Corporation Dynamic network monitoring

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077082A (zh) * 2013-01-08 2013-05-01 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
CN104375621A (zh) * 2014-11-28 2015-02-25 广东石油化工学院 一种云计算中基于自适应阈值的动态加权负载评估方法
CN107193638A (zh) * 2017-05-30 2017-09-22 南京邮电大学 一种基于多维环境感知的网络功能快速自适应迁移方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Energy Efficient Dynamic Integration of Thresholds for Migration at Cloud Data Centers;Richa Sinha;《Special Issue of International Journal of Computer Applications》;20111231;第44-49页 *
Energy-aware resource allocation heuristics for efficient management of data centers for Cloud computing;Anton Beloglazov;《Future Generation Computer Systems》;20111231;第755–768页 *
基于动态调整阈值的虚拟机迁移算法;赵春;《计算机应用》;20170910;第2547-2550页 *

Also Published As

Publication number Publication date
CN108170522A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
CN105159751B (zh) 一种云数据中心中能量高效的虚拟机迁移方法
CN108170522B (zh) 一种基于动态阈值的云计算虚拟机迁移控制方法
Al-Dulaimy et al. Type-aware virtual machine management for energy efficient cloud data centers
CN108196935B (zh) 一种面向云计算的虚拟机节能迁移方法
WO2011088261A2 (en) Methods and apparatus for coordinated energy management in virtualized data centers
CN102662750A (zh) 基于弹性虚拟机池的虚拟机资源优化控制方法及其系统
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN103986766A (zh) 自适应负载均衡作业任务调度方法及装置
CN101819459B (zh) 一种基于异构对象存储系统的功耗控制方法
CN115878260A (zh) 一种低碳自适应云主机任务调度系统
More et al. Energy-aware VM migration using dragonfly–crow optimization and support vector regression model in Cloud
CN109976879B (zh) 一种基于资源使用曲线互补的云计算虚拟机放置方法
CN108388471B (zh) 一种基于双门限约束虚机迁移的管理方法
CN103106112A (zh) 一种基于最高负载的进行负载均衡调度的方法及设备
CN106844175B (zh) 一种基于机器学习的云平台容量规划方法
CN112685162A (zh) 边缘服务器异构计算资源的高效能调度方法、系统和介质
CN108073449B (zh) 一种虚拟机动态放置方法
CN110069319B (zh) 一种面向朵云资源管理的多目标虚拟机调度方法及系统
Gayathri Green cloud computing
CN101776946B (zh) 一种基于对象存储系统的功耗控制方法
CN110806918A (zh) 基于深度学习神经网络的虚拟机运行方法和装置
CN109144664B (zh) 一种基于用户服务质量需求差异的虚拟机动态迁移方法
CN115934349A (zh) 一种资源调度方法、装置、设备及计算机可读存储介质
WO2020244300A1 (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