CN109032756A - 虚拟化云数据中心的调度方法 - Google Patents
虚拟化云数据中心的调度方法 Download PDFInfo
- Publication number
- CN109032756A CN109032756A CN201810724174.0A CN201810724174A CN109032756A CN 109032756 A CN109032756 A CN 109032756A CN 201810724174 A CN201810724174 A CN 201810724174A CN 109032756 A CN109032756 A CN 109032756A
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- tasks
- data center
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013507 mapping Methods 0.000 claims abstract description 38
- 239000002699 waste material Substances 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 6
- 238000007689 inspection Methods 0.000 claims 1
- 238000005265 energy consumption Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000003860 storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 239000002803 fossil fuel Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer 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/5011—Allocation 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/5016—Allocation 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
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种虚拟化云数据中心的调度方法,检查系统的状态信息,并更新每个虚拟机的就绪时间;获取工作流中的任务,并制定每个所述工作流中的任务的优先级,以及将所述工作流中的任务添加到任务池中;确定所述任务池中每个任务与虚拟机的映射关系,生成资源调整计划;根据所述任务与虚拟机的映射关系和所述资源调整计划,以及所述任务的优先级顺序,将所述任务移动至其映射的虚拟机上,能够通过调度不同工作流中的任务来提高系统资源利用率,同时保证了工作流的截止期。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种虚拟化云数据中心的调度方法。
背景技术
随着云服务的快速扩展,工业数据中心支持这类服务的主机规模在快速增长。不可避免地,云数据中心的大量主机的正常运行将消耗大量能量。据报道,从2005到2010年,全世界数据中心所消耗的电能已上升56%,约占2010年全球电能的1.5%。此外,到2020年该比例将增加一倍,如果按照目前的趋势发展下去。对于云计算供应商,高能耗意味着巨大的能源成本,约占数据中心总支出的42%。此外,高能耗对环境造成负面影响,因为使用化石燃料来发电将产生大量的废弃。因此,高能耗成本和环境问题已经迫使云供应商提高他们的能源效率和进行可持续经营。
到目前为止,云数据中心的计算资源的利用率较低,平均值大概在10-15%之间。上述现象可以解释为以下三个事实:1)云数据中心处理的大部分应用由大量相互依赖的任务组成,并且这些应用是数据和计算密集型。这类应用通常可建模为工作流,比如Montage,CyberShake,Epigenomics和SIPHT应用。由于工作流任务的运行必须等待其前驱任务的数据,从而不可避免地在一些计算资源上留下空闲间隙。2)当前主机的性能非常强大,单个任务几乎不可能从充分利用一台主机所有资源。根据相关技术中的统计数据,主机运行不同工作流任务时,他们的资源利用率差异较大,从5%到95%都有可能。因此,如果将这些任务直接放在主机上运行,而不考虑他们的资源利用率,将浪费云数据中心大量资源。3)云数据中心工作流应用是由大量远端的用户动态提交,从而造成数据中心负载的剧烈波动。为了满足数据中心负载峰值,数据中心的资源需要按照峰值需求来配置,即它提供的资源略大于其负载峰值的要求。然而,对于许多云数据中心,它们的负载峰值是平均负载的2到10倍。因此,在非负载高峰时间,云数据中心将出现计算资源过度供给的情况。
低资源利用率不可避免地浪费大量能源。因此,相关技术需要改进。
发明内容
本发明的目的是提供一种虚拟化云数据中心的调度方法,能够通过调度不同工作流中的任务来提高系统资源利用率。
为解决上述问题,本发明的第一方面提供了一种虚拟化云数据中心的调度方法,包括以下步骤:检查系统的状态信息,并更新每个虚拟机的就绪时间;获取工作流中的任务,并制定每个所述工作流中的任务的优先级,以及将所述工作流中的任务添加到任务池中;确定所述任务池中每个任务与虚拟机的映射关系,生成资源调整计划;根据所述任务与虚拟机的映射关系和所述资源调整计划,以及所述任务的优先级顺序,将所述任务移动至其映射的虚拟机上。
进一步地,包括以下步骤:检查系统的状态信息,并更新每个虚拟机的就绪时间;获取工作流中的任务,并制定每个所述工作流中的任务的优先级,以及将所述工作流中的任务添加到任务池中;确定所述任务池中每个任务与虚拟机的映射关系,以及资源调整计划;根据所述任务与虚拟机的映射关系和所述资源调整计划,以及所述任务的优先级顺序,将所述任务移动至其映射的虚拟机上。
进一步地,所述任务的优先级为所述任务的最晚开始时间,其中,所述最晚开始时间以从小到大的顺序排列优先级。
进一步地,所述确定所述任务池中每个任务与虚拟机的映射关系,还包括:获取满足所述任务的资源需求的虚拟机;判断所述虚拟是否能够保证所述任务的最晚完成时间;确定能够保证所述任务的最晚完成时间,且资源浪费最小的虚拟机与所述任务形成映射关系。
进一步地,如果所述虚拟机均无法满足所述任务的资源需求,则增加虚拟机,并将所述任务与增加的虚拟机形成映射关系。
进一步地,所述增加虚拟机的过程为:判断是否有能够满足所述任务的资源需求的活跃主机;如果有满足所述任务的资源需求的活跃主机,则在所述主机上创建虚拟机,以使所述任务与该虚拟机形成映射关系;如果没有所述任务的资源需求的活跃主机,则启动一台关闭主机,并在该主机上创建虚拟机,以使所述任务与该虚拟集形成映射关系。
进一步地,在将所述任务移动至其映射的虚拟机上后,关闭空闲虚拟机;其中,所述空闲虚拟机为完成与其具有映射关系的任务的虚拟机。
根据本发明实施例提出的虚拟化云数据中心的调度方法,首先检查系统的状态信息,并更新每个虚拟机的就绪时间,然后获取工作流中的任务,并制定每个工作流中的任务的优先级,以及将工作流中的任务添加到任务池中,确定任务池中每个任务与虚拟机的映射关系,以及资源调整计划,再根据任务与虚拟机的映射关系和资源调整计划,以及任务的优先级顺序,将任务移动至其映射的虚拟机上。由此,本发明实施例的调度方法能够通过调度不同工作流中的任务来提高系统资源利用率,同时保证了工作流的截止期。
附图说明
图1为根据本发明实施例的虚拟化云数据中心的调度方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在附图中示出了根据本发明实施例的层结构示意图。这些图并非是按比例绘制的,其中为了清楚的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
在下文中描述了本发明的许多特定的细节,例如器件的结构、材料、尺寸、处理工艺和技术,以便更清楚地理解本发明。但正如本领域的技术人员能够理解的那样,可以不按照这些特定的细节来实现本发明。除非在下文中特别指出,半导体器件中的各个部分可以由本领域的技术人员公知的材料构成。
在本申请中,术语“半导体结构”指在制造半导体器件的各个步骤中形成的整个半导体结构的统称,包括半导体衬底和在半导体衬底上已经形成的所有层或区域。
任务调度和资源动态供应方法在提高资源利用率方面扮演着重要的角色,高效的调度方法能够提高云数据中心的能源效率,同时保证实时工作流的服务质量要求(QoS)。然而,绝大多数已有的研究通常忽略不同工作流任务的资源需求,并简单地将任务直接分配到主机上执行,从而造成巨大的资源浪费。更糟糕的是,现有的工作很少充分利用空闲时隙,这些空闲时隙主要是由工作流任务之间的数据依赖关系造成的。
针对这一问题,大量搞笑及诶能的工作流调度算法已被提出和开发,一般来说,这些调度算法可分为两类,元启发式方法和启发式方法。
元启发式算法已被广泛应用于解决集群、网格和云计算中的工作流调度问题中,例如,Mezmaz等人提出了一种并行的双目标混合遗传算法,同时考虑到两个重要的指标,完工时间和能源消耗。Xu等人应用遗传算法来为每个工作流任务分配优先级,并提出一种最早完成时间优先的启发式算法来搜索任务与处理器的映射方法。然而,这些以随机搜索为基础的方法具有较高的时间复杂度,用于动态云计算环境中存在许多局限性。
关于启发方法,它可以进一步分类为基于列表、任务聚类和任务重复的启发式方法。Durillo等人扩展现有基于列表的启发方法HEEF,并提出了多目标的工作流调度算法,来权衡工作流的完工时间和能源效率。Abrishami等人为云计算环境提出了基于任务聚类的两阶段调度算法,成为PCP,在保证工作流截止期的同时最小化工作流的执行成本。Lin等人提出了一种新型的两阶段自适应节能调度方法AES,结合了动态电压缩放技术和自适应任务复制策略,在满足系统性能要求的前提下,优化能源效率。
在本发明中,我们将虚拟化技术和弹性云的优势应用到节能调度方法中。具体地说,借助虚拟化技术,一个主机在一个时刻不再只运行单个任务,而是将其分割为多个独立的单位(即多个虚拟机)来同时执行多个任务。
基于此,本发明实施例提出的虚拟化云数据中心的调度方法来解决以下问题:(1)调度工作流任务到虚拟机上,以提高虚拟机的资源利用率,同时保证工作流的时效性;(2)根据云数据中心负载的动态变化,动态地伸缩计算资源,以提高云数据中心的能源效率。
下面对本发明实施例中用到的公式和原理进行说明:
需要说明的是,在本发明实施例中的工作流均为非周期的、动态的,表示为W={w1,w2,…,wm},具体地,工作流可模为wi={ai,di,Gi},其中,ai为工作流的到达时间,di为工作流的截止期,Gi为工作流的结构,工作流的结构Gi可进一步表示为有向无环图(DAG)Gi=(Ti,Ei),其中,是一个顶点集合,顶点表示工作流中的第j个任务。表示任务间的有向边集合。如任务和任务之间存在数据依赖,那么有向边就存在;是任务的直接前驱,而是任务的直接后继。表示任务所有直接前驱组成的集合,表示任务所有直接后继组成的集合。
在云计算数据中心,主机往往是异构的,即同一个任务在不同主机上实行时,不同主机的资源利用率存在很大的差别。与CPU的资源利用率相比,CPU的频率(Hz)能更好地反映任务的资源需求。因此,与任务相关的参数和分别表示任务的CPU频率需求和计算时间。
另外,边的权重表示任务传输给任务的数据量。两个任务之间的数据传输时间可以根据数据量大小和云数据中心内部网络带计算。在本发明实施例中,假设所有机器间的通信都没有拥堵,以及在相同计算资源上的两个任务之间的通信开销可以忽略不计。
在本发明实施例中,目标系统是一个大规模的虚拟云数据中心,有n台物理主机组成,即H={h1,h2,…,hn}。每台主机可描述为其中,mk为主机的内存,sk为主机的硬盘容量,nk为主机的宽和为主机的最大能耗功率;是主机的离散高压-频率对集合。主机hk上的虚拟机集合表示为VMk={vmkl,l=0,1,…,|VMk|},其中,vmkl是主机hk上的第l台虚拟机。一台虚拟机可进一步描述为vmkl={fkl,mkl,skl},其中,fkl为虚拟机对主机CPU频率的需求,mkl为虚拟机对主机内存的需求,skl为虚拟机对主机存储资源的需求。多台虚拟机在一台主机上可以动态地起动和停止。此外,虚拟机还可以从一台主机在线迁移到另一台主机上。
本发明实施例中主机的CPU的能量功率可以分为空闲功率和活动功率。空闲功率是指CPU在一个完全空闲状态时的功率消耗。活动功率与电源电压的平方和工作频率成正比。对于主机,其活动功耗可以表示为:假设sk为主机静态功耗的比例,为主机的最大功耗。主机的功耗可表示为:
其中,表示主机hk在时刻t的状态,如果主机处于活跃状态,则否则
假设执行任务集合T的开始时刻和结束时刻分别是st和et,主机hk的总能耗teck表示为:
那么,处理玩工作流集合W,云数据中心m台主机的总能耗tec可以表示为:
需要说明的是,在本发明实施例中,变量被用来表示任务与虚拟机的映射关系,如果任务被映射到虚拟机,那么为1,否则为0,也就是说,当任务被映射到虚拟机时,为1,当任务无法被映射到虚拟机时,为0。即:
由于优先级的限制(任务之间存在数据依赖关系),只有收集到所有直接前驱任务传来的数据,一个任务才可以开始。这带来以下约束:
其中,表示任务的完成时间,是任务与任务之间的数据传输时间。
当工作流wi中所有任务都被映射到虚拟机,工作流wi的完成时间fti就是其所有任务的最大完成时间:
为了满足工作流wi的时效性要求,其所有任务都要在它的最后期限前完成。因此,它带来另一个约束:
因为云计算数据中心每台主机只提供有限的资源,以下公式表达每台主机供给虚拟机的没雷资源都不能大于主机的容量,即:
基于上述提出的约束公式,首要的优化目标是最小化执行一组的工作流的总能量消耗,即:
其中,m表示云数据中心的主机数量,st和et分别是执行工作流集合的开始时间和结束时间。
除了能量消耗,资源利用率是另一个重要优化指标。因此,我们将最大化主机的平均资源利用率,即:
其中,m和|Ti|分别表示工作流wi的数量和工作流wi中的任务数量;和分别表示任务对主机的性能要求和计算时间;n表示是云计算数据中心的主机数量,表示主机CPU的最大处理能力,wtk是主机在执行工作流集合中的活跃时间。
进一步地,由于多机环境中的工作流调度属于典型的NP-完全问题,只有小规模问题才能得到最优解。
在工作流调度中,如何排序工作流任务是一个关键的问题。本发明实施例中,在任务池中所有任务将根据他们的最晚开始时间排序。一个任务的最晚开始时间定义如下:
其中,表示任务的所有直接前驱任务。
由于云计算数据中心包含大量的异构主机,每台主机的计算能力和能量消耗都不同。为了减小云计算数据中心的能量消耗,我们需要解决以下两个问题:(1)当资源需求一定时,我们如何最小化所有活跃主机的能耗功率;(2)当伸缩计算资源时,哪些主机应该被打开或者关闭时。对于第一个问题,我们进行如下假设:
假设是活跃主机的集合对主机集合Ha的总CPU频率需求为其中变量fk表示主机hk的频率。主机集合Ha的总能耗功率表示为得到最小化,如果满足对于主机hk,是一个常数,
证明过程为:活跃主机hk的功耗pk可表示为:
拉格朗日函数为:
其中,f是向量,表示为λ是一个向量。
它的最优条件是:
因此,当且仅当总能耗功率最小。
另一方面,尽可能均衡所有活跃主机的能够最小化总能耗功率。
其中,频率能量比为:主机的最大CPU频率与主机最大能耗功率的比值,表示如下:
因此,我们可以观察到主机FERk的越大就意味着它的能源效率越高,和有更高的主机将优先选择来执行工作流任务。相反,当系统的工作量减少,对小FERk的主机的虚拟机将被整合到高FERk的主机,然后关闭低FERk主机,来降低能源消耗。
另外,如果一个任务没有任何前驱任务,即或其所有前驱任务都已经被映射到虚拟机,则该任务是就绪的。
为了提高资源的利用率,降低能量消耗,我们设计了一个新的指标,在调度任务时衡量资源的浪费。在本法实施例中,任务造成虚拟机vmkl的浪费的资源定义为:
其中,表示任务的完成时间,假设任务分配到虚拟机vmkl上且排在任务的前面,表示空闲间隙造成的资源浪费,而式子表示低资源利用造成的资源浪费。
在本发明实施例提出的方法中,节能调节策略将添加一个就绪工作流任务到虚拟机先前已经映射的任务的后面。所以任务在虚拟机vmkl上的完成任务时间是:
其中,rtkl表示虚拟机vmkl的就绪时间,当一个任务映射到虚拟机vmkl上时,该参数将被更新,比如,将任务映射到虚拟机vmkl,那么虚拟机vmkl的就绪时间就变为ai表示工作流wi的达到时间,表示任务在虚拟机vmkl上的完成时间。
本发明实施例中还是用函数ScaleUpResource(),函数首先选择一个虚拟机模版vml,满足任务的CPU性能要求。
由于,有最小且可容纳vml的主机hk将被选择,以最小化系统总能耗。如果以上策略没能选出主机,然后该函数起动一台有最大FERk且能容纳vml的主机hk,然后在该主机上创建虚拟机vmkl。
应当理解的是,由于有大量的用户动态地向云计算平台提交工作流应用,云计算平台的负载肯定随着时间的推进出现大幅的波动。当局部的负载高峰过后,在云数据中心总会出现一些闲置的虚拟机和主机。为了提高了资源和能源效率,可利用ScaleUpResource()函数通过动态整合活跃虚拟机,来减少活跃的主机的数量。
下面参考附图来描述本发明实施例的虚拟化云数据中心的调度方法。
图1为根据本发明实施例的虚拟化云数据中心的调度方法的流程图。如图1所示,本发明实施例的虚拟化云数据中心的调度方法,包括以下步骤:
S1:检查系统的状态信息,并更新每个虚拟机的就绪时间。
根据本发明的一个实施例,当获取一个新的工作流wi时,进行检查系统的状态信息,并取消任务池中待执行任务与虚拟机之间的映射关系和待执行任务的资源调整计划。
具体地,当一个新的工作流wi达到,在任务池中的所有等待的调度决策将被取消,包括任务和虚拟机的映射和为等待任务创建虚拟机的计划。然后,更新虚拟机的就绪时间rtkl,表示虚拟机vmkl完成所有映射到其的任务的时间。在那之后,计算工作流中wi每个任务的最晚开始时间并将新到达的工作流wi中的任务都添加到任务池中。
S2:获取工作流中的任务,并制定每个工作流中的任务的优先级,以及将工作流中的任务添加到任务池中。
根据本发明的一个实施例,任务的优先级为任务的最晚开始时间,其中,最晚开始时间以从小到大的顺序排列优先级。
S3:确定任务池中每个任务与虚拟机的映射关系,生成资源调整计划。
根据本发明的一个实施例,确定任务池中每个任务与虚拟机的映射关系,还包括:获取满足任务的资源需求的虚拟机;判断虚拟是否能够保证任务的最晚完成时间;确定能够保证任务的最晚完成时间,且资源浪费最小的虚拟机与任务形成映射关系。
进一步地,如果虚拟机均无法满足任务的资源需求,则增加虚拟机,并将任务与增加的虚拟机形成映射关系。
具体地,对任务池中的任务根据任务的最晚开始时间进行排序,和根据就绪任务最晚开始时间最小优化顺序,对就绪任务进行调度。其中所有可用的虚拟机,其CPU的频率足够大来满足任务的资源需求,都属于候选虚拟机,而一台虚拟机,可以保证任务的最晚完成时间且浪费最少的资源,将被选来执行任务如果没能从可用的虚拟机中为任务选出虚拟机,则调用函数ScaleUpResource()来为任务增加虚拟机。最后,任务被映射到选定的虚拟机。
根据本发明的一个实施例,增加虚拟机的过程为:判断是否有能够满足任务的资源需求的活跃主机;如果有满足任务的资源需求的活跃主机,则在主机上创建虚拟机,以使任务与该虚拟机形成映射关系;如果没有任务的资源需求的活跃主机,则启动一台关闭主机,并在该主机上创建虚拟机,以使任务与该虚拟集形成映射关系。
具体地,搜索一台有足够未使用资源的活跃主机,然后在该主机上创建一台新的虚拟机,而不启动任何主机;如果上述步骤不可行,则启动一台具有较高的能量效率的关闭主机,然后在此主机上创建一台新的虚拟机。
S4:根据任务与虚拟机的映射关系和资源调整计划,以及任务的优先级顺序,将任务移动至其映射的虚拟机上。
根据本发明的一个实施例,在将任务移动至其映射的虚拟机上后,关闭空闲虚拟机;其中,空闲虚拟机为完成与其具有映射关系的任务的虚拟机。
综上所述,根据本发明实施例提出的虚拟化云数据中心的调度方法,首先检查系统的状态信息,并更新每个虚拟机的就绪时间,然后获取工作流中的任务,并制定每个工作流中的任务的优先级,以及将工作流中的任务添加到任务池中,确定任务池中每个任务与虚拟机的映射关系,以及资源调整计划,再根据任务与虚拟机的映射关系和资源调整计划,以及任务的优先级顺序,将任务移动至其映射的虚拟机上。由此,本发明实施例的调度方法能够通过调度不同工作流中的任务来提高系统资源利用率,同时保证了工作流的截止期。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
在以上的描述中,对于各层的构图、刻蚀等技术细节并没有做出详细的说明。但是本领域技术人员应当理解,可以通过现有技术中的各种手段,来形成所需形状的层、区域等。另外,为了形成同一结构,本领域技术人员还可以设计出与以上描述的方法并不完全相同的方法。
以上参照本发明的实施例对本发明予以了说明。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域技术人员可以做出多种替换和修改,这些替换和修改都应落在本发明的范围之内。
尽管已经详细描述了本发明的实施方式,但是应该理解的是,在不偏离本发明的精神和范围的情况下,可以对本发明的实施方式做出各种改变、替换和变更。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (7)
1.一种虚拟化云数据中心的调度方法,其特征在于,包括以下步骤:
检查系统的状态信息,并更新每个虚拟机的就绪时间;
获取工作流中的任务,并制定每个所述工作流中的任务的优先级,以及将所述工作流中的任务添加到任务池中;
确定所述任务池中每个任务与虚拟机的映射关系,生成资源调整计划;
根据所述任务与虚拟机的映射关系和所述资源调整计划,以及所述任务的优先级顺序,将所述任务移动至其映射的虚拟机上。
2.根据权利要求1所述的虚拟化云数据中心的调度方法,其特征在于,当获取一个新的工作流时,进行所述检查系统的状态信息,并取消任务池中待执行任务与虚拟机之间的映射关系和待执行任务的资源调整计划。
3.根据权利要求1所述的虚拟化云数据中心的调度方法,其特征在于,所述任务的优先级为所述任务的最晚开始时间,其中,所述最晚开始时间以从小到大的顺序排列优先级。
4.根据权利要求1所述的虚拟化云数据中心的调度方法,其特征在于,所述确定所述任务池中每个任务与虚拟机的映射关系,还包括:
获取满足所述任务的资源需求的虚拟机;
判断所述虚拟是否能够保证所述任务的最晚完成时间;
确定能够保证所述任务的最晚完成时间,且资源浪费最小的虚拟机与所述任务形成映射关系。
5.根据权利要求4所述的虚拟化云数据中心的调度方法,其特征在于,其中,如果所述虚拟机均无法满足所述任务的资源需求,则增加虚拟机,并将所述任务与增加的虚拟机形成映射关系。
6.根据权利要求5所述的虚拟化云数据中心的调度方法,其特征在于,所述增加虚拟机的过程为:
判断是否有能够满足所述任务的资源需求的活跃主机;
如果有满足所述任务的资源需求的活跃主机,则在所述主机上创建虚拟机,以使所述任务与该虚拟机形成映射关系;
如果没有所述任务的资源需求的活跃主机,则启动一台关闭主机,并在该主机上创建虚拟机,以使所述任务与该虚拟集形成映射关系。
7.根据权利要求1所述的虚拟化云数据中心的调度方法,其特征在于,在将所述任务移动至其映射的虚拟机上后,关闭空闲虚拟机;
其中,所述空闲虚拟机为完成与其具有映射关系的任务的虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810724174.0A CN109032756A (zh) | 2018-07-04 | 2018-07-04 | 虚拟化云数据中心的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810724174.0A CN109032756A (zh) | 2018-07-04 | 2018-07-04 | 虚拟化云数据中心的调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109032756A true CN109032756A (zh) | 2018-12-18 |
Family
ID=65521654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810724174.0A Pending CN109032756A (zh) | 2018-07-04 | 2018-07-04 | 虚拟化云数据中心的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032756A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947530A (zh) * | 2019-01-25 | 2019-06-28 | 西安交通大学 | 一种针对云平台的多维度虚拟机映射方法 |
CN110084507A (zh) * | 2019-04-24 | 2019-08-02 | 信雅达系统工程股份有限公司 | 云计算环境下分级感知的科学工作流调度优化方法 |
CN110147280A (zh) * | 2019-05-14 | 2019-08-20 | 河南城建学院 | 基于安全与成本感知的大数据应用调度方法 |
CN110264097A (zh) * | 2019-06-26 | 2019-09-20 | 哈尔滨理工大学 | 基于云环境的多科学工作流并发执行调度方法 |
CN112949195A (zh) * | 2021-03-10 | 2021-06-11 | 国网吉林省电力有限公司信息通信公司 | 电力云数据中心多目标任务调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508714A (zh) * | 2011-11-03 | 2012-06-20 | 南京邮电大学 | 一种云计算中基于绿色计算的虚拟机调度方法 |
US20120185848A1 (en) * | 2011-01-17 | 2012-07-19 | International Business Machines Corporation | Task prioritization management in a virtualized environment |
CN105260005A (zh) * | 2015-09-22 | 2016-01-20 | 浙江工商大学 | 面向能耗的云工作流调度优化方法 |
CN107168770A (zh) * | 2017-04-14 | 2017-09-15 | 中国人民解放军国防科学技术大学 | 一种低能耗的云数据中心工作流调度与资源供给方法 |
-
2018
- 2018-07-04 CN CN201810724174.0A patent/CN109032756A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120185848A1 (en) * | 2011-01-17 | 2012-07-19 | International Business Machines Corporation | Task prioritization management in a virtualized environment |
CN102508714A (zh) * | 2011-11-03 | 2012-06-20 | 南京邮电大学 | 一种云计算中基于绿色计算的虚拟机调度方法 |
CN105260005A (zh) * | 2015-09-22 | 2016-01-20 | 浙江工商大学 | 面向能耗的云工作流调度优化方法 |
CN107168770A (zh) * | 2017-04-14 | 2017-09-15 | 中国人民解放军国防科学技术大学 | 一种低能耗的云数据中心工作流调度与资源供给方法 |
Non-Patent Citations (2)
Title |
---|
YE FENG: "A novel QoS-aware mechanism for provisioning of virtual machine resource in cloud", 《JOURNAL OF ALGORITHMS & COMPUTATIONAL TECHNOLOGY》 * |
张思颖: "兼顾负载均衡的虚拟机节能调度算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947530A (zh) * | 2019-01-25 | 2019-06-28 | 西安交通大学 | 一种针对云平台的多维度虚拟机映射方法 |
CN110084507A (zh) * | 2019-04-24 | 2019-08-02 | 信雅达系统工程股份有限公司 | 云计算环境下分级感知的科学工作流调度优化方法 |
CN110084507B (zh) * | 2019-04-24 | 2021-07-20 | 信雅达科技股份有限公司 | 云计算环境下分级感知的科学工作流调度优化方法 |
CN110147280A (zh) * | 2019-05-14 | 2019-08-20 | 河南城建学院 | 基于安全与成本感知的大数据应用调度方法 |
CN110147280B (zh) * | 2019-05-14 | 2023-01-31 | 河南城建学院 | 基于安全与成本感知的大数据应用调度方法 |
CN110264097A (zh) * | 2019-06-26 | 2019-09-20 | 哈尔滨理工大学 | 基于云环境的多科学工作流并发执行调度方法 |
CN112949195A (zh) * | 2021-03-10 | 2021-06-11 | 国网吉林省电力有限公司信息通信公司 | 电力云数据中心多目标任务调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rekha et al. | Efficient task allocation approach using genetic algorithm for cloud environment | |
Zhang et al. | Cost efficient scheduling for delay-sensitive tasks in edge computing system | |
CN109032756A (zh) | 虚拟化云数据中心的调度方法 | |
CN107168770B (zh) | 一种低能耗的云数据中心工作流调度与资源供给方法 | |
Calheiros et al. | Energy-efficient scheduling of urgent bag-of-tasks applications in clouds through DVFS | |
Xue et al. | An ACO-LB Algorithm for Task Scheduling in the Cloud Environment. | |
Jing et al. | QoS-DPSO: QoS-aware task scheduling for cloud computing system | |
US8843929B1 (en) | Scheduling in computer clusters | |
Pietri et al. | Energy-constrained provisioning for scientific workflow ensembles | |
Liu et al. | Task scheduling with precedence and placement constraints for resource utilization improvement in multi-user MEC environment | |
Palmieri et al. | A distributed scheduling framework based on selfish autonomous agents for federated cloud environments | |
Sahoo et al. | A learning automata-based scheduling for deadline sensitive task in the cloud | |
Mao et al. | A multi-resource task scheduling algorithm for energy-performance trade-offs in green clouds | |
Wu et al. | Optimizing the performance of big data workflows in multi-cloud environments under budget constraint | |
Qu et al. | Study QoS optimization and energy saving techniques in cloud, fog, edge, and IoT | |
Arabnejad et al. | Maximizing the completion rate of concurrent scientific applications under time and budget constraints | |
Hu et al. | Adaptive energy-minimized scheduling of real-time applications in vehicular edge computing | |
CN108595255B (zh) | 地理分布式云中基于最短路径算法的工作流任务调度方法 | |
Fan et al. | An energy-efficient dynamic scheduling method of deadline-constrained workflows in a cloud environment | |
Singh et al. | Value and energy optimizing dynamic resource allocation in many-core HPC systems | |
Zhao et al. | A parallel-batch multi-objective job scheduling algorithm in edge computing | |
Yang et al. | An offloading strategy based on cloud and edge computing for industrial Internet | |
Li et al. | Real-time workflows oriented hybrid scheduling approach with balancing host weighted square frequencies in clouds | |
Hung et al. | A dynamic scheduling method for collaborated cloud with thick clients. | |
Bhuiyan et al. | Capability-aware energy-efficient virtual machine scheduling in heterogeneous datacenters |
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: 20181218 |