CN106648834B - 基于批装箱问题的虚拟机调度方法 - Google Patents
基于批装箱问题的虚拟机调度方法 Download PDFInfo
- Publication number
- CN106648834B CN106648834B CN201611205454.8A CN201611205454A CN106648834B CN 106648834 B CN106648834 B CN 106648834B CN 201611205454 A CN201611205454 A CN 201611205454A CN 106648834 B CN106648834 B CN 106648834B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- machine
- virtual
- physical
- information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 8
- 230000005012 migration Effects 0.000 claims abstract description 17
- 238000013508 migration Methods 0.000 claims abstract description 17
- 238000012856 packing Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 7
- 238000005265 energy consumption Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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/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/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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于批装箱问题的虚拟机调度方法,该方法包括以下步骤:S1:虚拟机调度器定期接收用户提交的新的虚拟机请求,同时收集***中每台物理机上运行的虚拟机的状态信息,包括即将结束运行的虚拟机信息;S2:针对新的每一组虚拟机请求,虚拟机调度器采用批装箱算法进行调整,得出新的虚拟机与物理机的对应关系表;S3:虚拟机调度器比较算法调度前后对应关系表之间的差异,制定并发送迁移指令给指定物理机,相关物理机根据指令完成虚拟机迁移。与现有技术相比,本发明方法关闭了空闲服务器以降低能耗,同时有效减少了虚拟机迁移次数提高了分配效率。
Description
技术领域
本发明涉及云计算资源调度技术领域,特别涉及一种新的虚拟机调度方法。
背景技术
资源调度是云计算中的关键问题之一,资源调度包括静态调度和动态调度。一般而言,静态调度只在虚拟机首次选择目标服务器主机时根据已有的调度策略执行一次;而动态调度指的是调度器根据当前***负载动态变化的情况,通过虚拟机迁移等技术避免服务器过载现象的出现,并达到节能的目标。
创建或者迁移虚拟机的过程,就是资源调度的过程,在***执行过程中,资源调度器根据新来的资源请求和动态变化的***负载情况调整资源。高效节能的资源调度策略,是构建一个云计算***的重中之重。
在现有技术中,有很大一部分研究都将虚拟机调度问题建模为在线装箱问题。具体的,把虚拟机看成物品,服务器主机看成箱子,***根据源源不断的虚拟机请求和动态变化的负载进行调度。在已有的用于解决资源调度问题的装箱算法中,都是根据虚拟机请求的逐个到来制定调度策略。在现实情况中,虚拟机请求往往是批量到达的,已有的针对每次虚拟机请求都做出调度的策略有可能会造成不必要的虚拟机迁移。
因此,如何根据用户请求灵活高效地实现虚拟机的节能调度是当前亟需解决的关键技术问题。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种新的虚拟机调度方法,使得***能够根据用户请求灵活高效地实现虚拟机调度。该方法是基于批装箱问题(Batched Bin Packing Problem)的调度算法。
为了达到上述目的,本发明采用以下技术方案:
基于批装箱问题的虚拟机调度方法,如图1所示,包括下述步骤:
S1:虚拟机调度器定期接收用户提交的新的虚拟机请求,同时收集***中每台物理机上运行的虚拟机的状态信息,包括即将结束运行的虚拟机信息;
S2:针对新的虚拟机请求和发生变化的虚拟机信息,虚拟机调度器采用装箱算法进行调整,得出新的虚拟机与物理机的对应关系表;
S3:虚拟机调度器比较算法调度前后对应关系表之间的差异,制定并发送迁移指令给指定物理机,相关物理机根据指令完成虚拟机迁移。
作为优选的,在步骤S1中,虚拟机调度器在指定的时间间隔T内应该收集的信息包括:用户提交的新虚拟机请求序列、物理机负载信息和将发生变化的虚拟机及其宿主服务器信息。
作为优选的,在步骤S2中虚拟机调度器结合虚拟机请求序列信息和负载信息发生变化的虚拟机及其宿主服务器信息,调用装箱算法得到新的虚拟机与物理机对应关系表。
作为优选的,物理机为同构服务器,如果物理机为异构服务器,则可以将物理机分为多个部分处理,每一部分物理机都为同构服务器。
作为优选的,所采用的装箱算法为在线批装箱算法。与其他在线装箱算法相比,不同之处在于,在线批装箱算法处理的是物品是一批批到达,而不是一个个到达的。换句话说,在制定调度策略时,我们除了知道已运行在物理机上的虚拟机负载信息外,另外还知道即将进行分配的一组虚拟机请求序列。
本发明与现有技术相比,具有如下优点和有益效果:
1.本发明能够根据虚拟机的生命周期灵活控制物理机的数量,同时休眠处于空闲状态的物理机,有效减少能源开销;
2.2.本发明采用批装箱算法,分批地处理用户的虚拟机请求,可以减少不必要的虚拟机迁移,节省迁移能耗;
附图说明
图1是本发明的流程图;
图2是实施例的***逻辑结构图;
图3是本发明的信息传递图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例的***逻辑结构如图2所示。其中,虚拟机分布在物理机上,利用虚拟化相关技术,每台物理机可同时运行多台虚拟机,虚拟机主要服务于用户,为用户提供计算服务;每台物理机上运行着一个虚拟机管理器,该虚拟机管理器可收集所有运行于该物理机上的虚拟机的负载信息,即每台虚拟机对物理机的资源占用情况,并将负载信息告知虚拟机调度器,同时,虚拟机管理器可接收虚拟机调度器发来的迁移指令,配合虚拟机调度器完成虚拟机迁移工作。
本发明在资源调度过程中的信息传递如图3所示,每台物理机上都运行着一台虚拟机管理器,可定时收集该物理机上虚拟机的负载数据并发送给虚拟机调度器,虚拟机调度器接收来自物理机的负载信息,结合用户提交的请求,根据调度策略制定并发送迁移指令至物理机。
本发明的技术方案如下:
虚拟机调度器定期运行。首先,一方面,虚拟机调度器接收来自用户的一组新的虚拟机请求序列,另一方面,虚拟机调度器接收来自每台物理机上虚拟机的负载信息。然后,虚拟机调度器调用批装箱算法得到新的虚拟机与物理机对应关系表,并比较调度前后虚拟机与物理机对应关系的差异制定虚拟机迁移计划;最后,虚拟机调度器将指令信息发送给各相关物理机并休眠处于空闲状态的物理机;各物理机中的虚拟机管理器接受到迁移指令,配合虚拟机调度器完成虚拟机迁移。
下面对本发明关键技术做进一步的分析。
(1)装箱问题的转化
本发明采用一种常见的方法将虚拟机调度问题转化为装箱问题:把物理机看作箱子,大小为单位1,把虚拟机看作物品,大小等于虚拟机各资源分别占物理机相应资源容量的比例的最大值。例如,我们考虑三种(考虑更多种资源时情况雷同)资源:CPU、内存和磁盘。现在有一台虚拟机这三类资源的负载占物理机各资源容量的比例分别为0.20、0.25、0.15,那么这台虚拟机对应的物品大小为三者最大值0.25。通过上述转化过程可虚拟机调度问题转化成装箱问题。装箱问题的约束条件使得每台物理机的资源容量都能满足运行在它上面的虚拟机,而装箱问题的目标使得尽可能多的物理机能处于空闲状态。本发明问题模型为装箱问题的一种特例,批装箱问题,是一种在线装箱问题。
(2)装箱算法的输入与输出
具体而言,装箱算法的输入包括:在一段时间段T内,虚拟机调度器接受的来自用户的一组虚拟机请求序列Q,来自物理机的各物理机上的虚拟机负载数据(包括当前虚拟机与物理机的关系对应表B和即将在本段时间T内结束运行的虚拟机集合C);装箱算法的输出是一组虚拟机与物理机的对应关系表。在本发明中,装箱算法每次处理的输入为一组虚拟机集合。
(3)装箱策略
根据即将结束运行的虚拟机集合C,关闭相应虚拟机并更新各物理机上负载信息,此时可能存在某些物理机上的虚拟机刚好全都结束运行而进去空闲状态。装箱策略如下:
将物品按照剩余容量从大到小排序,同时将物品从大到小排序,分别得到两个已排好序的序列。对于物品序列中的最大物品,判断箱子序列中剩余容量最大的箱子是否可以容纳下最大物品,如果可以,则将该物品放进箱子中并更新箱子容量,否则,开启新的箱子并把物品放进箱子中。
本发明采用最大值堆这种数据结构储存箱子信息,即按照箱子剩余容量值建立最大值堆。堆的每次取最大值操作只需要常数时间,而***节点只需要O(logn)。因此建立最大值堆能提高本发明中装箱算法的效率。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (4)
1.基于批装箱问题模型的虚拟机调度方法,其特征在于,包括下述步骤:
S1:虚拟机调度器定期接收用户提交的新的虚拟机请求,同时收集***中每台物理机上运行的虚拟机的状态信息,包括即将结束运行的虚拟机信息;
S2:针对新的虚拟机请求和发生变化的虚拟机信息,虚拟机调度器采用装箱算法进行调整,得出新的虚拟机与物理机的对应关系表;
S3:虚拟机调度器比较算法调度前后对应关系表之间的差异,制定并发送迁移指令给指定物理机,相关物理机根据指令完成虚拟机迁移;
所采用的装箱算法为在线批装箱算法,该在线批装箱算法处理的物品是一批批到达,而不是一个个到达的,也就是说,在制定调度策略时,我们除了知道已运行在物理机上的虚拟机负载信息外,另外还知道即将进行分配的一组虚拟机请求序列。
2.根据权利要求1所述的基于批装箱问题模型的虚拟机调度方法,其特征在于,在所述步骤S1中,用户提交的新虚拟机请求序列、物理机负载信息和将发生变化的虚拟机及其宿主服务器信息。
3.根据权利要求1所述的基于批装箱问题模型的虚拟机调度方法,其特征在于,在所述步骤S2中虚拟机调度器结合虚拟机请求序列信息和负载信息发生变化的虚拟机及其宿主服务器信息,调用装箱算法得到新的虚拟机与物理机对应关系表。
4.根据权利要求1所述的基于批装箱问题模型的虚拟机调度方法,其特征在于,所述物理机为同构服务器,如果物理机为异构服务器,则将物理机分为多个部分处理,每一部分物理机均为同构服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611205454.8A CN106648834B (zh) | 2016-12-23 | 2016-12-23 | 基于批装箱问题的虚拟机调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611205454.8A CN106648834B (zh) | 2016-12-23 | 2016-12-23 | 基于批装箱问题的虚拟机调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106648834A CN106648834A (zh) | 2017-05-10 |
CN106648834B true CN106648834B (zh) | 2020-07-28 |
Family
ID=58827011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611205454.8A Active CN106648834B (zh) | 2016-12-23 | 2016-12-23 | 基于批装箱问题的虚拟机调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648834B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073449B (zh) * | 2017-11-21 | 2021-08-27 | 山东科技大学 | 一种虚拟机动态放置方法 |
CN109947530B (zh) * | 2019-01-25 | 2021-09-07 | 西安交通大学 | 一种针对云平台的多维度虚拟机映射方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719081A (zh) * | 2009-12-01 | 2010-06-02 | 北京大学 | 一种虚拟机调度方法 |
CN103605578A (zh) * | 2013-12-09 | 2014-02-26 | 武汉理工大学 | 基于虚拟机迁移的负载均衡调度方法 |
CN104298339A (zh) * | 2014-10-11 | 2015-01-21 | 东北大学 | 一种面向最小能耗的服务器整合方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2008251352A1 (en) * | 2007-05-09 | 2008-11-20 | Gridpoint, Inc. | Method and system for scheduling the discharge of distributed power storage devices and for levelizing dispatch participation |
US8694644B2 (en) * | 2011-09-29 | 2014-04-08 | Nec Laboratories America, Inc. | Network-aware coordination of virtual machine migrations in enterprise data centers and clouds |
-
2016
- 2016-12-23 CN CN201611205454.8A patent/CN106648834B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719081A (zh) * | 2009-12-01 | 2010-06-02 | 北京大学 | 一种虚拟机调度方法 |
CN103605578A (zh) * | 2013-12-09 | 2014-02-26 | 武汉理工大学 | 基于虚拟机迁移的负载均衡调度方法 |
CN104298339A (zh) * | 2014-10-11 | 2015-01-21 | 东北大学 | 一种面向最小能耗的服务器整合方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106648834A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10585889B2 (en) | Optimizing skewed joins in big data | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
CN107329814B (zh) | 一种基于rdma的分布式内存数据库查询引擎*** | |
CN104331321B (zh) | 基于禁忌搜索和负载均衡的云计算任务调度方法 | |
CN104615498B (zh) | 一种基于任务迁移的集群***动态负载均衡方法 | |
EP3198494B1 (en) | Communication for efficient re-partitioning of data | |
Wang et al. | A prediction based energy conserving resources allocation scheme for cloud computing | |
CN111782355B (zh) | 一种基于混合负载的云计算任务调度方法及*** | |
CN108572873A (zh) | 一种解决Spark数据倾斜问题的负载均衡方法及装置 | |
CN104572305A (zh) | 均衡负载的集群渲染任务调度方法 | |
CN103401939A (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN111339027A (zh) | 可重构的人工智能核心与异构多核芯片的自动设计方法 | |
CN103257896B (zh) | 一种云环境下的Max-D作业调度方法 | |
CN105740059B (zh) | 一种面向可分割任务的粒子群调度方法 | |
CN104572279B (zh) | 一种支持节点绑定的虚拟机动态调度方法 | |
CN105446816A (zh) | 一种面向异构平台的能耗优化调度方法 | |
CN106648834B (zh) | 基于批装箱问题的虚拟机调度方法 | |
CN109739332B (zh) | 一种多任务通用能耗优化方法 | |
CN104881322A (zh) | 一种基于装箱模型的集群资源调度方法及装置 | |
CN104023042A (zh) | 云平台资源调度方法 | |
Liu et al. | A Parallel Task Scheduling Optimization Algorithm Based on Clonal Operator in Green Cloud Computing. | |
CN104917839A (zh) | 一种用于云计算环境下的负载均衡方法 | |
CN109823757A (zh) | 一种板件出库方法、***及存储介质 | |
Komarasamy et al. | A novel approach for Dynamic Load Balancing with effective Bin Packing and VM Reconfiguration in cloud | |
CN107423109B (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 |