CN111562967B - 基于启发式算法的虚拟机整合方法 - Google Patents

基于启发式算法的虚拟机整合方法 Download PDF

Info

Publication number
CN111562967B
CN111562967B CN202010387584.8A CN202010387584A CN111562967B CN 111562967 B CN111562967 B CN 111562967B CN 202010387584 A CN202010387584 A CN 202010387584A CN 111562967 B CN111562967 B CN 111562967B
Authority
CN
China
Prior art keywords
servers
virtual machine
server
integration scheme
candidate
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
Application number
CN202010387584.8A
Other languages
English (en)
Other versions
CN111562967A (zh
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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202010387584.8A priority Critical patent/CN111562967B/zh
Publication of CN111562967A publication Critical patent/CN111562967A/zh
Application granted granted Critical
Publication of CN111562967B publication Critical patent/CN111562967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/5083Techniques for rebalancing the load in a distributed system
    • 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
    • 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)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种基于启发式算法的虚拟机整合方法,首先将评价已有方案中所有服务器,根据评价结果选出候选服务器和恶劣服务器,然后逐一选取所有恶劣服务器中的虚拟机,使用强插原理遍历所有候选服务器,试图使用恶劣服务器中单个虚拟机换取候选服务器中数个资源需求量综合相近的虚拟机,被换取后的数个虚拟机将尝试填充到其他候选服务器中,不能填充的虚拟机将重新安排到恶劣服务器;最后对恶劣服务器中的所有虚拟机进行重组,使恶劣服务器中的负载变得合理;不断重复这些步骤能够得到接近最优解的虚拟机整合方案;与已有同类算法相比,本申请的整合方法具有高效、快速等优点。

Description

基于启发式算法的虚拟机整合方法
技术领域
本申请涉及云计算领域,具体涉及一种基于启发式算法的虚拟机整合方法,用于减少活动服务器的数量从而提升整体服务器的负载率。
背景技术
云计算是分布式计算的一种特殊形式,它可以按需访问可配置的计算资源共享池,如网络、服务器、存储和服务;它可以通过最少的管理工作或者与最少的服务提供者交互来快速配置和发布,是网格计算、并行计算和分布式计算的商业实现。云服务主要通过虚拟化技术提供支持,所有硬件资源经过虚拟化成为统一的资源。
虚拟机是根据需求指定的操作系统类型和所需硬件资源(如CPU、内存、存储和网络带宽等)创建的,然后托管到服务器上运行承载应用程序,满足客户的要求。据亚马逊估计,云数据中心的能源相关成本占运营总成本的42%,数据中心的的生命周期成本通常由能耗决定。
目前数据中心的物理资源使用率并不高,服务器在空闲时仍然需要消耗能耗峰值50%以上的能源。虚拟机整合技术通过整合所有服务器上的虚拟机,根据优化策略重新往服务器中分配虚拟机,提升活动服务器的整体负载均衡率,从而减少空闲服务器的数量,减少能耗。目前,主流虚拟机整合算法已经具有获得高负载率整合方案的能力;但是一方面,这些方案获取需要较长的时间,在实际中难以应用。另一方面对于一些不常规的需求,不同的算法展现的最后结果的表现不归一。
发明内容
本申请的目的是提供一种基于启发式算法的虚拟机整合方法,用于克服现有整合算法计算时间过长的问题,扩大整合算法在不同应用环境中的适应力。
为了实现上述任务,本申请采用以下技术方案:
一种基于启发式算法的虚拟机整合方法,包括:
根据目前正在运行的服务器和虚拟机的情况,随机生成一个第一整合方案;
对所述第一整合方案进行一次寻找优化,包括:根据服务器的负载情况,获取第一整合方案中的候选服务器集合和恶劣服务器集合;依次将恶劣服务器集合中的每个虚拟机作为第二虚拟机,从候选服务器集合中获取资源需求量相似的第一虚拟机集合,然后将第二虚拟机托管于第一虚拟机集合对应的候选服务器上,第一虚拟机集合填补到其他候选服务器的空缺中;
判断当前的整合方案的恶劣服务器集合中是否出现超载情况;
如未出现超载情况,则根据服务器的负载情况对当前的整合方案进行评价;如果当前的整合方案优于第一整合方案,则记当前的整合方案为第二整合方案,否则将所述第一整合方案作为第二整合方案;
判断所述第二整合方案是否满足设定的结束条件,如满足,则输出第二整合方案作为最终的整合方案。
进一步地,所述随机生成一个第一整合方案,包括:
针对于当前所有服务器上运行的虚拟机,首先随机产生一个计算次序,该次序即从所有的虚拟机构成的集合中逐一获取虚拟机的次序;然后利用FirstFit算法获得所述的第一整合方案。
进一步地,所述根据服务器的负载情况,获取第一整合方案中的候选服务器集合和恶劣服务器集合,包括:
根据服务器的负载情况对服务器进行排名,依据排名从所有服务器中筛选出负载率最差的一批恶劣服务器和负载率较差的一批较差服务器,然后从剩余的服务器中随机选出一批随机服务器;所有的较差服务器和随机服务器构成候选服务器集合,所有的恶劣服务器构成恶劣服务器集合。
进一步地,所述依次将恶劣服务器集合中的每个虚拟机作为第二虚拟机,从候选服务器集合中获取资源需求量相似的第一虚拟机集合,包括:
依次从恶劣服务器中选出一个虚拟机作为第二虚拟机,获取所有候选服务器负载情况的副本,然后以所述第二虚拟机为对照物,对每个候选服务器中的虚拟机分别进行排序,获得对应于每个候选服务器的计算排序;
针对每一个所述计算排序,逐一将计算排序中的虚拟机放在计算排序的末尾,其余虚拟机保持相对不变,然后将所述第二虚拟机放到计算排序的首位,从而产生等同于计算排序中虚拟机数量的新的计算排序;
对每一个所述新的计算排序使用FirstFit算法生成一个托管方案,如果存在新的计算排序中没有无法托管的虚拟机,则将第二虚拟机放入到对应的服务器中,然后进行对当前的整合方案进行评价的过程,否则记录各个新的计算排序中无法托管的虚拟机集合作为候选虚拟机集合;
逐一选取所述候选虚拟机集合,获取候选服务器负载情况的副本,使候选虚拟机集合中所有虚拟机轮询所述副本中除了对应的候选服务器外的其他候选服务器,如果存在可以容纳的空缺,则该虚拟机视为可以托管,此时更新负载情况,否则视为不可托管;记录每个新的计算排序中不可托管的虚拟机;
计算每个新的计算排序中不可托管的虚拟机的资源需求情况,选取资源需求情况总和最少的新的计算次序,将该新的计算次序对应的候选虚拟机集合作为所述的第一虚拟机集合。
进一步地,在进行整合方案的评价时,计算并记录整合方案中所有服务器的负载情况,如果没有服务器出现超载,则评价值为使用的服务器数量,否则整合方案视为不合理。
进一步地,判断当前的整合方案的恶劣服务器集合中是否出现超载情况之后,当出现超载情况时:
对所有服务器进行负载情况的评价,根据评价结果进行排名并筛选出超载的服务器和负载率最差的一批服务器共同组成重组服务器集合;
将重组服务器集合中的所有虚拟机取消托管关系,对所有虚拟机在重组服务器集合中进行再安置尝试。
进一步地,所述对所有虚拟机在重组服务器集合中进行再安置尝试,包括:
根据重组服务器集合中的所有虚拟机产生新的计算次序,根据新的计算次序对重组服务器集合进行FirstFit算子,得到重组服务器集合的新整合方案;如果重组服务器集合不存在超载情况,或者已经进行了Y次的再安置尝试,则记当前的服务器托管方案为第二整合方案,再次进行新的再安置尝试;其中,Y为大于等于1的整数。
进一步地,所述判断所述第二整合方案是否满足设定的结束条件,如不满足,则将第二整合方案作为第一整合方案重新进行寻找优化,直至达到所述设定的结束条件。
进一步地,判断是否满足设定的结束条件的方法为:
如果在三次迭代中无法获得更优的整合方案或者迭代次数到达设定的最大值,则视为满足结束条件,否则视为不满足。
本申请具有以下技术特点:
1.本申请根据预定策略,在不降低已有方案的优越性的同时不断地进行优化尝试,并将更为优越的方案替代原有方案,从而在短时间内获得高负载率的整合方案。
2.本申请根据已有算法的计算规律,提出新的优化方式,能有效降低计算时长,使算法尽可能在各种环境下获得合理的结果。
附图说明
图1为本申请的一个实施例中基于启发式算法的虚拟机整合方法的流程示意图。
具体实施方式
参见图1,本申请的一个实施例提供了一种基于启发式算法的虚拟机整合方法,具体包括以下步骤:
S100,根据目前正在运行的服务器和虚拟机的情况,随机生成一个第一整合方案,确保每个虚拟机都能被服务器托管。
具体地,针对于当前所有服务器上运行的虚拟机,首先随机产生一个计算次序,该次序即从所有的虚拟机构成的集合中逐一获取虚拟机的次序;然后利用已有的算法,例如FirstFit算法获得所述的第一整合方案,该第一整合方案中,所有虚拟机均能被服务器托管。
S200,对所述第一整合方案进行一次寻找优化,包括以下步骤:
S201,根据服务器的负载情况对服务器进行排名,依据排名从所有服务器中筛选出负载率最差的一批恶劣服务器和负载率较差的一批较差服务器,然后从剩余的服务器中随机选出一批随机服务器;所有的较差服务器和随机服务器构成候选服务器集合,所有的恶劣服务器构成恶劣服务器集合。
其中,恶劣服务器和较差服务器均是排名靠后的服务器,较差服务器的排名均优于恶劣服务器;例如,根据服务器的排名情况,设定几个负载率阈值,根据这几个负载率阈值来划分恶劣服务器、较差服务器以及剩余服务器;剩余服务器的负载率优于其他两类服务器。
S202,依次将恶劣服务器集合中所有恶劣服务器上的每个虚拟机作为第二虚拟机,针对每个第二虚拟机,从候选服务器集合中获取资源需求量相似的第一虚拟机集合;记恶劣服务器上的虚拟机称为第二虚拟机,将第二虚拟机托管于第一虚拟机集合对应的候选服务器上,第一虚拟机集合将尝试填补到其他候选服务器的空缺中。
本实施例中,采用强插法从候选服务器集合中获取资源需求量相似的第一虚拟机集合;强插法具体包括以下步骤:
S202-1,依次从恶劣服务器中选出一个虚拟机作为第二虚拟机,获取所有候选服务器负载情况的副本,然后以所述第二虚拟机为对照物,对每个候选服务器中的虚拟机分别进行排序,获得对应于每个候选服务器的计算排序;在排序过程中,将资源需求量比第二虚拟机大的虚拟机位于计算排序的前方,比第二虚拟机小的位于计算排序的后方,其余在中间。
S202-2,针对每一个所述计算排序,逐一将计算排序中的虚拟机放在计算排序的末尾,其余虚拟机保持相对不变,然后将所述第二虚拟机放到计算排序的首位,从而产生等同于计算排序中虚拟机数量的新的计算排序;新的计算排序对应旧计算排序的服务器。
S202-3,对每一个所述新的计算排序使用FirstFit算法生成一个托管方案,如果存在新的计算排序中没有无法托管的虚拟机,则将第二虚拟机放入到对应的服务器中,然后执行S400,否则记录各个新的计算排序中无法托管的虚拟机集合作为候选虚拟机集合。
S202-4,逐一选取所述候选虚拟机集合,获取候选服务器负载情况的副本,使候选虚拟机集合中所有虚拟机轮询所述副本中除了对应的候选服务器外的其他候选服务器,如果存在可以容纳的空缺,则该虚拟机视为可以托管,此时更新负载情况,否则视为不可托管;记录每个新的计算排序中不可托管的虚拟机。
S202-5,计算每个新的计算排序中不可托管的虚拟机的资源需求情况,选取资源需求情况总和最少的新的计算次序,将该新的计算次序对应的候选虚拟机集合作为所述的第一虚拟机集合。
将第二虚拟机托管于第一虚拟机集合对应的候选服务器上,第一虚拟机集合将根据S202-4的轮询情况对其中的虚拟机进行安置;不可托管的虚拟机将放入到第二虚拟机原有的服务器中,但不再参与本次寻找优化。
S300,判断当前的整合方案中(经过S200的寻找优化后的第一整合方案),恶劣服务器集合中是否出现超载的情况,如没有出现超载情况,则执行S400,否则执行以下步骤:
S301,对所有服务器进行负载情况的评价,根据评价结果进行排名并筛选出超载的服务器和负载率最差的一批服务器共同组成重组服务器集合;其中负载率最差的一批服务器可在排名后通过设定阈值来筛选。
S302,将重组服务器集合中的所有虚拟机取消托管关系,对所有虚拟机在重组服务器集合中进行再安置尝试。
其中,再安置尝试即根据重组服务器集合中的所有虚拟机产生新的计算次序,根据新的计算次序对重组服务器集合进行FirstFit算子,得到重组服务器集合的新整合方案;如果重组服务器集合不存在超载情况,或者已经进行了Y次的再安置尝试,则记当前的服务器托管方案为第二整合方案,转到S500;否则,再次进行新的再安置尝试。其中,Y为大于等于1的整数。
S400,根据服务器的负载情况对当前的整合方案进行评价;如果当前的整合方案优于第一整合方案,则记当前的整合方案为第二整合方案,否则将所述第一整合方案作为第二整合方案。
在进行每个整合方案的评价时,计算并记录整合方案中所有服务器的负载情况,如果没有服务器出现超载,则评价值为使用的服务器数量,否则整合方案视为不合理;即采用使用的服务器的数量作为评价指标对当前的整合方案(或原整合方案)进行评价。
S500,判断所述第二整合方案是否满足设定的结束条件,如满足,则输出第二整合方案作为最终的整合方案。
否则,将第二整合方案作为S200中的第一整合方案,重新执行S200-S500,直至达到所述设定的结束条件。
其中,结束条件为:如果在三次迭代中无法获得更优的整合方案或者迭代次数到达设定的最大值,则视为满足结束条件。
TestA:大规模同构服务器测试
这个测试集的生成方法特点是生成的所有虚拟机都可以安置入服务器且服务器的资源刚好被占满。TestA包含TestA1和TestA2两种不同类型的测试。TestA1和TestA2均具有服务器数量不同的9个实验实例。TestA1和TestA2的每台服务器均有500CPU和500内存,每个虚拟机的CPU需求量都是位于区间[1,128]中的一个随机整数,RAM需求量都是位于区间[0,100]中的一个随机整数,最优的安置方案是每台服务器的资源都被占满。TestA1的虚拟机生成方法是首先生成一台服务器,然后随机产生虚拟机,直到虚拟机的需求量首次超过服务器的资源上限,该虚拟机的需求量被设置刚好符合服务器资源上限,虚拟机之间需求量差异较大。TestA2首先确定一个服务器中所包含的虚拟机数量,再根据均匀分布来生成虚拟机的资源需求量,虚拟机之间需求量差异不大。由于获得最优解是非常困难的,因此表格中包含目标数量,即当前算法能达到的优化极限。
表1 TestA1在不同虚拟机规模下的实验结果对比
Figure GDA0004017796760000071
从表1中可以看出,在20次的实验中,本申请的整合方法的优化结果总是能获得目标数量,体现了本申请的整合方法在TestA1中稳定的性能。RGGA在A11-A15中可以获得最优解,但是观察平均值发现,RGGA仅能在A11中稳定获得最优解,说明RGGA在小规模的计算具有比较好的性能,但是随着问题规模的增加变得越来越差。OMEACS则无法获得最优解。这表明在虚拟机完全随机的情况下中,具有优良改进规则的启发式算法胜过群体算法。
表2 TestA2在不同虚拟机规模下的实验结果对比
Figure GDA0004017796760000072
观察表2的结果,发现本申请的整合方法仍然稳定地获得目标数量。RGGA在TestA2整体表现比TestA1差,仅可在实例TestA21中获得目标数量,观察平均值发现每个实例均不确保每次执行都能获得目标数量。OMEACS在TestA2的整体表现比TestA1要优秀,且优于RGGA在TestA2中的表现。在实例A22,A23,A28中能获得目标数量,并且在A28中能稳定获得目标数量。表2显示了各个算法在TestA29实例中各个算法最终结果的CPU和RAM的平均负载率。OMEACS,RGGA和本申请的整合方法都能获得负载率,而本申请的整合方法获得了最高的负载率。本申请的整合方法在TestA1和TestA2中的表现都体现了算法的稳定性。
TestB:在同构服务器环境下的资源瓶颈问题
TestB试图在更实际的环境下测试。实际的应用场景中,由于内存和硬盘性能提升速度远远高于CPU,随着时间的推移,可能出现瓶颈资源需求的情况。为了测试本申请的整合方法的有效性与泛用性,下面将测试在具有瓶颈资源的环境下各个算法表现情况。我们建立了9个不同规模的实例,虚拟机的数量从100到2000,分别命名为B1到B9。每台服务器拥有16核CPU和32GB内存。每个虚拟机的CPU资源需求是一个位于区间[1~4]的随机整数,RAM需求是一个位于区间[1~8]的随机整数。随机整数都符合均匀分布。在这个测试中,每个虚拟机都有25%的可能需求4个核,同时25%的可能需求7G或8G内存。因此CPU和内存的整体使用率比值接近于10:9,CPU是瓶颈资源。由于虚拟机是随机产生的,为了预测所有虚拟机需要的服务器数量,TestB的理论服务器数量
Figure GDA0004017796760000081
计算公式如下:
Figure GDA0004017796760000082
其中,PCi和PMi分别是同构物理器能提供的CPU和RAM资源上限,
Figure GDA0004017796760000083
Figure GDA0004017796760000084
分别是所有虚拟机需求的CPU和RAM总量。推算公式目的是以所有虚拟机所需求的资源最大值来推算至少需要的服务器数量,在实际测试中,由于虚拟机需求资源产生的随机性和复杂性,可能实际需要的服务器数量大于这个值。
表3 TestB在不同虚拟机规模下的实验结果对比
Figure GDA0004017796760000091
表3包含了本申请的整合方法,RGGA和OMEACS在TestB的9个实例中的表现情况。RGGA只能在B1中获得最优值,且结果并不稳定。OMEACS则在B1中表现稳定,每次都能获得最优值。但是相对之下,RGGA在B2-B9中获得的平均值和最优值均优于OMEACS,整体表现比OMEACS好。本申请的整合方法则在所有实例中均能稳定获得最优值,这体现了本申请的整合方法在TestB中的稳定性。
此外,本申请的整合方法的另外一个优势在于,它需要较少的FEs和运算时间就能获得最优值。在表2中,本申请方法获得最优值的所需要的FEs和运算平均时间都低于RGGA和OMEACS。以B1为例,问题规模较小所以计算难度不大。本申请方法平均只需要进行两次优化就可以获得最优值,所以需要的时间地。RGGA由于在改进前都需要进行等同于种群个体数量的适应度计算,因此FEs和时间比本申请的整合方法多和长。OMEACS则由于算法必须从等同于虚拟机数量的服务器数量开始优化,同样FEs和时间比本申请的整合方法多和长,这体现本申请方法利用启发式算法收敛速度快的特点。

Claims (6)

1.一种基于启发式算法的虚拟机整合方法,其特征在于,包括:
根据目前正在运行的服务器和虚拟机的情况,随机生成一个第一整合方案;
对所述第一整合方案进行一次寻找优化,包括:根据服务器的负载情况,获取第一整合方案中的候选服务器集合和恶劣服务器集合;依次将恶劣服务器集合中的每个虚拟机作为第二虚拟机,从候选服务器集合中获取资源需求量相似的第一虚拟机集合,然后将第二虚拟机托管于第一虚拟机集合对应的候选服务器上,第一虚拟机集合填补到其他候选服务器的空缺中;
判断当前的整合方案的恶劣服务器集合中是否出现超载情况;
如未出现超载情况,则根据服务器的负载情况对当前的整合方案进行评价;如果当前的整合方案优于第一整合方案,则记当前的整合方案为第二整合方案,否则将所述第一整合方案作为第二整合方案;
判断所述第二整合方案是否满足设定的结束条件,如满足,则输出第二整合方案作为最终的整合方案;
所述随机生成一个第一整合方案,包括:
针对于当前所有服务器上运行的虚拟机,首先随机产生一个计算次序,该次序即从所有的虚拟机构成的集合中逐一获取虚拟机的次序;然后利用FirstFit算法获得所述的第一整合方案;
所述根据服务器的负载情况,获取第一整合方案中的候选服务器集合和恶劣服务器集合,包括:
根据服务器的负载情况对服务器进行排名,依据排名从所有服务器中筛选出负载率最差的一批恶劣服务器和负载率较差的一批较差服务器,然后从剩余的服务器中随机选出一批随机服务器;所有的较差服务器和随机服务器构成候选服务器集合,所有的恶劣服务器构成恶劣服务器集合;
所述依次将恶劣服务器集合中的每个虚拟机作为第二虚拟机,从候选服务器集合中获取资源需求量相似的第一虚拟机集合,包括:
依次从恶劣服务器中选出一个虚拟机作为第二虚拟机,获取所有候选服务器负载情况的副本,然后以所述第二虚拟机为对照物,对每个候选服务器中的虚拟机分别进行排序,获得对应于每个候选服务器的计算排序;
针对每一个所述计算排序,逐一将计算排序中的虚拟机放在计算排序的末尾,其余虚拟机保持相对不变,然后将所述第二虚拟机放到计算排序的首位,从而产生等同于计算排序中虚拟机数量的新的计算排序;
对每一个所述新的计算排序使用FirstFit算法生成一个托管方案,如果存在新的计算排序中没有无法托管的虚拟机,则将第二虚拟机放入到对应的服务器中,然后进行对当前的整合方案进行评价的过程,否则记录各个新的计算排序中无法托管的虚拟机集合作为候选虚拟机集合;
逐一选取所述候选虚拟机集合,获取候选服务器负载情况的副本,使候选虚拟机集合中所有虚拟机轮询所述副本中除了对应的候选服务器外的其他候选服务器,如果存在可以容纳的空缺,则该虚拟机视为可以托管,此时更新负载情况,否则视为不可托管;记录每个新的计算排序中不可托管的虚拟机;
计算每个新的计算排序中不可托管的虚拟机的资源需求情况,选取资源需求情况总和最少的新的计算次序,将该新的计算次序对应的候选虚拟机集合作为所述的第一虚拟机集合。
2.根据权利要求1所述的基于启发式算法的虚拟机整合方法,其特征在于,在进行整合方案的评价时,计算并记录整合方案中所有服务器的负载情况,如果没有服务器出现超载,则评价值为使用的服务器数量,否则整合方案视为不合理。
3.根据权利要求1所述的基于启发式算法的虚拟机整合方法,其特征在于,判断当前的整合方案的恶劣服务器集合中是否出现超载情况之后,当出现超载情况时:
对所有服务器进行负载情况的评价,根据评价结果进行排名并筛选出超载的服务器和负载率最差的一批服务器共同组成重组服务器集合;
将重组服务器集合中的所有虚拟机取消托管关系,对所有虚拟机在重组服务器集合中进行再安置尝试。
4.根据权利要求3所述的基于启发式算法的虚拟机整合方法,其特征在于,所述对所有虚拟机在重组服务器集合中进行再安置尝试,包括:
根据重组服务器集合中的所有虚拟机产生新的计算次序,根据新的计算次序对重组服务器集合进行FirstFit算子,得到重组服务器集合的新整合方案;如果重组服务器集合不存在超载情况,或者已经进行了Y次的再安置尝试,则记当前的服务器托管方案为第二整合方案,再次进行新的再安置尝试;其中,Y为大于等于1的整数。
5.根据权利要求1所述的基于启发式算法的虚拟机整合方法,其特征在于,所述判断所述第二整合方案是否满足设定的结束条件,如不满足,则将第二整合方案作为第一整合方案重新进行寻找优化,直至达到所述设定的结束条件。
6.根据权利要求1所述的基于启发式算法的虚拟机整合方法,其特征在于,判断是否满足设定的结束条件的方法为:
如果在三次迭代中无法获得更优的整合方案或者迭代次数到达设定的最大值,则视为满足结束条件,否则视为不满足。
CN202010387584.8A 2020-05-09 2020-05-09 基于启发式算法的虚拟机整合方法 Active CN111562967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010387584.8A CN111562967B (zh) 2020-05-09 2020-05-09 基于启发式算法的虚拟机整合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010387584.8A CN111562967B (zh) 2020-05-09 2020-05-09 基于启发式算法的虚拟机整合方法

Publications (2)

Publication Number Publication Date
CN111562967A CN111562967A (zh) 2020-08-21
CN111562967B true CN111562967B (zh) 2023-04-07

Family

ID=72073397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010387584.8A Active CN111562967B (zh) 2020-05-09 2020-05-09 基于启发式算法的虚拟机整合方法

Country Status (1)

Country Link
CN (1) CN111562967B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970903B2 (en) * 2007-08-20 2011-06-28 Hitachi, Ltd. Storage and server provisioning for virtualized and geographically dispersed data centers
CN103077082B (zh) * 2013-01-08 2016-12-28 中国科学院深圳先进技术研究院 一种数据中心负载分配及虚拟机迁移节能方法及系统
CN107450963A (zh) * 2017-07-24 2017-12-08 湖南创星科技股份有限公司 一种面向虚拟机放置的化学反应优化算法
CN109901932B (zh) * 2019-03-12 2023-04-07 东北大学 一种基于虚拟机的服务器整合方法

Also Published As

Publication number Publication date
CN111562967A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
Wang et al. Virtual machine migration planning in software-defined networks
Di et al. Dynamic optimization of multiattribute resource allocation in self-organizing clouds
Konstantinou et al. Fast and cost-effective online load-balancing in distributed range-queriable systems
US10979493B1 (en) System and method for forwarding service requests to an idle server from among a plurality of servers
GB2412980A (en) A method of distributing load amongst two or more computer system resources
Liu et al. Traffic-based load balance for scalable network emulation
Rathore Performance of hybrid load balancing algorithm in distributed web server system
Kim et al. Using content-addressable networks for load balancing in desktop grids
Yapicioglu et al. A traffic-aware virtual machine placement method for cloud data centers
Morillo et al. A latency-aware partitioning method for distributed virtual environment systems
CN110362379A (zh) 基于改进蚁群算法的虚拟机调度方法
Xu et al. Effective load balancing in p2p systems
Oleszkiewicz et al. Parallel network RAM: Effectively utilizing global cluster memory for large data-intensive parallel programs
Chandrasekaran et al. Load balancing of virtual machine resources in cloud using genetic algorithm
CN111562967B (zh) 基于启发式算法的虚拟机整合方法
Chen et al. Scalable request routing with next-neighbor load sharing in multi-server environments
CN109981794B (zh) 基于区块链节点网络的处理方法、装置及电子设备
Ye et al. Peer-to-peer replication with preferences
Qiao et al. Load balancing in peer-to-peer systems using a diffusive approach
Rasool et al. Replica placement in multi-tier data grid
Chen et al. Revisiting consistent hashing with bounded loads
Furuya et al. Load balancing method for data management using high availability distributed clusters
Chang et al. A write-operation-adaptable replication system for multiplayer cloud gaming
Zhu Load balancing in structured P2P networks
Borges et al. Strip partitioning for ant colony parallel and distributed discrete-event simulation

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