CN104484222B - 一种基于混合遗传算法的虚拟机调度方法 - Google Patents
一种基于混合遗传算法的虚拟机调度方法 Download PDFInfo
- Publication number
- CN104484222B CN104484222B CN201410851387.1A CN201410851387A CN104484222B CN 104484222 B CN104484222 B CN 104484222B CN 201410851387 A CN201410851387 A CN 201410851387A CN 104484222 B CN104484222 B CN 104484222B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- scheduling
- machine
- physical
- physical machine
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于混合遗传算法的虚拟机调度方法,属于云计算和虚拟机技术领域,本发明通过设定一个虚拟机调度周期,在周期初始使用遗传算法求解虚拟机和物理服务器的全局最佳映射关系,在调度周期内,对于每个物理服务器进行负载监测,出现热点或者有新的虚拟机请求时,使用最佳适应法来确定新的调度方案,实现物理机集群的负载均衡。本发明能够达到全局负载均衡最优,快速消除热点和部署新的虚拟机。
Description
技术领域
本发明属于云计算和虚拟机技术领域,特别是涉及一种基于混合遗传算法的虚拟机调度方法。
背景技术
随着信息技术和网络技术的飞速发展,云计算这种全新的计算模式受到了广泛关注。云计算环境下,用户可以通过网络获得诸如服务器,存储,应用和服务在内的计算资源,用户不再需要投入高昂的硬件成本,只需按照需求来租用所需要的服务,而且计算资源的管理和维护工作也都有服务提供商完成,对于服务提供商来说,云计算也有易于拓展的优势。
虚拟化技术是云计算的资源管理模式提供了一种有效的解决办法。计算资源的虚拟化和物力资源的映射关系如果求解是虚拟化技术的一个难点,但是服务提供商提供给用户的资源是虚拟化的资源并且是以虚拟机的形式提供的,所以虚拟化调度问题就转化为计算虚拟机与物理服务器的映射关系。用户在使用的过程中,可能资源需求会有一些变化,例如一个网站作为用户,初期可能访问量较大,相应的物理服务器就会有比较大的负载,但是随着时间的推移,可能访问量会慢慢回落,这样,就需要重新对于虚拟机和物理集群进行重映射来实现负载均衡的目标,这个过程需要借助虚拟化技术的热迁移技术来实现。
目前的热迁移技术可以保证用户在使用的过程中不宕机,而且能够使得物理机集群实现动态负载均衡,但是在热迁移的过程中会大量占用不必要的资源,系统的稳定性和安全性变差,所以,在虚拟机运行的过程中,应该尽量避免虚拟机在运行过程中的热迁移。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种能够快速消除热点和调度新的虚拟机请求的虚拟机调度方法。
为实现上述目的,本发明提供了一种基于混合遗传算法的虚拟机调度方法,包括以下步骤:
步骤一、通过物理机监控器监控物理机上各个虚拟机的负载并将负载记录发送至虚拟机调度器;
步骤二、虚拟机调度器在每个调度周期开始时采用遗传算法求解全局的虚拟机调度方案,生成虚拟机调度方案;
步骤三、虚拟机调度器定期对于负载数据与预设热点阈值进行对比,判断是否存在热点物理机;若不存在热点物理机,则执行步骤四;若存在热点物理机,采用最佳适应算法对于热点物理机上运行的虚拟机的分配方案进行调整,并生成迁移消耗最小的新的调度方案,完成后执行步骤四;
步骤四、虚拟机调度器将生成的调度方案发送至物理机监控器;
步骤五、物理机监控器根据虚拟机调度器发来的虚拟机调度计划进行调度。
采用以上技术方案,本发明将虚拟机调度一个周期分为两个阶段:第一个阶段是调度周期初始时利用遗传算法进行全局调度,第二个阶段是物理机在向虚拟机提供资源运行的过程中,新的虚拟机调度请求的处理。其中,第一个阶段在对虚拟机进行部署时,可根据每台物理的计算能力等资源和需要调度的虚拟机的计算能力需求等来使用遗传算法来计算满足负载均衡条件的最佳的全局虚拟机调度方案,当然,这部分算法计算工作是由虚拟机调度器来完成,并不会对于正在提供服务的物理机产生影响。第二个阶段是虚拟机初始调度方案已经被物理机监视器完成后,如果有新的虚拟机请求,使用最佳适应法可以快速的将新请求的虚拟机分配至合适的物理机。本发明较之前的常用的启发式算法能达到全局极值,并且能快速消除热点和调度新的虚拟机请求。
较佳的,所述步骤二中,在每个调度周期内,虚拟机调度器接收到新的虚拟机调度请求时,虚拟机调度器采用最佳适应算法来生成新的虚拟机调度方案。
较佳的,所述采用最佳适应算法对于热点物理机上运行的虚拟机的分配方案进行调整按以下步骤进行:
将热点物理机上运行的负载最小的虚拟机迁移至其它物理机中资源剩余量最大的物理机上,再重新判定该物理机是否为热点物理机,如还是热点物理机,则继续执行步骤三。
较佳的,虚拟机的调度周期大于物理机监控器的监控周期。
较佳的,步骤三所述最佳适应算法为:当有新的虚拟机请求时,将新的虚拟机分配至所有物理机的剩余资源量最大的那台物理机。
较佳的,步骤二中所述遗传算法按以下步骤进行:
A1、初始化染色体种群;
A2、求取染色体的选择概率和累积概率;
A3、根据染色体的累积概率来选取父本染色体;
A4、对选择的父本染色体进行交叉或者变异操作;
A5、交叉或者变异后更新染色体的选择概率和累计概率;
A6、判断是否到达结束条件,当达到结束条件时结束算法,否则返回执行步骤A3。
较佳的,在通过遗传算法求取虚拟机调度方案的过程中,对于产生的不可行的调度方案,将其修复为可行的调度方案。在求取虚拟机调度方案的过程中,肯定会产生不可行的调度方案,比如给一个物理机上安排了多个虚拟机,而虚拟机的资源需求总和超过其资源限制,对于这种不可行的调度方案,采用修复的手段使其变为可行的调度方案。
较佳的,所述对于产生的不可行的调度方案,将其修复为可行的调度方案按以下步骤进行:
对于分配的虚拟机资源要求总和超过其总和的物理机,找出其中资源需求最大的虚拟机将其放入资源剩余最大的物理机上,如果资源剩余最大的物理机还是不满足虚拟机的资源需求,则开启新的物理机将其放入,重复此步骤,直至所有的物理机上的虚拟机需求资源总和都小于此物理机所能提供的资源。
本发明的有益效果是:本发明在调度周期初始时利用遗传算法进行全局调度,可根据每台物理的计算能力等资源和需要调度的虚拟机的计算能力需求等来使用遗传算法来计算满足负载均衡条件的最佳的全局虚拟机调度方案,且不会对于正在提供服务的物理机产生影响。本发明较之前的常用的启发式算法能达到全局极值,并且能快速消除热点和调度新的虚拟机请求。
附图说明
图1是本发明一具体实施方式的流程示意图。
图2是系统逻辑结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1所示,一种基于混合遗传算法的虚拟机调度方法,包括以下步骤:
步骤一、通过物理机监控器监控物理机上各个虚拟机的负载并将负载记录发送至虚拟机调度器;
步骤二、虚拟机调度器在每个调度周期开始时采用遗传算法求解全局的虚拟机调度方案,生成虚拟机调度方案;
步骤三、虚拟机调度器定期对于负载数据与预设热点阈值进行对比,判断是否存在热点物理机;若不存在热点物理机,则执行步骤四;若存在热点物理机,采用最佳适应算法对于热点物理机上运行的虚拟机的分配方案进行调整,并生成迁移消耗最小的新的调度方案,完成后执行步骤四;
步骤四、虚拟机调度器将生成的调度方案发送至物理机监控器;
步骤五、物理机监控器根据虚拟机调度器发来的虚拟机调度计划进行调度。
所述步骤二中,在每个调度周期内,虚拟机调度器接收到新的虚拟机调度请求时,虚拟机调度器采用最佳适应算法来生成新的虚拟机调度方案。
所述采用最佳适应算法对于热点物理机上运行的虚拟机的分配方案进行调整按以下步骤进行:
将热点物理机上运行的负载最小的虚拟机迁移至其它物理机中资源剩余量最大的物理机上,再重新判定该物理机是否为热点物理机,如还是热点物理机,则继续执行步骤三,直至没有热点物理机。
本实施例中,虚拟机的调度周期大于物理机监控器的监控周期。
步骤三所述最佳适应算法为:当有新的虚拟机请求时,将新的虚拟机分配至所有物理机的剩余资源量最大的那台物理机。
本实施例中,步骤二中所述遗传算法按以下步骤进行:
A1、初始化染色体种群;
A2、求取染色体的选择概率和累积概率;
A3、根据染色体的累积概率来选取父本染色体;
A4、对选择的父本染色体进行交叉或者变异操作;
A5、交叉或者变异后更新染色体的选择概率和累计概率;
A6、判断是否到达结束条件,当达到结束条件时结束算法,否则返回执行步骤A3。
终止条件的判断是本领域内的公知常识,在此不再赘述,例如到达一定的代数或通过相邻若干代的种群平均适应值的变化来判断:若相邻若干代的种群平均适应值为变化或者是变化小于某一阈值,表示算法已经收敛,则退出算法。
本实施例中,在通过遗传算法求取虚拟机调度方案的过程中,对于产生的不可行的调度方案,将其修复为可行的调度方案。在求取虚拟机调度方案的过程中,肯定会产生不可行的调度方案,比如给一个物理机上安排了多个虚拟机,而虚拟机的资源需求总和超过其资源限制,对于这种不可行的调度方案,采用修复的手段使其变为可行的调度方案。
本实施例中,所述对于产生的不可行的调度方案,将其修复为可行的调度方案按以下步骤进行:
对于分配的虚拟机资源要求总和超过其总和的物理机,找出其中资源需求最大的虚拟机将其放入资源剩余最大的物理机上,如果资源剩余最大的物理机还是不满足虚拟机的资源需求,则开启新的物理机将其放入,重复此步骤,直至所有的物理机上的虚拟机需求资源总和都小于此物理机所能提供的资源。
如图2所示,每台物理服务器上都安装物理机监控器实时监控其上的虚拟机的负载并将负载记录发送到虚拟机调度器,由虚拟机调度器生成调度方案再返回虚拟机调度器。
在每个周期的初始期间使用遗传算法来计算全局虚拟机调度方案并将结果反馈至物理机监视器由其进行虚拟机调度,但是当虚拟机调度器接收到物理机监视器的热点信息,用遗传算法重新求解全局最优调度方案可能会引起大量迁移,这个结果是难以接受的,所以,这时需要以目前的调度方案为基础,用尽少的迁移来得到优化后的调度方案,同理,如果有新的虚拟机请求,同样适用最佳适应法来计算新调度方案。
虚拟机在运行的过程中,负载可能会有变化,甚至有时超过预设热点负载范围,但是虚拟机迁移会消耗大量的资源,而且负载的峰值可能是短暂的过程,所以对于热点的判定不能武断,本发明设定了一个时长,如果一个节点的负载超过热点范围的时间超过这个长度,才判断为热点,否则不为热点。
当有物理服务器A被判定为热点时,记录其上最小的虚拟机N的负载,查找所有开启的物理服务器的剩余负载量,找到剩余负载量最大的物理服务器B,将物理服务器A上的虚拟机N迁移至物理服务器B上,在重新判定物理服务器是否还为热点,如果是,就重复此步骤,如果已经不为热点,则结束热点处理。
当有新的虚拟机N的调度请求时,查找多有开启的物理服务器的剩余负载量,找到剩余负载量最大的物理服务器A,如果物理服务器A的剩余负载量大于虚拟机N的负载请求,则将虚拟机N调度至物理服务器A,否则,开启新的物理服务器B,虚拟机N调度至物理服务器B。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (7)
1.一种基于混合遗传算法的虚拟机调度方法,其特征在于包括以下步骤:
步骤一、通过物理机监控器监控物理机上各个虚拟机的负载并将负载记录发送至虚拟机调度器;
步骤二、虚拟机调度器在每个调度周期开始时采用遗传算法求解全局的虚拟机调度方案,生成虚拟机调度方案;
步骤三、虚拟机调度器定期对于负载数据与预设热点阈值进行对比,判断是否存在热点物理机;若不存在热点物理机,则执行步骤四;若存在热点物理机,采用最佳适应算法对于热点物理机上运行的虚拟机的分配方案进行调整,并生成迁移消耗最小的新的调度方案,完成后执行步骤四;
步骤四、虚拟机调度器将生成的调度方案发送至物理机监控器;
步骤五、物理机监控器根据虚拟机调度器发来的虚拟机调度计划进行调度;
步骤二中所述遗传算法按以下步骤进行:
A1、初始化染色体种群;
A2、求取染色体的选择概率和累积概率;
A3、根据染色体的累积概率来选取父本染色体;
A4、对选择的父本染色体进行交叉或者变异操作;
A5、交叉或者变异后更新染色体的选择概率和累计概率;
A6、判断是否到达结束条件,当达到结束条件时结束算法,否则返回执行步骤A3。
2.如权利要求1所述的一种基于混合遗传算法的虚拟机调度方法,其特征是:所述步骤二中,在每个调度周期内,虚拟机调度器接收到新的虚拟机调度请求时,虚拟机调度器采用最佳适应算法来生成新的虚拟机调度方案。
3.如权利要求1所述的一种基于混合遗传算法的虚拟机调度方法,其特征是:所述采用最佳适应算法对于热点物理机上运行的虚拟机的分配方案进行调整按以下步骤进行:
将热点物理机上运行的负载最小的虚拟机迁移至其它物理机中资源剩余量最大的物理机上,再重新判定该物理机是否为热点物理机,如还是热点物理机,则继续执行步骤三。
4.如权利要求1或3所述的一种基于混合遗传算法的虚拟机调度方法,其特征是:虚拟机的调度周期大于物理机监控器的监控周期。
5.如权利要求1所述的一种基于混合遗传算法的虚拟机调度方法,其特征是:步骤三所述最佳适应算法为:当有新的虚拟机请求时,将新的虚拟机分配至所有物理机的剩余资源量最大的那台物理机。
6.如权利要求1所述的一种基于混合遗传算法的虚拟机调度方法,其特征是:在通过遗传算法求取虚拟机调度方案的过程中,对于产生的不可行的调度方案,将其修复为可行的调度方案。
7.如权利要求6所述的一种基于混合遗传算法的虚拟机调度方法,其特征是:所述对于产生的不可行的调度方案,将其修复为可行的调度方案按以下步骤进行:
对于分配的虚拟机资源要求总和超过其总和的物理机,找出其中资源需求最大的虚拟机将其放入资源剩余最大的物理机上,如果资源剩余最大的物理机还是不满足虚拟机的资源需求,则开启新的物理机将其放入,重复此步骤,直至所有的物理机上的虚拟机需求资源总和都小于此物理机所能提供的资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410851387.1A CN104484222B (zh) | 2014-12-31 | 2014-12-31 | 一种基于混合遗传算法的虚拟机调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410851387.1A CN104484222B (zh) | 2014-12-31 | 2014-12-31 | 一种基于混合遗传算法的虚拟机调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484222A CN104484222A (zh) | 2015-04-01 |
CN104484222B true CN104484222B (zh) | 2016-05-25 |
Family
ID=52758766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410851387.1A Active CN104484222B (zh) | 2014-12-31 | 2014-12-31 | 一种基于混合遗传算法的虚拟机调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484222B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335234A (zh) * | 2015-10-29 | 2016-02-17 | 贵州电网有限责任公司电力调度控制中心 | 一种虚拟机即时迁移方法 |
CN106919435A (zh) * | 2015-12-25 | 2017-07-04 | 华为技术有限公司 | 虚拟机的创建方法、资源的管理方法及装置 |
CN105843670B (zh) * | 2016-03-22 | 2019-01-04 | 浙江大学 | 一种云平台虚拟集群部署整合方法 |
CN108206838B (zh) * | 2016-12-16 | 2019-10-22 | 中国移动通信有限公司研究院 | 一种负载均衡系统、方法及装置 |
CN107016462B (zh) * | 2017-04-05 | 2018-08-03 | 张玉州 | 一种基于混合遗传算法的多跑道机场航班起降协同优化方法 |
CN107315776B (zh) * | 2017-05-27 | 2020-06-23 | 国网安徽省电力公司信息通信分公司 | 一种基于云计算的数据管理系统 |
CN109324875B (zh) * | 2018-09-27 | 2022-07-26 | 杭州电子科技大学 | 一种基于强化学习的数据中心服务器功耗管理与优化方法 |
CN111431996B (zh) * | 2020-03-20 | 2022-08-09 | 北京百度网讯科技有限公司 | 用于资源配置的方法、装置、设备和介质 |
CN113590263B (zh) * | 2021-07-01 | 2022-07-05 | 深圳大学 | 虚拟机调度方案获得方法、装置、终端设备以及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662754A (zh) * | 2012-04-20 | 2012-09-12 | 浙江大学 | 一种支持多场景的虚拟机调度装置和方法 |
CN103576829B (zh) * | 2012-08-01 | 2016-04-20 | 复旦大学 | 基于混合遗传算法的云计算虚拟机动态调度方法 |
-
2014
- 2014-12-31 CN CN201410851387.1A patent/CN104484222B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104484222A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484222B (zh) | 一种基于混合遗传算法的虚拟机调度方法 | |
Kumar et al. | Renewable energy-based multi-indexed job classification and container management scheme for sustainability of cloud data centers | |
CN103810048B (zh) | 一种面向资源利用最优的线程数量自动调整方法及装置 | |
US10623481B2 (en) | Balancing resources in distributed computing environments | |
CN105940378B (zh) | 用于分配可配置计算资源的技术 | |
Bhattacharya et al. | The need for speed and stability in data center power capping | |
US8402140B2 (en) | Methods and apparatus for coordinated energy management in virtualized data centers | |
US9104498B2 (en) | Maximizing server utilization within a datacenter | |
US20170109205A1 (en) | Computing Resources Workload Scheduling | |
CN111966453B (zh) | 一种负载均衡方法、系统、设备及存储介质 | |
WO2016040699A1 (en) | Computing instance launch time | |
US20140282540A1 (en) | Performant host selection for virtualization centers | |
CN104023042B (zh) | 云平台资源调度方法 | |
CN104636187A (zh) | 基于负载预测的numa架构中虚拟机调度方法 | |
CN104407912A (zh) | 一种虚拟机配置方法及装置 | |
CN103605578A (zh) | 基于虚拟机迁移的负载均衡调度方法 | |
CN104111875A (zh) | 云数据中心新增任务数动态控制装置、系统及方法 | |
Joseph et al. | Fuzzy reinforcement learning based microservice allocation in cloud computing environments | |
Lee et al. | Refining micro services placement over multiple kubernetes-orchestrated clusters employing resource monitoring | |
CN107621980A (zh) | 一种虚拟机迁移方法、集群控制系统和控制装置 | |
CN114741160A (zh) | 一种基于平衡能耗与服务质量的动态虚拟机整合方法和系统 | |
Theja et al. | An evolutionary computing based energy efficient VM consolidation scheme for optimal resource utilization and QoS assurance | |
CN104104730B (zh) | 面向高可靠性的云系统虚拟机任务备份装置、系统及方法 | |
CN110362383B (zh) | 面向季节型非平稳并发量的p-e权衡的vm迁移方法 | |
CN102999389A (zh) | 一种基于心跳幅度的虚拟机动态迁移选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |