CN108089914A - 一种基于能耗的云计算虚拟机部署算法 - Google Patents

一种基于能耗的云计算虚拟机部署算法 Download PDF

Info

Publication number
CN108089914A
CN108089914A CN201810047483.9A CN201810047483A CN108089914A CN 108089914 A CN108089914 A CN 108089914A CN 201810047483 A CN201810047483 A CN 201810047483A CN 108089914 A CN108089914 A CN 108089914A
Authority
CN
China
Prior art keywords
virtual machine
queue
request
machine
cpu
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.)
Pending
Application number
CN201810047483.9A
Other languages
English (en)
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201810047483.9A priority Critical patent/CN108089914A/zh
Publication of CN108089914A publication Critical patent/CN108089914A/zh
Pending legal-status Critical Current

Links

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/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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • 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/45583Memory management, e.g. access or allocation
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于能耗的云计算虚拟机部署算法。该算法包含虚拟机初始部署算法与虚拟机重部署算法两个部分。虚拟机初始部署算法为本发明提供的DRWMG算法,该算法首先对新到达的虚拟机请求进行分类,分为CPU密集型请求、内存密集型请求、正常请求三种类型,然后对不同类型的虚拟机请求采取本发明提供的不同的部署策略。虚拟机重部署算法为本发明提供的MCA算法,该算法周期性地根据虚拟机迁移开销(迁移时间、迁移能耗、宕机时间)重部署现有虚拟机。与现有的虚拟机部署算法相比,本发明提供的DRWMG算法具有降低云计算系统的能耗的同时,使物理机不同资源的使用更加均衡的优点;本发明提供的MCA算法具有降低云计算系统能耗的同时,也降低了云计算系统中虚拟机的迁移开销的优点。

Description

一种基于能耗的云计算虚拟机部署算法
技术领域
本发明是关于云计算中的虚拟机部署领域,具体涉及云计算中的虚拟机初始部署和虚拟机重部署问题。
背景技术
虚拟机部署是指在当前云计算系统中找到一种较优的映射关系,即将N个虚拟机请求V={vm1,vm2,vm3,……vmN}部署到可用的M个物理机P={pm1,pm2,pm3……,pmM}之上。虚拟机部署分为初始部署和重部署两种,初始部署是指将新到达的一个或一批虚拟机请求部署到物理机上;重部署是指对云计算系统当前的虚拟机部署进行重新调整,以到达某种优化目的。
对虚拟机的初始部署,目前的方法是将物理机上的多种资源(如CPU资源、内存资源等)进行组合,合成一个指标,根据该指标进行部署。但是,现有方法都没有考虑虚拟机请求的类型以及每个物理机各种资源的使用情况是否均衡这两方面的因素。这是现有的虚拟机初始部署算法的一个重要不足。对于虚拟机重部署,目前的方法是考虑处于活跃状态的物理机数量、迁移时间、迁移能耗等多个因素中的某些因素。显然,更合理的方法是在重部署时将以上多种因素都进行考虑,这是现有的虚拟机重部署算法的一个重要不足。此外,迁移时间和迁移能耗仅仅是虚拟机迁移开销的一部分,其他的迁移开销如宕机时间等在现有方法中没有得到考虑,这是现有的虚拟机重部署算法的另一个不足。
发明内容
针对现有虚拟机部署算法存在的不足,本发明提供了一种基于能耗的云计算虚拟机部署算法。本算法包含虚拟机初始部署算法和虚拟机重部署算法两个部分,其中初始部署算法为本发明提供的DRWMG(Different Resource with Minimum Gap)算法。DRWMG算法根据虚拟机请求对不同资源的需求量将虚拟机请求进行分类,对于不同类型的虚拟机请求采用不同的部署策略,使得物理机不同资源(如CPU资源以及内存资源)的使用率更加均衡,并在降低了云计算系统产生的能耗。重部署算法为本发明提供的MCA(Migration CostAlgorithm)算法,该算法考虑了处于活跃状态的物理机数量和迁移开销(迁移时间、宕机时间、迁移能耗)的因素,通过本发明建立的优化模型,得到新的部署结果,与现有的方法相比,除了迁移时间和迁移能耗,还考虑了迁移开销中的宕机时间,因而能够得到更加符合实际的重部署。
本发明包含以下内容:
1、一种基于能耗的云计算虚拟机部署算法
该算法包含虚拟机初始部署算法(详见发明内容2)和虚拟机重部署算法(详见发明内容3)两个部分,见图1。
2、一种虚拟机初始部署算法—DRWMG算法
在本发明提供的虚拟机初始部署部分,采用了本发明提供DRWMG算法(即图1的S2,详见图3)。当新的虚拟机请求到达时,该算法根据虚拟机请求对不同资源的需求量,对虚拟机请求进行分类,分为CPU密集型请求、内存密集型请求和正常请求,然后对不同类型的虚拟机请求采取本发明提出的不同的部署策略。与部署策略相关的具体计算表达式见公式(1),公式(2),公式(3),公式(4)。
3、一种虚拟机重部署算法—MCA算法
在本发明提供的虚拟机重部署部分,采用了本发明提供了MCA算法(即图1的S3,详见图4),该算法考虑虚拟机迁移开销以及处于活跃状态的物理机数量的影响,通过最小化目标函数获取新的部署结果。其中虚拟机i的迁移开销包括迁移时间、宕机时间以及迁移能耗三部分。迁移时间的计算表达式见公式(4),宕机时间的计算表达式见公式(5),迁移能耗的计算表达式见公式(6),迁移开销的计算表达式见公式(7),优化目标函数表达式见公式(9)。
附图说明
图1是本发明提供的一种基于能耗的云计算虚拟机部署算法的流程图。
图2是图1中S1的流程图。
图3是图1中S2的流程图。
图4是图1中S3的流程图。
具体实施方式
本发明公开的一种基于能耗的云计算虚拟机部署算法包含初始部署算法和重部署算法两个部分。
基于能耗的云计算虚拟机部署算法整体流程图如图1所示。下面结合附图和实施例,对本发明的具体实施方式做详细说明。
一、初始化
本部分对应图1中的S1,详细流程图见图2。
S1:初始化
S1.1:初始化虚拟机请求判别参数k
根据云计算系统实际情况对虚拟机请求类型判别参数k进行赋值,是一个正常数。
S1.2:初始化优先级队列:queue_cpu、queue_mem、queue_slack、queue_initial
基于能耗的云计算虚拟机部署算法开始时,根据云计算系统中物理机的资源情况,实例化四个优先级队列。其中,queue_cpu代表部署CPU密集型请求时采用的优先级队列,queue_mem代表部署内存密集型请求时采用的优先级队列,queue_slack代表部署正常请求时采用的优先级队列,queue_initial代表云计算系统中处于非活跃状态的的物理机优先级队列。
1)队列queue_cpu初始化。首先对云计算系统中所有处于活跃状态的的物理机根据公式(1)的值由小到大排序。
其中,vmi代表第i个虚拟机,pmj代表第j个物理机,代表物理机j的资源使用量,SC代表云计算系统所有处于活跃状态的物理机CPU资源使用率之和,SM代表云计算系统所有处于活跃状态的物理机内存资源使用率之和,cpui为虚拟机i对CPU资源的使用量,vmi∈pmj表示虚拟机i部署在物理机j上。
2)队列queue_mem初始化。首先对云计算系统中所有处于活跃状态的物理机根据公式(2)的值由小到大排序。
vmi∈pmj。p代表部署在物理机j上的虚拟机数量,SM代表云计算系统所有处于活跃状态的物理机内存资源使用率之和,代表物理机j的内存资源使用量,memi为虚拟机i对内存资源的使用量。
3)队列queue_slack初始化。首先对云计算系统中所有处于活跃状态的物理机根据公式(3)的值由小到大排序。:
其中j∈Pon,Pon代表云计算系统中处于活跃状态的物理机集合。Cj代表物理j的CPU能力,Mj代表物理机j的内存资源能力。
4)队列queue_initial初始化。首先对云计算系统中所有处于非活跃状态的物理机根据公式(4)的值由大到小排序。
Cj×Mj (4)
其中j∈Poff,Poff代表云计算系统中处于非活跃状态的物理机集合。
S1.3:初始化物理机CPU资源利用率的上限tsdc和内存资源利用率的上限tsdm根据实际情况初始化tsdc和tsdm
二、初始部署算法
本部分对应图1中的S2,具体流程图见图3。
S2:初始部署算法—DRWMG算法
S2.1:判断虚拟机请求类型
虚拟机请求到达时,根据虚拟机请求对CPU资源以及内存的资源需求量,将虚拟机请求划分为CPU密集型请求、内存密集型请求以及正常请求三种情况,不同类型的虚拟机请求采用不同的部署策略。
1)当虚拟机请求i对CPU资源和内存资源的需求量的关系为cpui>k·memi时,该请求定义为CPU密集型请求。
2)当请求i对内存资源的需求量和CPU资源的需求量的关系为memi>k·cpui时,该请求定义为内存密集型请求。
3)其他情况为正常虚拟机请求。
其中,cpui代表虚拟机请求i对CPU资源的需求量,memi代表虚拟机请求i对内存资源的需求量,k为虚拟机请求类型判别参数,是一个正常数。
S2.2:根据虚拟机请求的类型进行部署
1)对于CPU密集型请求的部署策略为:在queue_cpu优先级队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止;如果遍历整个queue_cpu队列后仍未找到满足需求的物理机,则转到步骤4)。
2)对于内存密集型请求的部署策略为:在queue_mem优先级队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止;如果遍历整个queue_mem队列后仍未找到满足需求的物理机,则转到步骤4)。
3)对于正常请求的部署策略为:在queue_slack优先级队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止;如果遍历整个queue_slack队列后仍未找到满足需求的物理机,则转到步骤4)。
4)在queue_initial队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止,即激活一台新的物理机。
S2.3:根据S2.2中的算法进行初始部署后更新云计算系统的信息。
按照公式(1)、(2)、(3)、(4)的值更新相应队列queue_cpu、queue_mem、queue_slack、queue_initial中物理机顺序。
三、重部署
本部分对应图1中的S3,具体流程图见图4。
S3:重部署算法—MCA算法
S3.1:计算虚拟机迁移开销
虚拟机i的迁移开销包括迁移时间宕机时间以及迁移能耗三部分。
1)计算虚拟机i的迁移时间
其中,代表虚拟机i的内存资源使用量,bwj代表物理机j所在的网络带宽,为虚拟机i的脏页率,n为虚拟机i迁移的迭代次数。
2)计算虚拟机i的宕机时间
其中代表虚拟机i迁移到目的物理机后的重启时间,tn代表虚拟机i迁移时第n次迭代的时间。
3)计算虚拟机i的迁移能耗
4)根据1),2),3)得到虚拟机i的迁移开销,计算公式为:
其中max{Tmig},max{Tdown}以及max{Emig}表示在执行某次重部署时,运行在物理机上的所有虚拟机的迁移时间、宕机时间和迁移能耗的最大值,便于在建立重部署优化模型时正则化。
S3.2:生成虚拟机与物理机的映射矩阵A和物理机的状态向量S
1)以N行M列的矩阵A={aij}表示虚拟机i是否部署在物理机j上,其中i∈{1,2,3,4……,N},j∈{1,2,3,4……,M}。aij=1表示虚拟机i部署在物理机j上,aij=0表示虚拟机i未部署在物理机j上。N为云计算系统中虚拟机的数量,M为云计算系统中处于活跃状态的物理机数量。
2)以M维向量S={s1,s2……sM}表示云计算系统中目前处于活跃状态的物理机的状态。对于任意的j∈{1,2,3,4……,M},sj取值为0或1,sj=0表示物理机j处于非活跃状态;sj=1表示物理机j处于活跃状态,即该物理机至少有一个虚拟机在运行。如下公式所示,即:
S3.3:执行重部署优化模型获取重部署结果
根据S3.1得到每个虚拟机的迁移开销,求解以下的重部署优化模型,得到重部署结果a′ij。可以用优化算法如整数规划、遗传算法等来对该优化模型进行求解。
重部署优化模型:
并且满足以下的约束条件:
1)对于任意的i(1≤i≤N)和j(1≤j≤M),a′ij∈{0,1},sj∈{0,1}。
2)对于任意的i(1≤i≤N),
3)对于任意的j(1≤j≤M),其中Cj为物理机j的
CPU能力,cj代表虚拟机i的CPU的资源使用量,tsdc为物理机的CPU资源
利用率的上限阈值。
4)对于任意的j(1≤j≤M),其中Mj为物理机
j的内存资源能力,代表虚拟机i的内存资源使用量,tsdm代表物理机
的内存资源利用率的上限阈值。
5)对于任意j(1≤j≤M),其中V是目前所有部署在物理
机上的虚拟机的集合,|V|是这些虚拟机的总数量
6)对于任意j(1≤j≤M),
约束条件二保证一个虚拟机只能部署在一台物理机;约束条件三保证部署在一台物理机之上的所有虚拟机对于CPU资源的使用之和小于物理机本身的阈值计算能力,约束条件四保证内存资源;约束条件五和约束条件六一起保证了每一台物理机j的状态sj:若有虚拟机部署在物理机j,则sj=1,否则sj=0。
S3.4:调整部署
按照S3.2的优化模型得到的重部署结果,重新调整现有部署。
S3.5:更新队列、映射矩阵A以及物理机状态向量S
按照公式(1)、(2)、(3)、(4)更新队列queue_cpu、queue_mem、queue_slack、queue_initial中的信息。

Claims (3)

1.一种基于能耗的云计算虚拟机部署算法,其特征在于:包含虚拟机初始部署算法与虚拟机重部署算法,其中,虚拟机初始部署算法为本发明提供的DRWMG算法,虚拟机重部署算法为本发明提供的MCA算法。
2.根据权利要求1所述的一种基于能耗的云计算虚拟机部署算法,其特征在于,其中的虚拟机初始部署算法—DRWMG算法,具体步骤如下:
步骤一:判断虚拟机请求类型
虚拟机请求到达时,根据虚拟机请求对CPU资源以及内存资源的需求量,将虚拟机请求分为CPU密集型请求、内存密集型请求以及正常请求三种类型。
1)当虚拟机请求i对CPU资源和内存资源的需求量的关系为cpui>k·memi时,该请求定义为CPU密集型请求。
2)当虚拟机请求i对CPU资源和内存资源的需求量的关系为memi>k·cpui时,该请求定义为内存密集型请求。
3)其他情况的虚拟机请求定义为正常请求。
其中,cpui代表虚拟机请求i对CPU资源的需求量,memi代表虚拟机请求i对内存资源的需求量,k为虚拟机请求类型判别参数,是一个正常数。
步骤二:根据虚拟机请求的类型进行部署
1)对于CPU密集型请求的部署策略为:在queue_cpu优先级队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止;如果遍历整个queue_cpu队列后仍未找到满足需求的物理机,则转到步骤4)。
2)对于内存密集型请求的部署策略为:在queue_mem优先级队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止;如果遍历整个queue_mem队列后仍未找到满足需求的物理机,则转到步骤4)。
3)对于正常请求的部署策略为:在queue_slack优先级队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止;如果遍历整个queue_slack队列后仍未找到满足需求的物理机,则转到步骤4)。
4)在queue_initial队列中从队首开始遍历,直到找到第一个可以满足虚拟机请求的资源需求的物理机时停止,即激活一台新的物理机。
其中,queue_cpu代表部署CPU密集型请求时采用的优先级队列,queue_mem代表部署内存密集型请求时采用的优先级队列,queue_slack代表部署正常请求时采用的优先级队列,queue_initial代表云计算系统中处于非活跃状态的物理机优先级队列。
步骤三:更新云计算系统的信息
当一个虚拟机请求被部署后,按照相应的计算表达式更新相应队列:queue_cpu、queue_mem、queue_slack、queue_initial中的物理机顺序。
1)更新队列queue_cpu:云计算系统中所有处于活跃状态的物理机根据公式的值由小到大更新排序。
2)更新队列queue_mem:云计算系统中所有处于活跃状态的物理机根据公式的值由小到大更新排序。
3)更新队列queue_slack:云计算系统中所有处于活跃状态的物理机根据公式的值由小到大更新排序。
4)更新队列queue_initial:云计算系统中所有处于非活跃状态的物理机根据公式Cj×Mj的值由大到小更新排序。
其中,SC代表云计算系统所有处于活跃状态的物理机CPU资源使用率之和,SM为云计算系统所有处于活跃状态的物理机内存资源使用率之和,为物理机j的CPU资源使用量,代表物理机j的内存资源使用量,Cj为物理机j的CPU资源能力,Mj为物理机j的内存资源能力。
3.根据权利要求1所述的一种基于能耗的云计算虚拟机部署算法,其特征在于,其中的虚拟机重部署算法—MCA算法,具体步骤如下:
步骤一:计算虚拟机的迁移开销
虚拟机i的迁移开销包括迁移时间宕机时间以及迁移能耗三部分。
1)计算虚拟机i的迁移时间
<mrow> <msubsup> <mi>T</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>g</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <mfrac> <msubsup> <mi>V</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> <mi>i</mi> </msubsup> <mrow> <msub> <mi>bw</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mn>1</mn> <mo>-</mo> <msup> <mi>&amp;lambda;</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msup> </mrow> <mrow> <mn>1</mn> <mo>-</mo> <mi>&amp;lambda;</mi> </mrow> </mfrac> </mrow>
其中,为虚拟机i的内存资源使用量,bwj为物理机j所在的网络带宽,其中为虚拟机i的脏页率,n为虚拟机i迁移的迭代次数。
2)计算虚拟机i的宕机时间
<mrow> <msubsup> <mi>T</mi> <mrow> <mi>d</mi> <mi>o</mi> <mi>w</mi> <mi>n</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <msub> <mi>t</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mi>e</mi> </mrow> </msub> <mo>=</mo> <msup> <mi>&amp;lambda;</mi> <mi>n</mi> </msup> <mo>&amp;CenterDot;</mo> <mfrac> <msubsup> <mi>V</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> <mi>i</mi> </msubsup> <mrow> <msub> <mi>bw</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>+</mo> <msubsup> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mi>e</mi> </mrow> <mi>i</mi> </msubsup> </mrow>
其中为虚拟机i迁移到目的物理机后的重启时间,tn为虚拟机i迁移时第n次迭代的时间。
3)计算虚拟机i的迁移能耗
<mrow> <msubsup> <mi>E</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>g</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <mn>0.512</mn> <msub> <mi>bw</mi> <mi>j</mi> </msub> <mo>+</mo> <mn>20.165</mn> </mrow>
4)根据1)、2)、3)得到虚拟机i的迁移开销,计算表达式为:
<mrow> <msub> <mi>&amp;theta;</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <msubsup> <mi>T</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>g</mi> </mrow> <mi>i</mi> </msubsup> <mrow> <mi>max</mi> <mo>{</mo> <msub> <mi>T</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>g</mi> </mrow> </msub> <mo>}</mo> </mrow> </mfrac> <mo>+</mo> <mfrac> <msubsup> <mi>T</mi> <mrow> <mi>d</mi> <mi>o</mi> <mi>w</mi> <mi>n</mi> </mrow> <mi>i</mi> </msubsup> <mrow> <mi>max</mi> <mo>{</mo> <msub> <mi>T</mi> <mrow> <mi>d</mi> <mi>o</mi> <mi>w</mi> <mi>n</mi> </mrow> </msub> <mo>}</mo> </mrow> </mfrac> <mo>+</mo> <mfrac> <msubsup> <mi>E</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>g</mi> </mrow> <mi>i</mi> </msubsup> <mrow> <mi>max</mi> <mo>{</mo> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>g</mi> </mrow> </msub> <mo>}</mo> </mrow> </mfrac> </mrow>
其中,max{Tmig}、max{Tdown}、max{Emig}分别为在执行某次重部署时,运行在物理机上的所有虚拟机的迁移时间、宕机时间和迁移能耗的最大值。
步骤二:生成虚拟机与物理机的映射矩阵A和物理机的状态向量S
1)以N行M列的矩阵A={aij}表示虚拟机i是否部署在物理机j上,其中i∈{1,2,3,4......,N},j∈{1,2,3,4......,M}。aij=1表示虚拟机i部署在物理机j上,aij=0表示虚拟机i未部署在物理机j上。N为云计算系统中虚拟机的数量,M为云计算系统中处于活跃状态的物理机数量。
2)以M维向量S={s1,s2……sM}表示云计算系统中目前处于活跃状态的物理机的状态。对于任意的j∈{1,2,3,4......,M},sj取值为0或1,sj=0表示物理机j处于非活跃状态;sj=1表示物理机j处于活跃状态,即该物理机至少有一个虚拟机在运行。如下公式所示,即:
步骤三:求解以下的重部署优化模型,得到重部署结果a’ij。可以用优化算法如整数规划、遗传算法等来对该优化模型进行求解。
重部署优化模型:
最小化并且满足以下的约束条件:
1)对于任意的i(1≤i≤N)和j(1≤j≤M),a’ij∈{0,1},sj∈{0,1}。
2)对于任意的i(1≤i≤N),
3)对于任意的j(1≤j≤M),其中Cj为物理机j的
CPU能力,ci代表虚拟机i的CPU的资源使用量,tsdc为物理机的CPU资源利用率的上限阈值。
4)对于任意的j(1≤j≤M),其中Mj为物理机j的内存资源能力,代表虚拟机i的内存资源使用量,tsdm代表物理机的内存资源利用率的上限阈值。
5)对于任意j(1≤j≤M),其中V是目前所有部署在物理机上的虚拟机的集合,|V|是这些虚拟机的总数量。
6)对于任意j(1≤j≤M),
步骤四:按照步骤三得到的重部署结果对虚拟机进行部署。
步骤五:更新队列queue_cpu、queue_mem、queue_slack、queue_initial中的信息,更新方法与虚拟机初始部署算法:DRWMG算法的步骤三相同。
CN201810047483.9A 2018-01-18 2018-01-18 一种基于能耗的云计算虚拟机部署算法 Pending CN108089914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810047483.9A CN108089914A (zh) 2018-01-18 2018-01-18 一种基于能耗的云计算虚拟机部署算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810047483.9A CN108089914A (zh) 2018-01-18 2018-01-18 一种基于能耗的云计算虚拟机部署算法

Publications (1)

Publication Number Publication Date
CN108089914A true CN108089914A (zh) 2018-05-29

Family

ID=62183134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810047483.9A Pending CN108089914A (zh) 2018-01-18 2018-01-18 一种基于能耗的云计算虚拟机部署算法

Country Status (1)

Country Link
CN (1) CN108089914A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109697105A (zh) * 2018-12-11 2019-04-30 广东石油化工学院 一种容器云环境物理机选择方法及其系统、虚拟资源配置方法及迁移方法
CN109947530A (zh) * 2019-01-25 2019-06-28 西安交通大学 一种针对云平台的多维度虚拟机映射方法
CN111309472A (zh) * 2019-07-11 2020-06-19 南京奥工信息科技有限公司 一种基于虚拟机预部署的在线虚拟资源分配方法
CN111338745A (zh) * 2019-04-25 2020-06-26 中国移动通信集团湖南有限公司 一种虚拟机的部署方法、装置及智能设备
CN112269632A (zh) * 2020-09-25 2021-01-26 北京航空航天大学杭州创新研究院 一种优化云数据中心的调度方法和系统
CN113157389A (zh) * 2021-04-09 2021-07-23 西安邮电大学 一种基于进化博弈论的虚拟机整合方法
CN114461332A (zh) * 2020-11-09 2022-05-10 上海大学 一种基于应用特征的虚拟机部署方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249354A1 (en) * 2008-03-31 2009-10-01 Fujitsu Limited Recording medium having recorded therein virtual machine management program, management server apparatus and virtual machine management method
US20100100879A1 (en) * 2008-10-22 2010-04-22 Vmware, Inc. Methods and systems for converting a related group of physical machines to virtual machines
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法
CN102447609A (zh) * 2010-09-30 2012-05-09 中国移动通信集团公司 一种虚拟化资源系统中虚拟节点的部署方法及装置
CN103051710A (zh) * 2012-12-20 2013-04-17 中国科学院深圳先进技术研究院 一种虚拟云平台管理系统及方法
CN104219290A (zh) * 2014-08-19 2014-12-17 南京邮电大学 一种多模块云应用弹性配置方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249354A1 (en) * 2008-03-31 2009-10-01 Fujitsu Limited Recording medium having recorded therein virtual machine management program, management server apparatus and virtual machine management method
US20100100879A1 (en) * 2008-10-22 2010-04-22 Vmware, Inc. Methods and systems for converting a related group of physical machines to virtual machines
CN102447609A (zh) * 2010-09-30 2012-05-09 中国移动通信集团公司 一种虚拟化资源系统中虚拟节点的部署方法及装置
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法
CN103051710A (zh) * 2012-12-20 2013-04-17 中国科学院深圳先进技术研究院 一种虚拟云平台管理系统及方法
CN104219290A (zh) * 2014-08-19 2014-12-17 南京邮电大学 一种多模块云应用弹性配置方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GUO FEN等: "Performance Weighted Deploying and Scheduling Strategy Research for Virtual Machine on Clouds", 《2013 FOURTH INTERNATIONAL CONFERENCE ON EMERGING INTELLIGENT DATA AND WEB TECHNOLOGIES》 *
张笑燕等: "云计算虚拟机部署方案的研究", 《通信学报》 *
许建振: "基于节能及预测的云计算虚拟机部署算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109697105A (zh) * 2018-12-11 2019-04-30 广东石油化工学院 一种容器云环境物理机选择方法及其系统、虚拟资源配置方法及迁移方法
CN109947530A (zh) * 2019-01-25 2019-06-28 西安交通大学 一种针对云平台的多维度虚拟机映射方法
CN109947530B (zh) * 2019-01-25 2021-09-07 西安交通大学 一种针对云平台的多维度虚拟机映射方法
CN111338745A (zh) * 2019-04-25 2020-06-26 中国移动通信集团湖南有限公司 一种虚拟机的部署方法、装置及智能设备
CN111338745B (zh) * 2019-04-25 2023-09-19 中国移动通信集团湖南有限公司 一种虚拟机的部署方法、装置及智能设备
CN111309472A (zh) * 2019-07-11 2020-06-19 南京奥工信息科技有限公司 一种基于虚拟机预部署的在线虚拟资源分配方法
CN112269632A (zh) * 2020-09-25 2021-01-26 北京航空航天大学杭州创新研究院 一种优化云数据中心的调度方法和系统
CN112269632B (zh) * 2020-09-25 2024-02-23 北京航空航天大学杭州创新研究院 一种优化云数据中心的调度方法和系统
CN114461332A (zh) * 2020-11-09 2022-05-10 上海大学 一种基于应用特征的虚拟机部署方法
CN114461332B (zh) * 2020-11-09 2024-05-28 上海大学 一种基于应用特征的虚拟机部署方法
CN113157389A (zh) * 2021-04-09 2021-07-23 西安邮电大学 一种基于进化博弈论的虚拟机整合方法
CN113157389B (zh) * 2021-04-09 2022-10-25 西安邮电大学 一种基于进化博弈论的虚拟机整合方法

Similar Documents

Publication Publication Date Title
CN108089914A (zh) 一种基于能耗的云计算虚拟机部署算法
Dinesh Reddy et al. Energy-aware virtual machine allocation and selection in cloud data centers
Zhang et al. Network-aware virtual machine migration in an overcommitted cloud
CN111124689B (zh) 一种集群中容器资源动态分配方法
CN107273185B (zh) 一种基于虚拟机的负载均衡控制方法
CN107273209B (zh) 基于最小生成树聚类改进遗传算法的Hadoop任务调度方法
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
Yao et al. Scheduling real-time deep learning services as imprecise computations
CN111431961B (zh) 一种云数据中心的节能任务分配方法
CN111885137B (zh) 一种基于深度强化学习的边缘容器资源分配方法
CN110262897B (zh) 一种基于负载预测的Hadoop计算任务初始分配方法
CN106775949B (zh) 感知复合应用特征与网络带宽的虚拟机在线迁移优化方法
CN112835684B (zh) 一种面向移动边缘计算的虚拟机部署方法
CN104881322A (zh) 一种基于装箱模型的集群资源调度方法及装置
CN111309472A (zh) 一种基于虚拟机预部署的在线虚拟资源分配方法
Abdul Majeed et al. Performance estimation of container-based cloud-to-fog offloading
CN113608855B (zh) 一种边缘计算中服务功能链放置的强化学习方法
CN108304253A (zh) 基于缓存感知和数据本地性的map任务调度方法
CN109976873B (zh) 容器化分布式计算框架的调度方案获取方法及调度方法
CN115022926A (zh) 一种基于资源均衡度的多目标优化容器迁移方法
More et al. Energy-aware VM migration using dragonfly–crow optimization and support vector regression model in Cloud
Kumar et al. Parameter Investigation Study On Task Scheduling in Cloud Computing
Joseph et al. Fuzzy reinforcement learning based microservice allocation in cloud computing environments
Cheng et al. A novel task provisioning approach fusing reinforcement learning for big data
Du et al. A combined priority scheduling method for distributed machine learning

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180529