CN111176784B - 一种基于极限学习机和蚁群系统的虚拟机整合方法 - Google Patents

一种基于极限学习机和蚁群系统的虚拟机整合方法 Download PDF

Info

Publication number
CN111176784B
CN111176784B CN201911214229.4A CN201911214229A CN111176784B CN 111176784 B CN111176784 B CN 111176784B CN 201911214229 A CN201911214229 A CN 201911214229A CN 111176784 B CN111176784 B CN 111176784B
Authority
CN
China
Prior art keywords
host
migration
virtual machine
utilization rate
extreme learning
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
CN201911214229.4A
Other languages
English (en)
Other versions
CN111176784A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201911214229.4A priority Critical patent/CN111176784B/zh
Publication of CN111176784A publication Critical patent/CN111176784A/zh
Application granted granted Critical
Publication of CN111176784B publication Critical patent/CN111176784B/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于极限学习机和蚁群系统的虚拟机整合方法。本发明的目的在于通过虚拟机整合技术减少大规模数据中心的能耗,迁移次数和服务级别协议违反次数。该方法首先使用极限学习机预测输入主机列表中的各个主机的状态,根据这些不同状态的主机确定虚拟机整合过程的源主机和目的主机。然后从源主机上获得要迁移的虚拟机,根据多种群蚁群系统算法将这些虚拟机迁移到合适的目的主机。各个种群得到各自的迁移方案后,将利用局部搜索策略进行优化,然后各个种群之间通过信息素交换规则进行信息素的更新。最后达到指定迭代次数后,输出最佳的虚拟机整合方案。

Description

一种基于极限学习机和蚁群系统的虚拟机整合方法
技术领域
本发明属于云计算能耗领域,具体涉及一种基于极限学习机(ELM)和蚁群系统(ACS)的虚拟机整合方法(ELM_MPACS)。
背景技术
云计算技术能够优化计算资源,并且提供弹性扩展,任何用户都能以较低成本购买计算资源,完成复杂的业务需求。然而,为了满足不断增长的业务需求,全球数据中心的数量和规模不断增加,能源消耗也随之增加。比如,平均一个数据中心的电力消耗相当于25000个家庭的电力消耗。能耗问题受到人们的广泛关注。它不仅会导致高的运营成本,还会对生态环境造成巨大破坏。另一方面,云服务提供商也应该保证用户能够享受可靠的服务质量(QoS)。服务水平协议(SLA)规定了QoS目标,云服务违反SLA将受到惩罚。因此,如何在减低能耗的同时保证较低的SLA违反对云服务提供商而言是一个巨大的挑战。
虚拟化技术是云计算的关键技术之一,它允许多个虚拟机共享一个物理机。如果将多个虚拟机整合到少量的物理机上,就可以大大降低数据中心的能耗。最近几年,研究人员主要围绕虚拟机整合问题展开深入研究,通过优化虚拟机放置来降低能耗。通过整合可以有效降低能耗。然而,如果将过量的虚拟机放置在一个物理机上会导致较高的SLA违反和用户体验下降。因此,在进行能源感知的虚拟机放置的过程中,也必须对用户的QoS需求予以足够重视。
虚拟机整合问题关注的两个主要问题是确定迁移的源主机和目的主机以及怎么将虚拟机从源主机迁移到目的主机。一些现有的研究通常基于静态阈值或动态阈值,通过比较当前利用率与阈值确定主机状态。还有一些研究采用预测技术,如线性回归或机器学习等算法,预测下一个调度周期的主机的状态,然后决定哪些主机需要迁移。
虚拟机整合问题是NP难的,一些研究人员提出了线性规划来解决动态虚拟机整合。然而,线性规划的方法虽然简单,并且可以得到精确的最优解,但是可扩展性差,当问题规模增加的时候,计算时间会大大增加,因此线性规划不适合处理NP难的问题。一些论文用启发式得到了近似最优解,但是启发式算法容易陷入局部最优解。元启发式算法,如蚁群系统(ACS)、遗传算法(GA)和粒子群算法(PSO)等适合处理NP难问题的时候,不仅可以避免陷入局部最优解,而且可以在合理的时间内得到高质量的近似最优解。据我们所知,一些研究利用元启发式算法如蚁群系统解决虚拟机整合问题(F.Farahnakian et al.,“Using AntColony System to Consolidate VMs for Green Cloud Computing,”IEEETrans.Serv.Comput.,vol.8,no.2,pp.187–198,2015.;A.Ashraf and I.Porres,“Multi-objective dynamic virtual machine consolidation in the cloud using ant colonysystem,”Int.J.Parallel,Emergent Distrib.Syst.,vol.33,no.1,pp.103–120,2018.;A.Aryania,H.S.Aghdasi,and L.M.Khanli,“Energy-Aware Virtual MachineConsolidation Algorithm Based on Ant Colony System,”J.Grid Comput.,vol.16,no.3,pp.477–491,2018.)。然而,由于这些方法的搜索空间太大,所以计算时间会很久。因此,进一步优化搜索空间和降低时间复杂度很有必要。
发明内容
为了降低数据中心能耗,减少迁移次数和服务级协议违反次数,本发明提出一种基于极限学习机和蚁群系统的虚拟机整合方法。
本发明的目的至少通过如下技术方案之一实现。
一种基于极限学习机和蚁群系统的虚拟机整合方法,其包括以下步骤:
(1)建立虚拟机整合过程的多目标函数,包含以下子步骤:
(1.3)构建云数据中心物理机的功耗模型;
(1.4)建立关于能耗迁移次数和功耗的多目标函数;
(2)基于ELM模型进行主机状态检测,包含以下子步骤:
(2.5)将收集到的主机的历史利用率输入到极限学习机(ELM),训练多个极限学习机(ELM)模型,选择验证误差最小的那个模型作为最终的预测模型;
(2.6)在前十个调度周期,根据当前主机利用率来判断主机状态;
(2.7)如果超过十个调度周期,则利用(2.1)训练得到的ELM来预测主机利用率并判断主机状态;
(2.8)设置双阈值,如果主机的利用率不超过下阈值,则为欠载主机;如果主机的利用率超过下阈值,不超过上阈值,则为正常主机;如果主机的利用率大于上阈值,则为过载主机。
(3)基于蚁群系统进行虚拟机整合,包含以下子步骤:
(3.1)首先获取根据(2)得到的多个欠载主机上的全部虚拟机,然后为每个虚拟机从其他欠载主机中选择一台欠载主机作为目的主机;如果待迁移的虚拟机的源主机的利用率比当前选择的目的主机的利用率低即利用率较低的欠载主机,就将这个虚拟机迁移到目的主机,否则,选择其他目的主机(这些利用率较低的多个欠载主机的高低并无严格的界定标准,只要迁移过程中源主机的利用率比目的主机低,则称源主机的利用率较低,目的主机的利用率较高,这里的高低是相对的,但是判断是否欠载的标准是绝对的。欠载主机必须都是利用率小于0.3的主机。欠载主机可以有多个。)
(3.2)根据权利(2)得到的正常主机和过载主机,依据最小迁移时间规则选择过载主机上的虚拟机,并将其迁移到正常主机;最小迁移时间的定义是虚拟机当前占用内存和所在物理机可用带宽的比值,比值越小,迁移时间越短;比值越大,迁移时间越长;如果迁移之后主机仍然过载,则继续根据最小迁移时间选择虚拟机迁移,直到源主机不过载为止;然后重复执行以下步骤,直到达到迭代次数;
(3.3)采用的是多个种群,每个种群中的每只蚂蚁逐个为每个虚拟机选择目的主机,在每次选择之前更新启发式信息;
(3.4)如果源主机是过载主机,则迁移之后,源主机的利用率应该大于目的主机的利用率;如果源主机是欠载主机则迁移之前源主机的利用率小于目的主机的利用率;这样做避免欠载主机的无效迁移,迁移之后可能导致目的主机过载;
(3.5)每次选择一个元组添加到临时迁移计划后,立刻进行局部信息素更新;
(3.6)当所有虚拟机都已经找到安置的目的主机,就根据目标函数计算迁移方案的适应度;
(3.7)从每个种群中选出适应度最高的迁移方案实施局部搜索策略;
(3.8)在(3.7)得到的适应度最高的迁移方案中,从中任意选择两个不同种群中适应度最高的方案,两两之间执行信息素交换策略,学到彼此的优秀组合;直到每个适应度最高的迁移方案都已经和其他种群中适应度最高的方案进行了信息素交换。
(3.9)执行完信息素交换策略后,再次计算(3.8)得到的迁移方案的适应度,选择适应度最高的的迁移方案进行全局信息素更新;
(3.10)在没有达到迭代次数,之前,一直重复(3.3)-(3.9)的过程。
进一步的,在建立功耗模型的过程中,使用了基于CPU利用率和主机能耗之间的线性关系建立模型;主机的功耗于CPU的利用率如下:
Figure BDA0002299041100000031
其中,Pj表示主机j当前的功耗,
Figure BDA0002299041100000032
表示第j个主机的空闲功耗,
Figure BDA0002299041100000033
表示第j个主机的峰值功耗,u表示主机当前的利用率,k是主机最小功耗与最大功耗的比值。
进一步的,所述多目标函数同时考虑了迁移次数和各个主机的功耗,为了避免量纲对计算的影响,对功耗进行了归一化处理,定义的公式如下:
Figure BDA0002299041100000041
其中,Mig为某个迁移方案中的迁移次数,M为本次迁移过程中物理机的个数,u表示主机当前的利用率,k是主机最小功耗与最大功耗的比值;上述函数f就是蚁群系统算法的适应度函数,用来评价每只蚂蚁构造的迁移方案。
进一步的,步骤(2.1)中,训练了三个极限学习机模型,极限学习机的隐层结点个数设置为5,激活函数为正弦函数,取10个维度为3的样本,其中7/10用作训练,3/10用作验证;判断主机过载或欠载的阈值分别设置为0.8和0.3。
进一步的,步骤(2.2)中,在没有收集到10个周期的主机历史利用率之前,是根据主机当前的CPU利用率与上下阈值进行比较,确定主机状态;
步骤(2.3)中,在收集到10个周期的利用率之后,用误差最小的ELM模型进行预测下一个周期主机利用率,并将其与上下阈值进行比较,确定主机状态。
进一步的,步骤(3.1)中,将利用率较低的欠载主机上的全部虚拟机迁移到利用率更高的欠载主机;而且迁移过程中依据的启发式信息定义为:
Figure BDA0002299041100000042
其中第i个虚拟机记作VMi,第j个物理机记作PMj。PUj是PMj的当前使用的CPU资源,VRi是VMi请求的资源,PCj是PMj的总的CPU容量,约束条件PUj+VRi≤PCj是防止VMi放到PMj后,CPU资源请求超过该主机的总的容量,
Figure BDA0002299041100000043
表示的是VMi迁移到PMj之后的利用率。
进一步的,步骤(3.2)中,将过载主机上的虚拟机迁移到正常主机,而且迁移过程中依据的启发式信息定义为:
Figure BDA0002299041100000044
其中第i个虚拟机记作VMi,第j个物理机记作PMj。PUj是PMj的当前使用的CPU资源,
VRi是VMi请求的资源,PCj是PMj的总的CPU容量;约束条件PUj+VRi≤PCj是防止VMi放到PMj后,CPU资源请求超过该主机的总的容量,
Figure BDA0002299041100000045
表示迁移之后的可用资源比率。
进一步的,步骤(3.3)中,采用三个种群,每个种群三只蚂蚁,每只蚂蚁都会各自构建自己的迁移方案,每只蚂蚁逐个为虚拟机分配目的主机,每次选择目次主机之前更新启发式信息;所述分配采用的是伪随机比例规则。
进一步的,步骤(3.7)中,采用了局部搜索减少迁移导致的服务水平协议(SLA)违反,局部搜索的具体步骤如下:
(1)从每个种群构建的迁移方案中随机选出两个迁移组合(VM1,PM1),(VM2,PM2);
(2)计算两个目的主机的利用率的差值;
(3)交换这两个组合的目的主机,如果交换后,利用率的差值减小,则用交换后的组合替换原来的组合;否则,输出原来的组合;
(4)重复执行(1)-(3)的所有过程,直到满足迭代次数N*N为止,其中,N为待迁移的虚拟机的数量。
进一步的,步骤(3.8)中,采用了信息素交换使得一部分优秀的组合得以在之后的迭代中保留;信息素交换规则的具体步骤如下:
(1)任意选择两个种群构建的迁移方案;
(2)每次都从第一个方案中随机选择一个组合;
(3)如果第二个方案中也有该组合,则累加它们的信息素,并用累加结果更新原来两个组合的信息素;
直到遍历完成为止。
与现有技术相比,本发明具有如下优点和技术效果:
(1)本发明提出基于ELM的预测算法。本发明训练多个ELM模型,并从中选择验证误差最小的那个模型进行预测。这样做是为了减少ELM随机初始化带来的误差。与传统的基于线性回归的方法相比能捕捉到负载变化的非线性特征。与基于机器学习的方法相比,训练时间更短。
(2)本发明提出一种基于ACS的较低复杂度的虚拟机整合算法。本发明动态地为虚拟机选择目的主机,避免了预先构建迁移元组的开销,降低了复杂度。每个种群并发构建并通过局部搜索优化各自的迁移方案。不同种群之间通过信息素交换规则更新优秀组合的信息素。
(3)本发明提出了新的虚拟机迁移策略。本发明将过载主机上的虚拟机迁移到正常主机,欠载主机上的虚拟机迁移到利用率更高的欠载主机。
附图说明
图1为ELM模型图。
图2基于ELM的主机状态检测算法。
图3为基于蚁群系统的虚拟机整合方法。
图4为本发明与其他算法的能耗对比图。
图5为本发明与其他算法的迁移次数对比图。
图6为本发明与其他算法的SLA违反次数对比图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图,进行进一步的详细说明,但本发明的实施和保护不限于此。
首先说明本发明中的术语:
ELM(Extreme Learning Machine):ELM是一种单隐层前馈神经网络。与传统的神经网络不同,ELM的特点在于随机初始化输入层到隐藏层之间的权重和偏置,ELM训练速度更快,泛化能力更强。
蚁群系统(Ant Colony System):蚁群系统是一种模拟真实蚂蚁觅食过程建立的算法。在真实的蚂蚁种群中,信息素是蚂蚁用来交流的一种化学物质,蚂蚁正是通过感知其他蚂蚁的信息素沿途找到食物所在地。在蚁群系统中,定义了信息素和启发式信息。信息素表示了蚂蚁对某个选择的偏好程度,启发式信息是某个组合的期望程度。
伪随机比例规则:信息素和启发式信息定义好之后,蚂蚁偏向于选择信息素和启发式信息的乘积最大的组合,但是为了避免陷入局部最优,蚂蚁不能总是选择信息素或启发式信息乘积最大的那个组合,而是设定一个固定概率q0。当超过这个概率后,就依据轮盘赌的方法选择。
本发明中基于极限学习机和蚁群系统的虚拟机整合算法,包括以下步骤:
(1)建立虚拟机整合过程中的多目标函数,包含以下子步骤:
(1.1)构建数据中心的功耗模型。
Figure BDA0002299041100000061
其中,Pj表示主机j当前的功耗,
Figure BDA0002299041100000062
表示第j个主机的空闲功耗,
Figure BDA0002299041100000063
表示第j个主机的峰值功耗,u表示主机当前的利用率。k是主机最小功耗与最大功耗的比值。
(1.2)建立关于能耗迁移次数和功耗的多目标函数。
Figure BDA0002299041100000064
其中,Mig为某个迁移方案中的迁移次数,M为本次迁移过程中物理机的个数,u表示主机当前的利用率,k是主机最小功耗与最大功耗的比值。上述函数就是蚁群系统算法的适应度函数,用来评价每只蚂蚁构造的方案。
(2)根据如图(1)所示的ELM模型进行主机状态检测,具体步骤如图(2)所示:
(2.1)训练三个ELM模型,选择验证误差最小的那个模型作为最终的预测模型。
(2.2)如果主机的利用率历史数据小于10个,根据当前主机利用率来判断主机状态。
(2.3)如果主机的利用率历史数据超过10个,则利用(2.1)训练得到的ELM来预测主机利用率并判断主机状态。
(2.4)设置的上下限阈值分别为0.3和0.8。如果主机的利用率大于0,不超过0.3,则为欠载主机;如果主机的利用率大于0.3,不超过0.8,则为正常主机;如果主机的利用率大于0.8,则为过载主机。
(3)基于蚁群系统算法进行虚拟机整合,具体步骤如图3所示:
(3.1)根据权利(2)得到的欠载主机,将利用率较低的欠载主机上的全部虚拟机迁移到利用率更高的欠载主机。
(3.2)根据权利(2)得到的正常主机和过载主机,依据最小迁移时间规则(可参见A.Beloglazov and R.Buyya,“Optimal online deterministic algorithms andadaptive heuristics for energy and performance efficient dynamicconsolidation of virtual machines in Cloud data centers,”Concurr.Comput.Pract.Exp.,vol.22,no.6,pp.1397–1420,2012.)选择过载主机上的虚拟机,并将其迁移到正常主机。如果迁移之后主机仍然过载,则继续根据最小迁移时间选择虚拟机迁移,直到源主机不过载为止。
(3.3)采用的是多种群,每个种群中的每只蚂蚁逐个为每个虚拟机选择目的主机。在每次选择之前更新启发式信息,如果是过载主机上的虚拟机,则根据下式计算启发式信息1:
Figure BDA0002299041100000071
如果是欠载主机上的虚拟机,则启发式信息2定义为:
Figure BDA0002299041100000072
其中PUj是PMj的当前使用的CPU资源,VRi是VMi请求的资源,PCj是PMj的总的CPU容量。约束条件PUj+VRi≤PCj是防止VMi放到PMj后,CPU资源请求超过该主机的总的容量,
Figure BDA0002299041100000073
表示迁移之后的可用资源比例。
(3.4)如果源主机是过载主机,则迁移之后,源主机的利用率应该大于目的主机的利用率。如果源主机是欠载主机则迁移之前源主机的利用率小于目的主机的利用率。这样可以避免欠载主机的无效迁移,迁移之后可能导致目的主机过载。
(3.5)每次选择一个元组添加到临时迁移计划后,立刻进行局部信息素更新。
(3.6)当所有虚拟机都已经找到安置的目的主机,就根据目标函数计算迁移方案的适应度。
(3.7)如果种群内的每只蚂蚁都构建好迁移方案,那么就选择每个种群中最好的迁移方案实施局部搜索策略。局部搜索的具体步骤如下:
(1)从每个种群构建的方案中随机选出两个迁移组合(VM1,PM1),(VM2,PM2)。
(2)计算两个目的主机的利用率的差值。
(3)交换这两个组合的目的主机,如果交换后,利用率的差值减小,则用交换后的组合替换原来的组合;否则,输出原来的组合。
(4)直到满足迭代次数N*N为止。
(3.8)如果每个种群执行过局部搜索策略,就在不同种群构建的方案之间进行信息素交换,目的是在随后的迭代中保留优秀的组合。信息素交换规则的具体步骤如下:
(1)任意选择两个种群构建的方案。
(2)每次都从第一个方案中随机选择一个组合。
(3)如果第二个方案中也有该组合,则累加他们的信息素,并用其更新原来两个组合的信息素。
(4)直到遍历完成为止。
(3.9)执行完信息素交换策略后,选择最好的方案进行全局信息素更新。
(3.10)在没有达到迭代次数之前,一直重复之前的过程。
图4、图5、图6为本发明(ELM_MPACS)在Cloudsim模拟平台上与基准算法(LR_MMT_1.2)和单个种群的蚁群算法(ACS_VMC)进行了比较。由比较结果可见本发明能够降低能耗,迁移次数和服务级别协议违反次数。

Claims (10)

1.一种基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于包括以下步骤:
(1)建立虚拟机整合过程的多目标函数,包含以下子步骤:
(1.1)构建云数据中心物理机的功耗模型;
(1.2)建立关于能耗迁移次数和功耗的多目标函数;
(2)基于ELM模型进行主机状态检测,包含以下子步骤:
(2.1)将收集到的主机的历史利用率输入到极限学习机ELM,训练多个极限学习机(ELM)模型,选择验证误差最小的那个模型作为最终的预测模型;
(2.2)在前十个调度周期,根据当前主机利用率来判断主机状态;
(2.3)如果超过十个调度周期,则利用(2.1)训练得到的ELM模型来预测主机利用率并判断主机状态;
(2.4)设置双阈值,如果主机的利用率不超过下阈值,则为欠载主机;如果主机的利用率超过下阈值,不超过上阈值,则为正常主机;如果主机的利用率大于上阈值,则为过载主机;
(3)基于蚁群系统进行虚拟机整合,包含以下子步骤:
(3.1)首先获取根据(2)得到的多个欠载主机上的全部虚拟机,然后为每个虚拟机从其他欠载主机中选择一台欠载主机作为目的主机;如果待迁移的虚拟机的源主机的利用率比当前选择的目的主机的利用率低即利用率较低的欠载主机,就将这个虚拟机迁移到目的主机,否则,选择其他目的主机;
(3.2)根据步骤(2)得到的正常主机和过载主机,依据最小迁移时间规则选择过载主机上的虚拟机,并将其迁移到正常主机;最小迁移时间的定义是虚拟机当前占用内存和所在物理机可用带宽的比值,比值越小,迁移时间越短;比值越大,迁移时间越长;如果迁移之后主机仍然过载,则继续根据最小迁移时间选择虚拟机迁移,直到源主机不过载为止;然后重复执行以下步骤,直到达到迭代次数;
(3.3)采用的是多个种群,每个种群中的每只蚂蚁逐个为每个虚拟机选择目的主机,在每次选择之前更新启发式信息;
(3.4)如果源主机是过载主机,则迁移之前,源主机的利用率大于目的主机的利用率;如果源主机是欠载主机则迁移之前源主机的利用率小于目的主机的利用率;
(3.5)每次选择一个元组添加到临时迁移计划后,立刻进行局部信息素更新;
(3.6)当所有虚拟机都已经找到安置的目的主机,就根据目标函数计算迁移方案的适应度;
(3.7)从每个种群中选出适应度最高的迁移方案实施局部搜索策略;
(3.8)在(3.7)得到的适应度最高的迁移方案中,从中任意选择两个不同种群中适应度最高的方案,两两之间执行信息素交换策略,学到彼此的优秀组合;直到每个适应度最高的迁移方案都已经和其他种群中适应度最高的方案进行了信息素交换;
(3.9)执行完信息素交换策略后,再次计算(3.8)得到的迁移方案的适应度,选择适应度最高的的迁移方案进行全局信息素更新;
(3.10)在没有达到迭代次数之前,一直重复(3.3)-(3.9)的过程。
2.根据权利要求1所述的一种基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,在建立功耗模型的过程中,使用了基于CPU利用率和主机能耗之间的线性关系建立模型;主机的功耗于CPU的利用率如下:
Pj=Pj min*u+Pj max*k*(1-u)
其中,Pj表示主机j当前的功耗,
Figure FDA0003474210880000021
表示第j个主机的空闲功耗,
Figure FDA0003474210880000022
表示第j个主机的峰值功耗,u表示主机当前的利用率,k是主机最小功耗与最大功耗的比值。
3.根据权利要求1所述的一种基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,所述多目标函数同时考虑了迁移次数和各个主机的功耗,为了避免量纲对计算的影响,对功耗进行了归一化处理,定义的公式如下:
Figure FDA0003474210880000023
其中,Mig为某个迁移方案中的迁移次数,M为本次迁移过程中物理机的个数,u表示主机当前的利用率,k是主机最小功耗与最大功耗的比值;上述函数f就是蚁群系统算法的适应度函数,用来评价每只蚂蚁构造的迁移方案。
4.根据权利要求1所述的一种基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,步骤(2.1)中,训练了三个极限学习机模型,极限学习机的隐层结点个数设置为5,激活函数为正弦函数,取10个维度为3的样本,其中7/10用作训练,3/10用作验证;判断主机过载或欠载的阈值分别设置为0.8和0.3。
5.根据权利要求1所述的一种基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,
步骤(2.2)中,在没有收集到10个周期的主机历史利用率之前,是根据主机当前的CPU利用率与上下阈值进行比较,确定主机状态;
步骤(2.3)中,在收集到10个周期的利用率之后,用验证误差最小的ELM模型进行预测下一个周期主机利用率,并将其与上下阈值进行比较,确定主机状态。
6.根据权利要求1所述的基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,步骤(3.1)中,将利用率较低的欠载主机上的全部虚拟机迁移到利用率更高的欠载主机;而且迁移过程中依据的启发式信息定义为:
Figure FDA0003474210880000031
其中第i个虚拟机记作VMi,第j个物理机记作PMj,PUj是PMj的当前使用的CPU资源,VRi是VMi请求的资源,PCj是PMj的总的CPU容量,约束条件PUj+VRi≤PCj是防止VMi放到PMj后,CPU资源请求超过该主机的总的容量,
Figure FDA0003474210880000032
表示的是VMi迁移到PMj之后的利用率。
7.根据权利要求1所述的基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,步骤(3.2)中,将过载主机上的虚拟机迁移到正常主机,而且迁移过程中依据的启发式信息定义为:
Figure FDA0003474210880000033
其中第i个虚拟机记作VMi,第j个物理机记作PMj,PUj是PMj的当前使用的CPU资源,VRi是VMi请求的资源,PCj是PMj的总的CPU容量;约束条件PUj+VRi≤PCj是防止VMi放到PMj后,CPU资源请求超过该主机的总的容量,
Figure FDA0003474210880000034
表示迁移之后的可用资源比率。
8.根据权利要求1所述的基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,步骤(3.3)中,采用三个种群,每个种群三只蚂蚁,每只蚂蚁都会各自构建自己的迁移方案,每只蚂蚁逐个为虚拟机分配目的主机,每次选择目次主机之前更新启发式信息;所述分配采用的是伪随机比例规则。
9.根据权利要求1所述的基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,步骤(3.7)中,采用了局部搜索减少迁移导致的服务水平协议(SLA)违反,局部搜索的具体步骤如下:
1)从每个种群构建的迁移方案中随机选出两个迁移组合(VM1,PM1),(VM2,PM2);
2)计算两个目的主机的利用率的差值;
3)交换这两个组合的目的主机,如果交换后,利用率的差值减小,则用交换后的组合替换原来的组合;否则,输出原来的组合;
4)重复执行1)-3)的所有过程,直到满足迭代次数N*N为止,其中,N为待迁移的虚拟机的数量。
10.根据权利要求1所述的基于极限学习机和蚁群系统的虚拟机整合方法,其特征在于,步骤(3.8)中,采用了信息素交换使得一部分优秀的组合得以在之后的迭代中保留;信息素交换规则的具体步骤如下:
a)任意选择两个种群构建的迁移方案;
b)每次都从第一个方案中随机选择一个组合;
c)如果第二个方案中也有该组合,则累加它们的信息素,并用累加结果更新原来两个组合的信息素;
d)直到遍历完成为止。
CN201911214229.4A 2019-12-02 2019-12-02 一种基于极限学习机和蚁群系统的虚拟机整合方法 Active CN111176784B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911214229.4A CN111176784B (zh) 2019-12-02 2019-12-02 一种基于极限学习机和蚁群系统的虚拟机整合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911214229.4A CN111176784B (zh) 2019-12-02 2019-12-02 一种基于极限学习机和蚁群系统的虚拟机整合方法

Publications (2)

Publication Number Publication Date
CN111176784A CN111176784A (zh) 2020-05-19
CN111176784B true CN111176784B (zh) 2022-03-25

Family

ID=70657264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911214229.4A Active CN111176784B (zh) 2019-12-02 2019-12-02 一种基于极限学习机和蚁群系统的虚拟机整合方法

Country Status (1)

Country Link
CN (1) CN111176784B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111917854B (zh) * 2020-07-25 2023-04-07 西安邮电大学 一种面向mcc的协作型迁移决策方法及系统
CN112379972B (zh) * 2020-11-20 2023-01-06 华南理工大学 一种运用蚁群算法优化科学工作流的虚拟机放置方法
CN113075995B (zh) * 2021-04-26 2024-02-27 华南理工大学 基于混合群智能的虚拟机节能整合方法、系统和存储介质
CN117331687A (zh) * 2023-09-21 2024-01-02 重庆数智融合创新科技有限公司 基于5g确定性网络的虚拟机资源分配方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843997A (zh) * 2016-10-26 2017-06-13 西安交通大学 一种基于Spark与优化MBBO算法的并行虚拟机聚合方法
CN106934451A (zh) * 2015-12-29 2017-07-07 扬州大学 一种基于蚁群优化的bp神经网络wsn森林火灾防范系统
CN108469983A (zh) * 2018-04-02 2018-08-31 西南交通大学 一种云环境下的基于粒子群算法的虚拟机部署方法
CN109933425A (zh) * 2019-01-31 2019-06-25 南京邮电大学 一种基于改进蚁群算法的云计算虚拟机放置方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9935865B2 (en) * 2014-06-23 2018-04-03 Infosys Limited System and method for detecting and preventing service level agreement violation in a virtualized environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934451A (zh) * 2015-12-29 2017-07-07 扬州大学 一种基于蚁群优化的bp神经网络wsn森林火灾防范系统
CN106843997A (zh) * 2016-10-26 2017-06-13 西安交通大学 一种基于Spark与优化MBBO算法的并行虚拟机聚合方法
CN108469983A (zh) * 2018-04-02 2018-08-31 西南交通大学 一种云环境下的基于粒子群算法的虚拟机部署方法
CN109933425A (zh) * 2019-01-31 2019-06-25 南京邮电大学 一种基于改进蚁群算法的云计算虚拟机放置方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Virtual Machine Consolidation Algorithm Based on Ant Colony System and Extreme Learning Machine for Cloud Data Center;Fagui Liu 等;《IEEE Access》;20191223;第8卷;第53-67页 *
Energy-Aware Dynamic VM Consolidation in Cloud Data Centers Using Ant Colony System;Fahimeh Farahnakian et al;《2014 IEEE International Conference on Cloud Computing》;20141204;第104-111页 *
基于节能的虚拟机部署与虚拟机整合技术研究;吴泽益;《中国优秀硕士学位论文全文数据库信息科技辑》;20180228(第2期);第I137-10页 *

Also Published As

Publication number Publication date
CN111176784A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111176784B (zh) 一种基于极限学习机和蚁群系统的虚拟机整合方法
CN112286677B (zh) 一种面向资源受限边缘云的物联网应用优化部署方法
Xiao et al. Multi-objective VM consolidation based on thresholds and ant colony system in cloud computing
Tarahomi et al. An efficient power-aware VM allocation mechanism in cloud data centers: a micro genetic-based approach
CN109818786B (zh) 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法
Zhao et al. An energy-aware algorithm for virtual machine placement in cloud computing
CN111813506A (zh) 一种基于粒子群算法资源感知计算迁移方法、装置及介质
Supreeth et al. Hybrid genetic algorithm and modified-particle swarm optimization algorithm (GA-MPSO) for predicting scheduling virtual machines in educational cloud platforms
Li et al. Cost-aware automatic scaling and workload-aware replica management for edge-cloud environment
Liumei et al. Towards energy efficient cloud: an optimized ant colony model for virtual machine placement
Kumar T et al. Hybrid approach for resource allocation in cloud infrastructure using random forest and genetic algorithm
CN110162390A (zh) 一种雾计算系统的任务分配方法及系统
Alboaneen et al. Metaheuristic approaches to virtual machine placement in cloud computing: a review
Rani et al. Pareto based ant lion optimizer for energy efficient scheduling in cloud environment
Mahan et al. A novel resource productivity based on granular neural network in cloud computing
Liu et al. Energy‐aware virtual machine consolidation based on evolutionary game theory
Liang et al. A high-applicability heterogeneous cloud data centers resource management algorithm based on trusted virtual machine migration
Pushpalatha et al. Amalgamation of neural network and genetic algorithm for efficient workload prediction in data center
Devagnanam et al. Design and development of exponential lion algorithm for optimal allocation of cluster resources in cloud
Rasouli et al. Virtual machine placement in cloud systems using learning automata
Yu [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment
CN115086249B (zh) 一种基于深度强化学习的云数据中心资源分配方法
CN114741160A (zh) 一种基于平衡能耗与服务质量的动态虚拟机整合方法和系统
Kollu et al. Eagle Strategy with Cauchy Mutation Particle Swarm Optimization for Energy Management in Cloud Computing.
CN109343933B (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