CN109614198A - 一种电价动态变化环境下的虚拟机整合调度算法 - Google Patents

一种电价动态变化环境下的虚拟机整合调度算法 Download PDF

Info

Publication number
CN109614198A
CN109614198A CN201811415468.1A CN201811415468A CN109614198A CN 109614198 A CN109614198 A CN 109614198A CN 201811415468 A CN201811415468 A CN 201811415468A CN 109614198 A CN109614198 A CN 109614198A
Authority
CN
China
Prior art keywords
virtual
virtual machine
time
electricity price
algorithm
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
CN201811415468.1A
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.)
Southeast University
Original Assignee
Southeast 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 Southeast University filed Critical Southeast University
Priority to CN201811415468.1A priority Critical patent/CN109614198A/zh
Publication of CN109614198A publication Critical patent/CN109614198A/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/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5027Allocation 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/505Allocation 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 the load
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

本发明公开了一种电价动态变化环境下的虚拟机整合调度算法,包括如下步骤:(1)VM分组,保证同一组中的VM之间执行时长关系不超过两倍;(2)构造虚拟VM,针对每一组中的任务重新构造对应的虚拟VM并且使得同一组中的虚拟VM具有相同的执行时长;(3)任务分配,针对每组具有相同执行时长的虚拟VM使用NEXT‑FIT算法进行PM(Physical Machine,物理机)分配;(4)映射分配,将原VM放置在其对应虚拟VM安排的PM上执行。本发明在电价动态变化的情况下,考虑VM时间敏感性和PM资源容量限制,同时在侧重动态适应电价变化的前提下兼顾执行时间限制和服务质量,发明了一种近似度为对数的在线近似算法,达到最小化数据中心成本的目标。

Description

一种电价动态变化环境下的虚拟机整合调度算法
技术领域
本发明涉及云***技术领域,尤其是一种电价动态变化环境下的虚拟机整合调度算法。
背景技术
云计算可为一些计算量较大的软件及应用提供可靠的资源,拥有巨大的市场价值,但同时也面临着高昂运行成本的挑战。影响云计算数据中心的电费成本或者运行成本的因素有两个方面:一方面是数据中心向用户提供保证服务质量的可调控的计算资源;另一方面,是动态变化的电价。因此,云计算数据中心迫切的需要设计出高效的虚拟机整合算法,在保证服务质量的情况下动态适应变化的电价以达到最小化数据中心成本的目标。
发明内容
本发明所要解决的技术问题在于,提供一种电价动态变化环境下的虚拟机整合调度算法,在考虑PM的容量、VM的时间限制、时间敏感性以及实时变化的电价这些限制因素下,最小化云计算数据中心的电费成本。
为解决上述技术问题,本发明提供一种电价动态变化环境下的虚拟机整合调度算法,包括如下步骤:
(1)根据VM的执行时间长度对所有VM Ji∈J进行分组,如果满足条件 ei-si∈[Lmin2k,Lmin2k+1),则将其放入集合中;
(2)对于每个任务组Gk中的任意一个VM Ji∈Gk,构造一个虚拟VM J′i,设定其执行时长为Lmin2k,起始时间为结束时间为e′i= s′i+Lmin2k
(3)对于每个任务组G′k中的每个VM J′i,使用NEXT-FIT算法为其分配运行所需PM;
(4)对于任意一个VM Ji∈J,将Ji置入其对应虚拟VMJ′i分配到的PM中执行;
其中,J={J1,J2,J3,…,n}为当前VM任务的集合;si为第i台虚拟机的起始时间;ei为第i台虚拟机的结束时间;di为第i台虚拟机需要的CPU资源数;[sI,ei)为虚拟机Ji运行的时间区间用I(Ji)表示;Lmin为J中VM的最短执行时间;Lmax为J中VM的最长执行时间;c(t)表示t时刻单位电能的价格;Gk为VM的集合,对于任意的VM Ji∈Gk满足条件ei-si∈[Lmin2k,Lmin2k+1);J′i为构造出的与VMJi对应的虚拟VM;s′i为虚拟VM J′i的起始执行时间,满足条件e′i为虚拟VMJ′i的截止执行时间,满足条件e′i=s′i+Lmin2k;g为单个PM所拥有的资源数;EI为PM处于空闲状态下单位时间消耗电能;EP为PM满负载状态下单位时间消耗电能。
优选的,步骤(3)中,使用NEXT-FIT算法为其分配运行所需PM具体为:对于虚拟任务VM J′i,如果将VM J′i放入当前PM不违背其容量约束,则将VM J′i放入当前 PM执行,否则新激活一台PM,将其设置为当前PM,并将VM J′i放入当前PM执行。
本发明的有益效果为:在电价动态变化的情况下,考虑VM时间敏感性和PM资源容量限制,同时在侧重动态适应电价变化的前提下兼顾执行时间限制和服务质量,发明了一种近似度为对数的在线近似算法,达到了最小化数据中心成本的目标。
附图说明
图1为本发明针对电价动态变化的云***结构示意图。
图2为本发明提出的虚拟机整合调度算法示意图。
图3为本发明的算法流程示意图。
图4(a)为在可获得物理机数量无限,随机生成VM资源需求数据条件下,不同调度策略对于总的电费成本的影响示意图。
图4(b)为在可获得物理机数量无限,VM资源需求数据为*** cluster真实数据条件下,不同调度策略对总的电费成本的影响示意图。
具体实施方式
如图1所示,是本发明提出的针对电价动态变化的云***结构示意图,云计算数据中心拥有若干台物理机为客户提供虚拟机服务。每台物理机(PM)都运行着一个虚拟机监视器(Virtual Machine Monitor,VMM),多台虚拟机(VM)共享同一台物理机。虚拟机监视器负责收集每台PM的使用状态数据,包括内存消耗和CPU使用率等。虚拟机调度器负责将新到达的VM任务进行分组并利用虚拟VM构造器构造对应的虚拟 VM。基于PM传递的统计数据,虚拟机调度器运行调度算法为每个虚拟VM分配PM。然后将每个虚拟VM的分配方案映射到原VM,得到一个套针对原始VM的分配解决方案,最后按照解决方案将VM任务置入对应的PM中执行。
如图2所示,是本发明提出的虚拟机整合调度算法的示意图。每一台VM拥有相对独立执行起始时间和结束时间,在执行窗口内VM必须放置在PM中运行并且VM的资源需求量不能超过置入PM的资源容量。图2左图中,VM调度策略没有考虑动态变化的电价,当VM放置到高电价时段的PM中运行时,会导致总的电费成本高昂。图2右图中,本发明提出的VM调度策略考虑到了动态变化的电价因素。在电价较高的时段,调度器可以减少活跃PM数量以及运行时长,达到降低云计算数据中心电费总成本的目标。
如图3所示,一种断电时云***提供持续服务的调度算法,包括如下步骤:
(1)根据VM的执行时间长度对所有VM Ji∈J进行分组,如果满足条件 ei-si∈[Lmin2k,Lmin2k+1),则将其放入集合中;
(2)对于每个任务组Gk中的任意一个VM Ji∈Gk,构造一个虚拟VM J′i,设定其执行时长为Lmin2k,起始时间为结束时间为e′i= s′i+Lmin2k
(3)对于每个任务组G′k中的每个VM J′i,使用NEXT-FIT算法为其分配运行所需PM;
(4)对于任意一个VM Ji∈J,将Ji置入其对应虚拟VMJ′i分配到的PM中执行;
其中,J={J1,J2,J3,…,Jn}为当前VM任务的集合;si为第i台虚拟机的起始时间;ei为第i台虚拟机的结束时间;di为第i台虚拟机需要的CPU资源数;[sI,ei)为第i台虚拟机运行的时间区间用I(Ji)表示;Lmin为J中VM的最短执行时间;Lmax为J中VM的最长执行时间;c(t)表示t时刻单位电能的价格;Gk为VM的集合,对于任意的VM Ji∈Gk满足条件ei-si∈[Lmin2k,Lmin2k+1);J′i为构造出的与VMJi对应的虚拟VM;s′i为虚拟VM J′i的起始执行时间,满足条件e′i为虚拟VM J′i的截止执行时间,满足条件e′i=s′i+Lmin2k;g为单个PM所拥有的资源数;EI为PM处于空闲状态下单位时间消耗电能;EP为PM满负载状态下单位时间消耗电能。
假设云计算数据中心的服务时间长度为t个单位,在[0,t)时间区间内对于每个时间片新到达的VM任务需求,首先遍历得到所有VM的最长执行时间Lmax和最短执行时间Lmin。然后进行分组操作,如果一个VM的开始执行时间和结束执行时间满足条件 ei-si∈[Lmin2k,Lmin2k+1),则将一个VM Ji放入集合对于每一个VM Ji∈Gk,创建一个虚拟VM J′i,虚拟VM的起始执行时间设置为结束执行时间设置为e′i=s′i+Lmin2k,其执行时长为 Lmin2k。因此,虚拟VM的执行区间为[s′i,e,i)∈[si,ei),该执行区间的执行时长为Lmin2k,是区间[si,ei)上的最低成本区间,并且属于同一个组G′k的所有VM具有相同的执行时长 Lmin2k。然后运用NEXT-FIT算法对虚拟VM集合中的任务进行分配,即如果将VM J,i放入当前PM不违背其容量约束,则将VM J,i放入当前PM执行,否则新激活一台PM,将其设置为当前PM,并将VM J,i放入当前PM执行。最后,将Ji与J,i对应起来,得到原 VM Ji的分配。
云计算数据中心成本优化问题是NP-hard的,但是该优化问题可通过放缩转换为可求解的线性规划(LP)问题。线性规划问题的解实际上是最优解的下界,我们称线性规划所得解为OPT。我们将本发明调度算法称为Partition-Round,与最优解OPT进行比较。
本发明算法的评估如下所示:
图4(a)表示了在可获得物理机数量无限,随机生成VM资源需求数据条件下,不同调度策略对于总的电费成本的影响。生成随机数据时,设置满负荷PM功率 Ep=0.1KW,任务Ji的到达时间ri为区间[0,1000)内产生的随机值,结束时间为区间 [ri,1000)内产生的随机值,将所有PM的容量规格化为1,并且设置VM的CPU需求量满足正态分布N(0.375,0.4),实时变化的电价满足正态分布N(8,4)。
我们验证了VM数量以100为步长从100增加到700时三种算法的性能,OPT_LR 表示最优解的下界,Online-DF表示时间优先适应算法,Online-ALG表示本发明提出算法。从实验结果可以看出,这三种算法的总的电费成本都随着虚拟机的数量增长而增长,本发明提出算法性能优越于Online-DF算法,并且和最优解性能的比率大概在1.12~1.16 之间。
图4(b)表示了在可获得物理机数量无限,VM资源需求数据为*** cluster真实数据条件下,不同调度策略对总的电费成本的影响。在仿真实验中,我们从数据中提取24小时内的200000个VM相关数据。VM的资源请求di已经规格化处理,因此每个PM 的容量设置为1。EP和EI设置与随机输入情况下相同。
仿真实验验证了VM数量以500为步长从500到7000增长时的算法性能。从输出结果看,本发明算法的性能表现和最优解下限之间的差距不大。

Claims (2)

1.一种电价动态变化环境下的虚拟机整合调度算法,其特征在于,包括如下步骤:
(1)根据VM的执行时间长度对所有VM Ji∈J进行分组,如果满足条件ei-si∈[Lmin2k,Lmin2k+1),则将其放入集合中;
(2)对于每个任务组Gk中的任意一个VM Ji∈Gk,构造一个虚拟VM J′i,设定其执行时长为Lmin2k,起始时间为结束时间为e′i=s′i+Lmin2k
(3)对于每个任务组G′k中的每个VM J′i,使用NEXT-FIT算法为其分配运行所需PM;
(4)对于任意一个VM Ji∈J,将Ji置入其对应虚拟VMJ′i分配到的PM中执行;
其中,J={J1,J2,J3,...,Jn}为当前VM任务的集合;si为第i台虚拟机的起始时间;ei为第i台虚拟机的结束时间;di为第i台虚拟机需要的CPU资源数;[sI,ei)为虚拟机Ji运行的时间区间用I(Ji)表示;Lmin为J中VM的最短执行时间;Lmax为J中VM的最长执行时间;c(t)表示t时刻单位电能的价格;Gk为VM的集合,对于任意的VM Ji∈Gk满足条件ei-si∈[Lmin2k,Lmin2k +1);J′i为构造出的与VMJi对应的虚拟VM;s′i为虚拟VMJ′i的起始执行时间,满足条件e′i为虚拟VM J′i的截止执行时间,满足条件e′i=s′i+Lmin2k;g为单个PM所拥有的资源数;EI为PM处于空闲状态下单位时间消耗电能;EP为PM满负载状态下单位时间消耗电能。
2.如权利要求l所述的电价动态变化环境下的虚拟机整合调度算法,其特征在于,步骤(3)中,使用NEXT-FIT算法为其分配运行所需PM具体为:对于虚拟任务VMJ′i,如果将VM J′i放入当前PM不违背其容量约束,则将VM J′i放入当前PM执行,否则新激活一台PM,将其设置为当前PM,并将VM J′i放入当前PM执行。
CN201811415468.1A 2018-11-26 2018-11-26 一种电价动态变化环境下的虚拟机整合调度算法 Pending CN109614198A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811415468.1A CN109614198A (zh) 2018-11-26 2018-11-26 一种电价动态变化环境下的虚拟机整合调度算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811415468.1A CN109614198A (zh) 2018-11-26 2018-11-26 一种电价动态变化环境下的虚拟机整合调度算法

Publications (1)

Publication Number Publication Date
CN109614198A true CN109614198A (zh) 2019-04-12

Family

ID=66003874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811415468.1A Pending CN109614198A (zh) 2018-11-26 2018-11-26 一种电价动态变化环境下的虚拟机整合调度算法

Country Status (1)

Country Link
CN (1) CN109614198A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111491006A (zh) * 2020-03-03 2020-08-04 天津大学 负载感知的云计算资源弹性分配***及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546700A (zh) * 2010-12-23 2012-07-04 ***通信集团公司 一种资源调度以及资源迁移的方法及设备
CN103024048A (zh) * 2012-12-17 2013-04-03 南京邮电大学 一种云环境下的资源调度方法
CN106648868A (zh) * 2016-12-21 2017-05-10 东南大学 一种断电时云***提供持续服务的调度算法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546700A (zh) * 2010-12-23 2012-07-04 ***通信集团公司 一种资源调度以及资源迁移的方法及设备
CN103024048A (zh) * 2012-12-17 2013-04-03 南京邮电大学 一种云环境下的资源调度方法
CN106648868A (zh) * 2016-12-21 2017-05-10 东南大学 一种断电时云***提供持续服务的调度算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何娅仪: "基于混合云的数据中心成本优化研究", 《中国优秀硕士论文全文数据库信息科技辑》 *
郑敏 等: "面向价格动态变化的云工作流调度算法", 《计算机集成制造***》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111491006A (zh) * 2020-03-03 2020-08-04 天津大学 负载感知的云计算资源弹性分配***及方法

Similar Documents

Publication Publication Date Title
CN102521055B (zh) 一种虚拟机资源分配方法及其***
CN104991830A (zh) 基于服务等级协议的yarn资源分配和节能调度方法及***
CN105446816B (zh) 一种面向异构平台的能耗优化调度方法
Hatzopoulos et al. Dynamic virtual machine allocation in cloud server facility systems with renewable energy sources
CN107704069B (zh) 一种基于能耗感知的Spark节能调度方法
CN103164283A (zh) 一种虚拟桌面***中虚拟化资源动态调度管理方法及***
CN101488098A (zh) 基于虚拟计算技术的多核计算资源管理***
CN102508714A (zh) 一种云计算中基于绿色计算的虚拟机调度方法
Li et al. Opportunistic scheduling in clouds partially powered by green energy
CN104252390A (zh) 资源调度方法、装置和***
Sampaio et al. Towards high-available and energy-efficient virtual computing environments in the cloud
CN102253857A (zh) 一种多核环境下的Xen虚拟机调度控制方法
Ding et al. Profile-guided three-phase virtual resource management for energy efficiency of data centers
Singh et al. Scaling down power utilization with optimal virtual machine placement scheme for cloud data center resources: A performance evaluation
CN103761146A (zh) 一种MapReduce动态设定slots数量的方法
Ma et al. Dynamic task scheduling in cloud computing based on greedy strategy
CN105404549A (zh) 基于yarn架构的虚拟机调度***
CN102609316B (zh) 一种网络计算资源的管理***及方法
Sanjeevi et al. A green energy optimized scheduling algorithm for cloud data centers
CN104598311A (zh) 一种面向Hadoop的实时作业公平调度的方法和装置
CN102043676B (zh) 虚拟化数据中心调度方法及***
Tunc et al. Value of service based task scheduling for cloud computing systems
CN109614198A (zh) 一种电价动态变化环境下的虚拟机整合调度算法
Tighe et al. A distributed approach to dynamic VM management
CN104468710A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190412