CN113157435A - 云数据中心以能效为目标的虚拟机部署算法及系统 - Google Patents

云数据中心以能效为目标的虚拟机部署算法及系统 Download PDF

Info

Publication number
CN113157435A
CN113157435A CN202110227329.1A CN202110227329A CN113157435A CN 113157435 A CN113157435 A CN 113157435A CN 202110227329 A CN202110227329 A CN 202110227329A CN 113157435 A CN113157435 A CN 113157435A
Authority
CN
China
Prior art keywords
server
servers
energy efficiency
virtual machine
resource utilization
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
Application number
CN202110227329.1A
Other languages
English (en)
Other versions
CN113157435B (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.)
Changsha University
Original Assignee
Changsha University
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 Changsha University filed Critical Changsha University
Priority to CN202110227329.1A priority Critical patent/CN113157435B/zh
Publication of CN113157435A publication Critical patent/CN113157435A/zh
Application granted granted Critical
Publication of CN113157435B publication Critical patent/CN113157435B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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

本发明公开了云数据中心以能效为目标的虚拟机部署算法及系统,分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;分别将各个服务器的实时资源利用率及其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻五类;通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。

Description

云数据中心以能效为目标的虚拟机部署算法及系统
技术领域
本发明涉及虚拟机分配的技术领域,尤其涉及云数据中心以能效为目标的虚拟机部署算法及系统。
背景技术
随着云计算技术的逐渐成熟,越来越多的企业将应用部署到云计算平台上,因而云计算数据中心的规模越来越大。一个云计算数据中心涉及几十万台甚至几百万台规模的物理机(服务器),这些物理机的运行需要消耗大量的能量,从而导致服务提供商的运营成本增加。面对如此规模的数据中心,如何降低数据中心的能耗,成为云服务提供商面临的一个重要挑战。
现有的虚拟机部署算法,为了减少数据中心服务器违约损失率,常常会把负载超过预设阈值的服务器上的虚拟机迁移到负载低于预设阈值的服务器上,这样虽然能在一定程度上减轻负载过重的服务器上的违约率,但却没有考量云计算中心的能耗问题,一旦迁移的对象为负载较重,且负载低于预设阈值的服务器上,就会导致负载较重,且负载低于预设阈值的服务器在短时间又转变为超过预设阈值的服务器,又得再次迁移虚拟机,而虚拟机的频繁迁移不但增加能耗,而且还影响整个云计算中心的稳定性,此外,一旦迁移对象为负载过轻的服务器上,且存在比负载过轻的服务器负载重,且能正常容纳负载过轻的服务器的虚拟机的服务器时,说明负载过轻的服务器的运行并非必要,那么负载过轻的服务器本身的运行就会增加能耗,将迁移对象为负载过轻的服务器也并非优选。
因此,如何解决现有的虚拟机部署算法无法同时兼顾减少服务器的违约损失率和能耗已成为本领域技术人员亟待解决的技术问题。
发明内容
本发明提供了云数据中心以能效为目标的虚拟机部署算法及系统,用于解决现有的虚拟机虚拟机部署算法无法同时兼顾减少服务器的违约损失率和能耗的技术问题。
为解决上述技术问题,本发明提出的技术方案为:
一种云数据中心以能效为目标的虚拟机部署算法,包括以下步骤:
分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;
分别将各个服务器的实时资源利用率与其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻五类;
通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。
优选的,自适应阈值包括高阈值、中阈值、正常阈值以及低阈值,其中,高阈值>中阈值>正常阈值>低阈值;分别获取各个服务器的自适应分类阈值,具体包括以下步骤:
对于任意一台服务器,均执行以下步骤:
对服务器连续一段时间的资源利用率进行聚类,得到K个类簇;
分别计算服务器的各个类簇的MAD值,构建由服务器的各个类簇的MAD值组成的MAD值集;
计算MAD值集的四分位距IQR;
基于四分位距IQR,分别计算服务器的自适应分类阈值。
优选的,计算MAD值集的四分位距IQR,具体包括以下步骤:
对MAD值集中的MAD值按从小至大进行排序并分成四等份,从小至大处于三个分割点位置的MAD值分别为MAD值集的第一四分位数Q1、第二四分位数Q2以及第三四分位数Q3
计算第三四分位数Q3与第一四分位数Q1的差值,得到MAD值集的四分位距IQR:
IQR=Q3-Q1
优选的,基于服务器的四分位距IQR,分别计算服务器的自适应分类阈值,通过以下公式计算得到:
TH=(1-c×IQR),
TM=a1(1-c×IQR),
TN=a2(1-c×IQR),
TL=a3(1-c×IQR),
其中,TH为高阈值、TM为中阈值、TN为正常阈值、TL为低阈值,a1,a2以及a3分别为经验参数,其值可以通过经验值设定,其中,1<a1<a2<a3<0,c为安全系数,根据经验设定。
优选的,分别将各个服务器的实时资源利用率及其对应的自适应阈值进行比较,确定各个服务器的实时动态类别,具体包括以下步骤:
对于任意一个服务器,均执行以下步骤:
将服务器的实时资源利用率Ts分别与服务器的高阈值TH、中阈值TM、正常阈值TN以及低阈值TL进行比较:
当服务器的实时资源利用率Ts≤服务器的低阈值TL时,则判断服务器负载过轻;
当服务器的实时资源利用率TS>服务器的低阈值TL,且服务器的实时资源利用率TS≤服务器的正常阈值TN时,则判断服务器负载较轻;
当服务器的实时资源利用率Ts>服务器的正常阈值TN,且服务器的实时资源利用率Ts≤服务器的中阈值TM时,则判断服务器正常负载;
当服务器的实时资源利用率TS>服务器的中阈值TM,且服务器的实时资源利用率Ts≤服务器的高阈值TH时,则判断服务器负载中等;
当服务器的实时资源利用率TS>服务器的高阈值TH时,则判断服务器负载过重。
优选的,资源利用率为CPU利用率,聚类采用K-Means聚类算法。
优选的,通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率,具体包括以下步骤:
分别计算各个正常负载的服务器的能效,其中,服务器的能效由服务器的能耗以及违约损失率决定,将负载过重的服务器上的部分虚拟机依次迁移至正常负载的服务器中的、当前最高能效的服务器上,直至负载过重的服务器的实时资源利用率TS≤服务器的高阈值TH
分别计算各个负载较轻的服务器的能效,将负载过轻的服务器上的虚拟机全部迁移至负载较轻的服务器中的、当前最高能效的服务器上,并禁止负载中等的服务器、正常负载的服务器、负载较轻的服务器上的虚拟机迁移出去。
优选的,计算服务器的能效通过以下公式实现:
SLAD=SLAA-SLAB
PD=PA-PB
Figure BDA0002957006590000031
其中,SLAD为虚拟机迁移后服务器的违约损失率与虚拟机迁移前服务器违约损失率之间的差值,SLAA为虚拟机迁移后服务器的违约损失率,SLAB为虚拟机迁移前服务器的违约损失率;PD为虚拟机迁移后服务器的能耗与虚拟机迁移前服务器的能耗之间的差值,PA为虚拟机迁移后服务器的能耗,PB为虚拟机迁移前服务器的能耗;EFD为服务器的能效。
一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一算法的步骤。
本发明具有以下有益效果:
1、本发明中的云数据中心以能效为目标的虚拟机部署算法及系统,分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;分别将各个服务器的实时资源利用率及其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻五类;通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。
2、在优选方案中,本技术方案根据各个服务器过去一段时间的资源利用率来确定各个服务器的动态分类,再对动态分类后的服务器进行分配,相比现有技术,这种分配方法对各种应用场景都可以应用,应用范围更广。
3、在优选方案中,由于虚拟机频繁迁移会增加云计算中心的能耗,降低云计算中心的服务器的稳定性,本技术方案还通过禁止负载中等的服务器、正常负载的服务器、负载较轻的服务器上的虚拟机迁移出去,从而避免服务器频繁的迁移,进一步提高服务器的能效。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是云数据中心以能效为目标的虚拟机部署算法的分配流程图(图中变量M为云数据中心服务器的数量);
图2是本发明中的云数据中心以能效为目标的虚拟机部署算法与其他虚拟机部署算法的性能比对图(其中,(a)图表示本方案中的虚拟机部署算法与其他虚拟机部署算法的能耗比对图,(b)图表示本方案中的虚拟机部署算法与其他虚拟机部署算法的能效比对图,(c)图表示本方案中的虚拟机部署算法与其他虚拟机部署算法的SLA违约率比对图,(d)图表示本方案中的虚拟机部署算法与其他虚拟机部署算法的SVTH比对图,(e)图表示本方案中的虚拟机部署算法与其他虚拟机部署算法的PDCM比对图,(f)图表示本方案中的虚拟机部署算法与其他虚拟机部署算法的虚拟机迁移数比对图)。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例一:
如图1所示,本实施例中公开了一种云数据中心以能效为目标的虚拟机部署算法,包括以下步骤:
分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;
分别将各个服务器的实时资源利用率与其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻五类;
通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。
此外,在本实施例中还公开一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一算法的步骤。
本发明中的云数据中心以能效为目标的虚拟机部署算法及系统,分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;分别将各个服务器的实时资源利用率及其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻五类;通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。
实施例二:
在CDC云数据中心,有大量的服务器相互连接,并向云用户提供各种云服务。数据中心内的这些服务器具有不同的资源利用率(例如,CPU利用率、内存利用率和磁盘利用率)。由于服务器的CPU利用率占能耗很大比例,本技术方案通过设置四个阈值将数据中心内的服务器划分为五个类。这四个阈值分别是TL、TN、TM和TH(0≤TL<TN<TM<TH≤1),五类服务器分别是负载过重的服务器、负载中等的服务器、正常负载的服务器、负载较轻的服务器和负载过轻的服务器。并通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。
具体的,在本实施例中,公开了一种云数据中心以能效为目标的虚拟机部署算法,包括以下步骤:
S1、分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;
设云数据中心的服务器集合S={S1,S2,...,Si,...,SM}(l≤i≤M),其中,Si为第i台服务器,i为服务器的序号,M为云数据中心服务器的总数;
设云数据中心的虚拟机集合V={VM1,VM2,...,VMj,...,VMN}(1≤j≤N),其中,VMj为第j台虚拟机,j为虚拟机的序号,N为云数据中心的虚拟机的总数;
其中,对于任意一台服务器Si,获取服务器Si的自适应分类阈值,具体包括以下步骤:
设服务器Si在过去一段时间段n的资源利用率(这里具体指CPU利用率)的时序集合为T={T1,T2,...,Tp,...,Tn}(1≤p≤n),其中,Tp为服务器Si在第p时刻的资源利用率,p为n时段中的第p时刻,n为时刻总数。
S11、使用K-Means聚类算法对服务器Si在过去一段时间段n的资源利用率(这里具体指CPU利用率)的时序集合T={T1,T2,...,Tp,...,Tn}进行聚类,得到由k个类簇构成的类簇集合C={C1,C2,...,Cq,...,Ck}(1≤q≤k),
Figure BDA0002957006590000061
0=R0<R1<R2<R3<...<Rq=n,
Figure BDA0002957006590000062
当(1≤q,e≤k),其中,Cq为聚类形成的第q个类簇,q为类簇序号,k为类簇总数。
S12、分别计算服务器Si的类簇集合C={C1,C2,...,Cq,...,Ck}中各个类簇的MAD值,构建由服务器的各个类簇的MAD值组成的MAD值集MR={MR1,MR2,...,MRq,...,MRk}(1≤q≤k);
其中,对于任意一个类簇Cq,其MAD值由以下公式计算得到:
Figure BDA0002957006590000063
其中,median(Cq)为类簇Cq的中位数,
Figure BDA0002957006590000064
为Cq类簇中的第i个对象。
S13、计算MAD值集MR={MR1,MR2,...,MRq,...,MRk}的四分位距IQR;
对MAD值集中的MAD值按从小至大进行排序并分成四等份,从小至大处于三个分割点位置的MAD值分别为MAD值集的第一四分位数Q1、第二四分位数Q2以及第三四分位数Q3
计算第三四分位数Q3与第一四分位数Q1的差值,得到MAD值集的四分位距IQR:
IQR=Q3-Q1。(2)
S14、基于服务器Si的四分位距IQR,分别计算服务器Si的自适应分类阈值,通过以下公式计算得到:
TH=(1-c×IQR),(3)
TM=a1(1-c×IQR),(4)
TN=a2(1-c×IQR),(5)
TL=a3(1-c×IQR),(6)
其中,TH为高阈值、TM为中阈值、TN为正常阈值、TL为低阈值,a1,a2以及a3分别为经验参数,其值可以通过经验值设定,其中,0<a1<a2<a3<1,c为安全系数,其根据经验设定,取值范围为(0.5,3),一般来说,c值越大,虚拟机被迁移的频率就越高,也就意味着能耗更少,违约损失率更高。相反,c值越小,则意味着虚拟机被迁移频率越低,就意味着能耗更大,违约损失率更低。在本实施例中,a1=0.9,a2=0.8,a3=0.5,c=1。
其中,分别获取各个服务器的自适应分类阈值的源代码如下:
Algorithm 1KMIR algorithm(K-Means-Mad-IQR)
Input:The past CPU utilization set
T={T1,T2,...,Tp,...,Tn}(1≤p≤n)andk
Output:Four thresholds TL,TN,TM,and TH
1:for i=1to M do
2:Obtain the past CPU utilization setT={T1,T2,...,Tp,...,Tn}andparameter k;
3:Get the clustersC={C1,C2,...,Cq,...,Ck}by using the
K-Means algorithm,thatis C=KMeans(T,k);
//参数k为聚类的个数
4:for j=1to kdo
5:MC[j]←Mad(Cj);
//计算各个类簇的mad值
6:endfor
7:Calculate IQR(MC)by using Eq.(2);
8:Obtain the four thresholdsTL,TN,TM,and THaccording to Eqs.(3)-(6);
9:end for
10:return TL,TN,TM,and TH.
S2、分别将各个服务器的实时资源利用率及其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻这五种;
如图1所示,对于任意一个服务器Si,均执行以下步骤:
将服务器Si的实时资源利用率Ts分别与服务器的高阈值TH、中阈值TM、正常阈值TN以及低阈值TL进行比较:
当服务器Si的实时资源利用率TS≤服务器的低阈值TL时,则判断服务器负载过轻;
当服务器Si的实时资源利用率Ts>服务器的低阈值TL,且服务器的实时资源利用率Ts≤服务器的正常阈值TN时,则判断服务器负载较轻;
当服务器Si的实时资源利用率Ts>服务器的正常阈值TN,且服务器的实时资源利用率Ts≤服务器的中阈值TM时,则判断服务器正常负载;
当服务器Si的实时资源利用率Ts>服务器的中阈值TM,且服务器的实时资源利用率Ts≤服务器的高阈值TH时,则判断服务器负载中等;
当服务器Si的实时资源利用率Ts>服务器的高阈值TH时,则判断服务器负载过重。
S3、将负载过重的服务器上的虚拟机迁移至正常负载的服务器,将负载过轻的服务器上的虚拟机全部迁移至负载较轻的服务器,并禁止负载中等的服务器、正常负载的服务器、负载较轻的服务器上的虚拟机迁移出去。
由于虚拟机的频繁迁移会增加云计算中心的能耗,降低云计算中心的服务器的稳定性,本技术方案还通过禁止负载中等的服务器、正常负载的服务器、负载较轻的服务器上的虚拟机迁移出去,从而避免服务器频繁的迁移,进一步提高服务器的能效。
分别计算各个正常负载的服务器的能效,其中,服务器的能效由服务器的能耗以及违约损失率决定,将负载过重的服务器上的部分虚拟机依次迁移至正常负载的服务器中的、当前最高能效的服务器上,直至负载过重的服务器的实时资源利用率TS≤服务器的高阈值TH
其中,迁移算法的源代码如下:
Input:TL,TN,TM,and TH
Output:migrateMap
1:serverList=getServerlist();
//获取服务器列表
2:For server to serverlist do
3:TS=server.getUtilizationOfCPU();
//获取资源利用率
4:If(TS≤TL)Then
5:vmList=getAllVmToMigrate(server);
//迁移服务器上的所有服务器
6:OneMap=getVMPlacement(vmlist);
7:migrateMap.add(OneMap);
8:Else If(TS≤TH)Then
9:continue;
10:Else If(TS>TH)Then
11:vmList=getVmToMigrate(server);
//迁移服务器上的一部分虚拟机
12:TwoMap=getVMPlacement(vmlist);
13:migrateMap.add(TwoMap);
14:End If
15:End For
16:return migrateMap.
分别计算各个负载较轻的服务器的能效,将负载过轻的服务器上的虚拟机全部迁移至负载较轻的服务器中的、当前最高能效的服务器上。
其中,计算服务器的能效通过以下公式实现:
SLAD=SLAA-SLAB
PD=PA-PB
Figure BDA0002957006590000091
其中,SLAD为虚拟机迁移后服务器的违约损失率与虚拟机迁移前服务器违约损失率之间的差值,SLAA为虚拟机迁移后服务器的违约损失率,SLAB为虚拟机迁移前服务器的违约损失率;PD为虚拟机迁移后服务器的能耗与虚拟机迁移前服务器的能耗之间的差值,PA为虚拟机迁移后服务器的能耗,PB为虚拟机迁移前服务器的能耗;EFD为服务器的能效。
将负载过重的服务器上的虚拟机迁移至正常负载的服务器,将负载过轻的服务器上的虚拟机全部迁移至负载较轻的服务器的虚拟机部署算法,源代码如下:
Algorithm 3AFED-EF
Input:TL,TN,TM,and TH
Output:VMs placement
1:vmList=getVmlist();//获得虚拟机列表
2:serverListOne=getLightlyLoadedServerlist();
3:serverListTwo=getNormallyLoadedServerlist();
4:vmlist.sortByCPUDecreasing();//根据虚拟机的CPU利用率对虚拟机进行降序排列
5:For vm to vmlist()do
6:minPower=Min_VALUE;
7:allocatedServer=Null;
8:Forserverto serverListOne or serverListTwo do
//对候选服务器列表中的每个服务器
9:If(server.isSuitableForVm(vm))Then
10:PowerServer=server.getPower();
//获取服务器的能耗
11:PowerServerAfterVM=getPower(server,vm);
12:PowerDiff=PowerServerAfterVM-PowerServer;
//计算虚拟机放置前后的每个候选服务器能耗差异
13:SLA=server.getSLA();
14:SLAAfterAllocation=getSLA(server,vm);
15:SLADiff=SLAAfterAllocation-SLA;
//计算虚拟机放置前后的每个候选服务器违约损失率差异
16:EF=1/(PowerDiff*SLADiff);//计算候选服务器的能效
17:If(EF>minPower)Then
18:minPower=EF;
19:allocatedServer=server;
//选择一个具有最高能效的服务器来实现虚拟机的部署,并返回最终结果
20:End if
21:End If
22:End for
23:allocate the VM to server and achieve placement
24:End for
25:return VMs placement
实验验证:
创建一个云数据中心,该云数据中心由800台服务器,在该云数据中心由HPProliantG4和HPProliantG5两种型号的服务器组成,采用不同的虚拟机部署算法以及本发明中的虚拟机部署算法对该云数据中心的虚拟机部署进行测试,并从能耗、VM迁移数、SLA(即违约损失率)(SLA=SVTH*PDCM)、SVTH(SLA violation time per active server,每个服务器的SLA违约率时间)、PDCM(Performance degradation caused by VMmigration,迁移机迁移导致的性能降低)和能效这六个评价指标评价不同虚拟机部署算法的性能,得到如图2所示的评价指标比对图,从图中可以看出,本发明中的虚拟机部署算法(即图中AFED-1.0)能效最高(值越大越好),SLA违约率和能耗最低(值越小越好),且虚拟机迁移数量也较低,可见本发明中的虚拟机部署算法性能最好。
综上所述,本发明中的云数据中心以能效为目标的虚拟机部署算法及系统,分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;分别将各个服务器的实时资源利用率及其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻五类;通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。
在优选方案中,本技术方案根据各个服务器过去一段时间的资源利用率来确定各个服务器的动态分类,再对动态分类后的服务器进行分配,相比现有技术,这种分配方法对各种应用场景都可以应用,应用范围更广。
在优选方案中,由于虚拟机频繁迁移会增加云计算中心的能耗,降低云计算中心服务器的稳定性,本技术方案还通过禁止负载中等的服务器、正常负载的服务器、负载较轻的服务器上的虚拟机迁移出去,从而避免服务器频繁的迁移,进一步提高服务器的能效。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种云数据中心以能效为目标的虚拟机部署算法,其特征在于,包括以下步骤:
分别获取各个服务器的自适应分类阈值及各个服务器的实时资源利用率;
分别将各个服务器的实时资源利用率与其对应的自适应阈值进行比较,确定各个服务器的实时动态类别;其中,动态类别包括负载过重、负载中等、正常负载、负载较轻、负载过轻五类;
通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率。
2.根据权利要求1所述的以能效为目标的虚拟机部署算法,其特征在于,所述自适应阈值包括高阈值、中阈值、正常阈值以及低阈值,其中,高阈值>中阈值>正常阈值>低阈值;分别获取各个服务器的自适应分类阈值,具体包括以下步骤:
对于任意一台服务器,均执行以下步骤:
对所述服务器连续一段时间的资源利用率进行聚类,得到K个类簇;
分别计算所述服务器的各个类簇的MAD值,构建由所述服务器的各个类簇的MAD值组成的MAD值集;
计算所述MAD值集的四分位距IQR;
基于所述四分位距IQR,分别计算所述服务器的自适应分类阈值。
3.根据权利要求2所述的以能效为目标的虚拟机部署算法,其特征在于,计算所述MAD值集的四分位距IQR,具体包括以下步骤:
对所述MAD值集中的MAD值按从小至大进行排序并分成四等份,从小至大处于三个分割点位置的MAD值分别为所述MAD值集的第一四分位数Q1、第二四分位数Q2以及第三四分位数Q3
计算第三四分位数Q3与第一四分位数Q1的差值,得到所述MAD值集的四分位距IQR:
IQR=Q3-Q1
4.根据权利要求2所述的以能效为目标的虚拟机部署算法,其特征在于,基于所述服务器的四分位距IQR,分别计算所述服务器的自适应分类阈值,通过以下公式计算得到:
TH=(1-c×IQR),
TM=a1(1-c×IQR),
TN=a2(1-c×IQR),
TL=a3(1-c×IQR),
其中,TH为高阈值、TM为中阈值、TN为正常阈值、TL为低阈值,a1,a2以及a3分别为经验参数,其值可以通过经验值设定,其中,0<a1<a2<a3<1,c为安全系数,根据经验设定。
5.根据权利要求4所述的以能效为目标的虚拟机部署算法,其特征在于,分别将各个服务器的实时资源利用率及其对应的自适应阈值进行比较,确定各个服务器的实时动态类别,具体包括以下步骤:
对于任意一个服务器,均执行以下步骤:
将所述服务器的实时资源利用率TS分别与所述服务器的高阈值TH、中阈值TM、正常阈值TN以及低阈值TL进行比较:
当所述服务器的实时资源利用率TS≤所述服务器的低阈值TL时,则判断所述服务器负载过轻;
当所述服务器的实时资源利用率TS>所述服务器的低阈值TL,且所述服务器的实时资源利用率TS≤服务器的正常阈值TN时,则判断所述服务器负载较轻;
当所述服务器的实时资源利用率TS>所述服务器的正常阈值TN,且所述服务器的实时资源利用率TS≤服务器的中阈值TM时,则判断所述服务器正常负载;
当所述服务器的实时资源利用率TS>所述服务器的中阈值TM,且所述服务器的实时资源利用率TS≤服务器的高阈值TH时,则判断所述服务器负载中等;
当所述服务器的实时资源利用率TS>所述服务器的高阈值TH时,则判断所述服务器负载过重。
6.根据权利要求1-5中任意一项所述的以能效为目标的虚拟机部署算法,其特征在于,所述资源利用率为CPU利用率,所述聚类采用K-Means聚类算法。
7.根据权利要求1-5中任意一项所述的以能效为目标的虚拟机部署算法,其特征在于,通过将负载过重服务器上的虚拟机迁移至正常负载且具有最高能效的服务器上以降低其违约率和减少服务器的迁移频率,提高云计算中心的稳定性,同时将负载过轻的服务器上的虚拟机迁移至负载较轻且具有最高能效的服务器上,关闭负载过轻的服务器,以提高负载较轻服务器的资源利用率,实现同时降低云数据中心的能源消耗和违约率,具体包括以下步骤:
分别计算各个正常负载的服务器的能效,其中,所述服务器的能效由所述服务器的能耗以及违约损失率决定,将所述负载过重的服务器上的部分虚拟机依次迁移至正常负载的服务器中的、当前最高能效的服务器上,直至所述负载过重的服务器的实时资源利用率TS≤所述服务器的高阈值TH
分别计算各个负载较轻的服务器的能效,将负载过轻的服务器上的虚拟机全部迁移至负载较轻的服务器中的、当前最高能效的服务器上,并禁止负载中等的服务器、正常负载的服务器、负载较轻的服务器上的虚拟机迁移出去,以降低因过多的虚拟机迁移带来的违约率。
8.根据权利要求7所述的以能效为目标的虚拟机部署算法,其特征在于,计算服务器的能效通过以下公式实现:
SLAD=SLAA-SLAB
PD=PA-PB
Figure FDA0002957006580000031
其中,SLAD为虚拟机迁移后所述服务器的违约损失率与虚拟机迁移前所述服务器违约损失率之间的差值,SLAA为虚拟机迁移后所述服务器的违约损失率,SLAB为虚拟机迁移前所述服务器的违约损失率;PD为虚拟机迁移后所述服务器的能耗与虚拟机迁移前所述服务器的能耗之间的差值,PA为虚拟机迁移后所述服务器的能耗,PB为虚拟机迁移前所述服务器的能耗;EFD为所述服务器的能效。
9.一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一所述算法的步骤。
CN202110227329.1A 2021-03-01 2021-03-01 云数据中心以能效为目标的虚拟机部署方法及系统 Active CN113157435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110227329.1A CN113157435B (zh) 2021-03-01 2021-03-01 云数据中心以能效为目标的虚拟机部署方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110227329.1A CN113157435B (zh) 2021-03-01 2021-03-01 云数据中心以能效为目标的虚拟机部署方法及系统

Publications (2)

Publication Number Publication Date
CN113157435A true CN113157435A (zh) 2021-07-23
CN113157435B CN113157435B (zh) 2023-11-24

Family

ID=76883969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110227329.1A Active CN113157435B (zh) 2021-03-01 2021-03-01 云数据中心以能效为目标的虚拟机部署方法及系统

Country Status (1)

Country Link
CN (1) CN113157435B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185571A (zh) * 2023-04-20 2023-05-30 深圳市科力锐科技有限公司 数据迁移方法、设备、存储介质及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077082A (zh) * 2013-01-08 2013-05-01 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
US20150039764A1 (en) * 2013-07-31 2015-02-05 Anton Beloglazov System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing
CN108073443A (zh) * 2017-12-08 2018-05-25 中南大学 一种云数据中心里基于共享内存页面的虚拟机选择与放置方法
CN109901932A (zh) * 2019-03-12 2019-06-18 东北大学 一种基于虚拟机的服务器整合方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077082A (zh) * 2013-01-08 2013-05-01 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
US20150039764A1 (en) * 2013-07-31 2015-02-05 Anton Beloglazov System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing
CN108073443A (zh) * 2017-12-08 2018-05-25 中南大学 一种云数据中心里基于共享内存页面的虚拟机选择与放置方法
CN109901932A (zh) * 2019-03-12 2019-06-18 东北大学 一种基于虚拟机的服务器整合方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NILADRI SEKHAR DEY; T. GUNASEKHAR: "A Comprehensive Survey of Load Balancing Strategies Using Hadoop Queue Scheduling and Virtual Machine Migration", IEEE ACCESS *
邓东燕: "面向能效优化的云计算虚拟机动态迁移技术研究", 中国优秀硕士学位论文全文数据库 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185571A (zh) * 2023-04-20 2023-05-30 深圳市科力锐科技有限公司 数据迁移方法、设备、存储介质及装置

Also Published As

Publication number Publication date
CN113157435B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
US8510747B2 (en) Method and device for implementing load balance of data center resources
Song et al. Towards pervasive and user satisfactory cnn across gpu microarchitectures
CN104850727B (zh) 基于云重心理论的分布式大数据系统风险评估方法
CN102696000A (zh) 用于虚拟化数据中心中的协调能量管理的方法和设备
CN106095532B (zh) 一种云环境中虚拟机负载均衡安全调度方法
US9705816B2 (en) Method and apparatus for allocating resource reflecting adaptive evaluation in cloud computing for high-throughput computing
CN109005130A (zh) 网络资源配置调度方法和装置
Ma et al. Real-time virtual machine scheduling in industry IoT network: A reinforcement learning method
CN107220108B (zh) 一种实现云数据中心负载均衡的方法和系统
Janus et al. SLO-aware colocation of data center tasks based on instantaneous processor requirements
Singh et al. A bio-inspired virtual machine placement toward sustainable cloud resource management
Monil et al. Energy-aware VM consolidation approach using combination of heuristics and migration control
Fan et al. Improving MapReduce performance by balancing skewed loads
US9367351B1 (en) Profiling input/output behavioral characteristics in distributed infrastructure
CN109783304B (zh) 一种数据中心的节能调度方法及对应装置
CN107861873B (zh) 基于两属性分级调整的测试用例优先级调整方法
CN113157435A (zh) 云数据中心以能效为目标的虚拟机部署算法及系统
KR20190078453A (ko) 분산 클라우드 환경에서 퍼지값 재조정에 따른 마이그레이션 시스템 및 방법
Monil et al. Incorporating Migration Control in VM Selection Strategies to Enhance Performance.
Li et al. Energy-performance optimisation for the dynamic consolidation of virtual machines in cloud computing
CN116204293A (zh) 一种资源调度方法、装置、计算机设备以及存储介质
Nadeem et al. Priority-aware virtual machine selection algorithm in dynamic consolidation
Shidik et al. Evaluation of cluster K-Means as VM selection in dynamic VM consolidation
Alatawi et al. Toward efficient cloud services: an energy-aware hybrid load balancing approach
Dabhi et al. Utilisation-aware VM placement policy for workload consolidation in cloud data centres

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