CN110795208B - 基于改进粒子群的移动云计算自适应虚拟机调度方法 - Google Patents
基于改进粒子群的移动云计算自适应虚拟机调度方法 Download PDFInfo
- Publication number
- CN110795208B CN110795208B CN201910962067.6A CN201910962067A CN110795208B CN 110795208 B CN110795208 B CN 110795208B CN 201910962067 A CN201910962067 A CN 201910962067A CN 110795208 B CN110795208 B CN 110795208B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- state
- server
- particle
- energy consumption
- 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
- 239000002245 particle Substances 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000005265 energy consumption Methods 0.000 claims abstract description 63
- 230000006870 function Effects 0.000 claims abstract description 50
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 24
- 238000005457 optimization Methods 0.000 claims abstract description 23
- 230000001133 acceleration Effects 0.000 claims description 8
- 238000011161 development Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 claims description 2
- OVBPIULPVIDEAO-LBPRGKRZSA-N folic acid Chemical compound C=1N=C2NC(N)=NC(=O)C2=NC=1CNC1=CC=C(C(=O)N[C@@H](CCC(O)=O)C(O)=O)C=C1 OVBPIULPVIDEAO-LBPRGKRZSA-N 0.000 claims 1
- 238000004088 simulation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012546 transfer Methods 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/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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/45583—Memory management, e.g. access or allocation
-
- 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)
Abstract
本发明公开了一种基于改进粒子群的移动云计算自适应虚拟机调度方法,包括以下步骤:考虑CPU、内存、网络带宽和硬盘4种资源,将虚拟机调度模型看作装箱问题,构建最小能耗、最大效用和最小服务器数三个目标函数,并结合约束条件,建立多目标优化的虚拟机调度模型VMSA‑PSOEU;将装箱问题转换为带约束的多目标优化问题,将采集到的虚拟机请求作为输入,结合VMSA‑PSOEU模型,并通过改进粒子群算法对多目标优化问题进行求解,获得最优解,该最优解即为最终的虚拟机调度方案。本发明针对云中心的高能耗问题,从上述四个资源维度充分考虑如何有效地降低数据中心的能耗,同时使云中心对虚拟资源进行高效地调度与管理,提高了云中心的效用,并有效地降低了云数据中心的能耗。
Description
技术领域
本发明属于云计算和机器学习领域,特别涉及一种基于改进粒子群的移动云计算自适应虚拟机调度方法。
背景技术
移动云计算将移动互联网技术与云计算技术相结合,利用云计算具备的海量存储能力和高速计算能力,弥补移动设备运算性能、续航能力和存储空间不足的缺点,从而为移动用户提供高效实时的服务。移动云计算是一种丰富的移动计算技术,其利用各种云和网络技术的统一弹性资源获得不受限的功能、存储和移动性,通过以太网或互联网渠道随时随地地为众多移动设备提供服务,而不用管其基于的按使用付费原则的异构环境或平台。
移动云计算的日益普及和云中心数量规模的不断扩大,使得能源消耗成为云中心的最大的运营成本。根据近期所公布的一项最新的数据中心能源使用情况的调研结果显示,2017年,全球各地约有800万个数据中心正在处理数据负载。这些数据中心消耗了416.2太瓦时(1太瓦时约为10亿千瓦时)的电力,这相当于全球总用电量的2%,预计到2020年将高达全球用电量的5%。受这些事实的驱动,降低功耗和降低能源成本已成为当今云数据中心运营商首要关注的问题,并且在未来,能耗数字将不可避免地继续攀升。因此,很有必要研究一种虚拟机调度方法以支持对移动云中心的资源管理,降低开销,提高效率和可靠性。
为了解决虚拟机调度问题,已有许多专家学者展开了研究,文献《HolisticVirtual Machine Scheduling in Cloud Datacenters towards Minimizing TotalEnergy》提出了一种能够最大限度地降低云数据中心总能耗的整体虚拟机调度算法。文献《Multi-objective Task Scheduling to Minimize Energy Consumption and Makespanof Cloud Computing Using NSGA-I》提出了一种通过动态调节电压和频率来进行资源管理与能源控制的方法。为了有效的控制能量,他们将动态电压频率调节***纳入优化程序中,并使用非支配排序遗传算法获得解决方案。此外,他们还采用人工神经网络来进行虚拟机预测,提出了基于神经网络的解决方案,可在一定程度上解决云数据中心能量控制问题。但在移动云工作过程中,CPU利用率、网络带宽、内存等部件的使用情况往往更能直观的反映出云数据中心的工作负载。文献《An energy-efficient virtual machine placementand route scheduling scheme in data center networks》提出了一种新颖的工作感知虚拟机布局,以减少数据中心网络的能耗,并尽可能多地满足网络QoS要求。文献《JointUplink/Downlink Optimization for Backhaul-Limited Mobile Cloud Computing WithUser Scheduling》通过提出计算和通信资源的联合优化方法,以便在应用层的延迟限制下最小化所有移动设备上的转移服务所需的能耗。文献《Combinatorial double auction-based resource allocation mechanism in cloud computing market》研究了一个基于组合双重拍卖的市场,其中代理者根据用户的请求执行提供者的虚拟机分配,他们将虚拟机分配问题描述为整数线性规划模型,旨在最大化用户和云服务提供者的利润。
目前已有的移动云中心的虚拟机调度方法虽然在一定程度上减少了云中心的能耗,但是仍然存在一些不足,一方面是现有的移动云计算的虚拟机调度方法不能满足现在的需求,如不能满足大规模的虚拟机调度需求;另一方面,现有的虚拟机调度策略,大多数都考虑的不全面,或者仅是从一个方面的不同角度考虑,如仅考虑CPU能耗而不考虑其他部件的能耗问题。
发明内容
本发明的目的在于提供一种移动云计算自适应虚拟机调度方法,在有效降低数据中心能耗的同时,最大化数据中心的效用,并使数据中心使用更少的服务器。
实现本发明目的的技术解决方案为:一种基于改进粒子群的移动云计算自适应虚拟机调度方法,包括以下步骤:
步骤1、考虑CPU、内存、网络带宽和硬盘4种资源,将虚拟机调度模型看作为装箱问题,构建最小能耗、最大效用和最小服务器数三个目标函数,并结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU;
步骤2、将装箱问题转换为带约束的多目标优化问题,将采集到的虚拟机请求作为输入,结合VMSA-PSOEU模型,并通过改进粒子群算法对多目标优化问题进行求解,获得最优解,该最优解即为最终的虚拟机调度方案。
本发明与现有技术相比,其显著优点为:1)在虚拟机调度建模阶段,采用多维向量装箱模型对虚拟机调度问题进行建模,构建了最小能耗、最大效用和最小服务器数三个目标函数,并提出基于改进粒子群的虚拟机调度算法对虚拟机进行调度,提升了虚拟机调度问题的求解速度;2)在虚拟机调度问题求解阶段,设计了加速因子和惯性因子自适应调整策略,提升了改进粒子群算法的收敛速度;3)在虚拟机调度优化阶段,将物理资源利用率较低的节点上所运行的虚拟机迁移到其它合适的物理节点上,并将该节点设为休眠状态,进一步减少数据中心的能量消耗。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明基于改进粒子群的移动云计算自适应虚拟机调度方法流程图。
图2为本发明二维编码方案示意图。
图3为模糊隶属函数图。
图4为本发明自适应参数调整流程图。
图5为本发明实施例中用四种方法求解虚拟机调度问题时数据中心效用值对比图。
图6为本发明实施例中用四种方法求解虚拟机调度问题时数据中心能耗对比图。
具体实施方式
结合图1,本发明基于改进粒子群的移动云计算自适应虚拟机调度方法,包括以下步骤:
步骤1、考虑CPU、内存、网络带宽和硬盘4种资源,将虚拟机调度模型看作为装箱问题,构建最小能耗、最大效用和最小服务器数三个目标函数,并结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU;
步骤2、将装箱问题转换为带约束的多目标优化问题,将采集到的虚拟机请求作为输入,结合VMSA-PSOEU模型,并通过改进粒子群算法对多目标优化问题进行求解,获得最优解,该最优解即为最终的虚拟机调度方案。
进一步地,步骤1考虑CPU、内存、网络带宽和硬盘4种资源,将虚拟机调度模型看作为装箱问题,构建最小能耗、最大效用和最小服务器数三个目标函数,并结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU,具体为:
步骤1-1、构建最小能耗目标函数,具体为:
其中,
式中,分别代表服务器Pi的CPU利用率、内存使用率、硬盘占用率、网络带宽利用率;ω1、ω2、ω3、ω4分别为CPU能耗权重、内存能耗权重、硬盘能耗权重、网络带宽能耗权重;Pji∈{0,1},Pji=1表示虚拟机Vj被部署到服务器Pi上运行,Pji=0表示虚拟机Vj未被部署到服务器Pi上运行;设分别表示服务器Pi的CPU计算能力内存空间硬盘空间网络带宽以及成本 分别表示虚拟机所需的CPU资源内存空间硬盘空间网络带宽虚拟机效用Rj={Rj1,…,Rji,…,Rjn},Rji表示虚拟机Vj分配到服务器Pi产生的效用值;
式中,为服务器Pi在负载率为时的功率;表示服务器Pi的多维负载率达到最高峰值时刻t的最大功耗;表示服务器Pi在t时刻的多维负载率;c为一个常数,为服务器所消耗能量与峰值运行时的消耗能量的比值;Ei表示优化周期[t1,t2]内服务器Pi的能耗;E表示移动云中心所有服务器的能耗,单位为瓦特W;n表示移动云数据中心的服务器数量;Yi∈{0,1}表示服务器Pi是否处于激活状态,Yi=1,表示服务器Pi处于激活状态,Yi=0,表示服务器Pi处于关闭状态;式(4)将服务器的能耗与服务器的负载相关联,考虑了CPU、内存、网络带宽和磁盘四个维度,而不是仅仅考虑CPU利用率;
由此构建最小能耗目标函数为:
步骤1-2、构建最大效用目标函数,具体为:
全部虚拟机效用和所有服务器成本的差则为移动云计算中心的效用,根据移动云计算中心的效用计算公式:
构建最大效用目标函数为:
步骤1-3、通常在虚拟资源调度的优化阶段,物理资源利用率较低的节点上所运行的虚拟机要被迁移到其它合适的物理节点上,并将该节点设为休眠状态,以能进一步减少数据中心的能量消耗。因此在移动云计算环境下的虚拟机调度方法,在考虑了最小能耗和最大效用这两个因素后,还应使运行的服务器数尽可能的小,以进一步减少数据中心的能量消耗。构建最小服务器数目标函数,具体为:
根据服务器数计算公式:
式中,NUMservers表示服务器数;
构建最小服务器数目标函数为:
步骤1-4、根据步骤1-1至步骤1-3的三个目标函数,结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU为:
进一步地,步骤2将装箱问题转换为带约束的多目标优化问题,将采集到的虚拟机请求作为输入,结合VMSA-PSOEU模型,并通过改进粒子群算法对多目标优化问题进行求解,获得最优解,该最优解即为最终的虚拟机调度方案,具体为:
本发明中粒子的位置、速度与现实中虚拟机调度问题的映射关系为:
粒子的位置被定义为n维向量表示可行的虚拟机放置解决方案,其中n是粒子代码的长度,它的值等于云中心中服务器的数量。向量中每一维的值为0或1,每一维都对应一个物理机到虚拟机的映射方案(一对多的映射关系),当值为1时,表明该服务器是处于激活状态的,这时在该服务器上会部署一些虚拟机,形成一对多的映射。当值为0时,则不部署虚拟机,示例如图2所示。
粒子速度被定义为n维向量表示虚拟机放置的调整决策。引导粒子位置更新操作以使虚拟机放置能够调整到最佳解决方案。向量中的每一位的值为0或1。如果必须重新评估和调整相应的服务器及其虚拟机,则该值为0,否则值为1。
步骤2-1、根据VMSA-PSOEU模型中决策变量的个数,随机初始化粒子群大小为N,初始化所有粒子的初始速度和初始位置并设置实验关键参数;
步骤2-2、计算每个粒子到其他粒子的平均距离和进化因子f;
步骤2-3、根据进化因子f的大小对粒子群的进化状态进行评估;
步骤2-4、根据粒子群的进化状态和参数调整策略,自适应调整加速因子c1、c2和惯性因子ω;
步骤2-5、计算每个粒子的目标函数值,并更新个体极值pbest、全局极值gbest、粒子的速度和位置;
步骤2-6、判断是否达到预设的最大迭代次数,若达到则输出最优解,否则重复步骤2-2~步骤2-6。
进一步地,步骤2-1中实验关键参数包括最大迭代次数、CPU能耗权重,内存能耗权重,硬盘能耗权重,网络带宽能耗权重。
进一步地,步骤2-2计算每个粒子到其他粒子的平均距离和进化因子f,具体为:
步骤2-2-1、计算每个粒子到其他粒子的平均距离di:
步骤2-2-2、根据所有粒子对应的平均距离di,计算进化因子f:
其中,dmax为所有平均距离中的最大值,dmin为所有平均距离中的最小值,dg为全局最优粒子的di。
进一步地,步骤2-3根据进化因子f的大小对粒子群的进化状态进行评估,具体为:
将粒子群的进化状态分类为:探索、开发、收敛和跳出四种状态;
a)探索状态S1为:粒子群体在整个解搜索空间大幅度运动以发现新的适应度值更优的区域;
b)开发状态S2为:粒子群体在局部解搜索空间小幅度运动以寻找适应度值更优的位置;
c)收敛状态S3为:粒子群体运动到全局最优解附近,以全局最优位置为中心快速收敛;
d)跳出状态S4为:当全局最佳粒子跳出局部最佳位置并朝向更好的最佳状态时,它会远离拥挤群集;一旦新区域被一个粒子找到,该粒子就会成为领导者,其他粒子跟随它并尽可能快地趋近于这个新区域;
步骤2-3-1、根据模糊隶属度函数和去模糊规则表,评估粒子群的状态;具体为:
(1)将进化因子f代入进化状态的模糊隶属度函数中,计算函数值,模糊隶属度函数图像如图3所示;
其中,模糊隶属度函数包括:
a)探索状态S1模糊隶属度函数:
b)开发状态S2模糊隶属度函数:
c)收敛状态S3模糊隶属度函数:
d)跳出状态S4模糊隶属度函数:
(2)根据上述(1)中计算出来的函数值,判断粒子群状态;若函数值为1个,则该函数对应的状态即为粒子群的进化状态;若同时存在多个非零函数值,则根据去模糊规则表判断粒子群的进化状态,去模糊规则表如下表1所示:
表1去模糊规则表
表1中,F(f)表示模糊隶属度,St-1表示前一个状态,St表示当前状态的选取结果。
进一步优选地,结合图4,步骤2-4参数调整策略具体为:
(1)加速因子c1、c2调整策略:
a)针对探索状态,增大c1和减小c2:在探索状态下探索尽可能多的最佳值非常重要,增大c1和减小c2可以帮助粒子单独探索并达到它们自己的历史最佳位置,而不是围绕当前可能与局部最优相关的最佳粒子。
b)针对开发状态,增大c1并减小c2:在这种状态下,粒子利用局部信息并聚集到每个粒子的历史最佳位置所指示的可能的局部最佳位置。因此,缓慢增加c1并保持相对较大的值可以增强围绕pbest的搜索和利用。与此同时,全局最佳粒子并不总是在此阶段定位全局最优区域。因此,缓慢减少c2并保持较小值可以避免陷入局部最优。此外,在探索状态之后和收敛状态之前更可能发生开发状态。因此,改变c1和c2的时间应该是从探索状态稍微改变到收敛状态。
c)针对收敛状态,增大c1并增大c2:在收敛状态下,群体似乎找到全局最优区域,因此,应增强c2的影响以将其他粒子引导到可能的全局最优区域。因此,应增大c2的值。另一方面,应减小c1的值以使群快速收敛,但是这种策略会过早地将这两个参数饱和到它们的下限和上限。结果是群体将被当前最佳区域强烈吸引,导致过早收敛,如果当前最佳区域是局部最优,则是有害的。为避免这种情况,c1和c2都略有增加。略微增大两个加速因子最终将具有与减小c1和增大c2相同的预期效果,因为它们的值将被限制到大约2.0,因为c1和c2之和的上限为4.0。当c1和c2的和大于4.0时,需要对c1和c2进行归一化,归一化方法如式:
d)针对跳出状态,减小c1和增大c2:当全局最佳粒子跳出局部最佳并朝向更好的最佳状态时,它可能远离拥挤群集。一旦这个新区域被一个粒子找到,这颗粒子就会成为(可能是新的)领导者,其他粒子应该跟随它并尽可能快地飞到这个新区域。较大的c2和相对较小的c1有助于实现这一目的。
(2)惯性因子ω调整策略:
粒子群优化中的惯性权重ω用于平衡全局和本地搜索功能。进化因子f与惯性权重ω具有一些特征,其中f在探索状态期间也相对较大并且在收敛状态下变得相对较小。因此,惯性因子ω随进化状态即随f的值变化而变化,令ω与f存在映射ω(f):
由于ω不一定随时间单调,而是随f单调,因此ω将适应以f为特征的搜索环境。在跳出或探索状态下,较大f和ω将有利于全局搜索。相反,当f很小时,检测到开发或收敛状态,ω减小以有利于局部搜索。
进一步地,步骤2-5更新粒子的速度和位置,具体为:
步骤2-5-1、更新粒子的速度,更新公式为:
v(t+1)=ωv(t)+c1r1(pbest-x(t))+c2r2(gbest-x(t)) (23)
步骤2-5-2、更新粒子的位置,更新公式为:
x(t+1)=x(t)+v(t+1) (24)
其中,v(t)为粒子在t时刻的速度,x(t)为粒子在t时刻的位置,ω为惯性因子,c1、c2为加速因子,r1,r2为(0,1)上一致分布的随机数。每一维上的粒子速度被限制在vmax(vmax>0)内,如果某一维更新后的速度大于用户给定的vmax,那么就设为vmax,即v(t+1)>vmax时,v(t+1)=vmax。如果某一维更新后的速度小于等于用户给定的-vmax,那么就设为-vmax,即v(t+1)≤-vmax时,v(t+1)=-vmax。
下面结合实施例对本发明作进一步详细的描述。
实施例
采用云计算仿真工具CloudSim进行了实验仿真。模拟包含400个异构服务器的异构虚拟化数据中心,为了反映虚拟化数据中心的异构性,选取了两种类型的服务器,它们具有不同的配置和能耗特征,服务器的参数特征如表2所示。所选服务器在不同负载级别的功耗(瓦特)如表3所示。对比仿真实验的参数设置如表4所示。在表4中ω1,ω2,ω3,ω4分别为CPU能耗权重,内存能耗权重,硬盘能耗权重,网络带宽能耗权重。表5给出了本实施例的虚拟机实例。
表2服务器参数特征
表3服务器在不同负载级别的功耗(瓦特)
表4对比实验参数配置
表5虚拟机实例
在仿真实验中,本发明提出的虚拟机调度算法IPSO-VMSA与MBFD算法以及装箱问题近似算法First-Fit algorithm(FF)、Best-Fit algorithm(BF)的激活服务器总数对比结果如表6所示。
如表6可知,随着虚拟机请求的大小增加,本发明提出的方法总是激活最小数量的服务器,但FF算法始终激活最大数量的服务器。MBFD算法的激活服务器总数小于BF算法和FF算法,但激活的服务器总数多于本发明提出的算法。
表6激活服务器总数对比
由图5可知,与其他对比算法相比,本发明的方法获得了更高的数据中心效用值。随着虚拟机请求数量的增长,云中心在这四种算法下的效用值各不相同,但是本发明提出方法的效用值总是高于FF、BF和MBFD。对于同一组虚拟机请求,如果虚拟化数据中心中服务器的利用率较高,激活较少的服务器来承载云服务工作负载,此时虚拟化数据中心的能耗将低于其他数据中心,数据中心的收益也会大幅度增加。
由图6可知,无论虚拟机请求的规模如何,本发明提出的方法均可使数据中心运营商节省更多的能量。与其他三种方法相比,本发明方法可以节省较多能源费用,这是因为FF,BF和MBFD在解决问题的过程中,缺乏虚拟化数据中心中异构服务器的能耗特征等反映全局状态的信息。FF,BF和MBFD算法只考虑了多维资源约束,且未考虑不同服务器的能量差异。本发明设计了关键参数自适应调整机制,使其能够找到更好的虚拟机调度方案,增强算法的收敛性,提高调度方案的质量。本发明的方法可以激活尽可能少的服务器,并降低虚拟化数据中心的总能耗。
本发明针对云中心的高能耗问题,从CPU、内存,网络带宽以及硬盘空间四个维度充分考虑如何有效地降低数据中心的能耗,同时使云中心对虚拟资源进行高效地调度与管理,提高了云中心的效用,并有效地降低了云数据中心的能耗。
Claims (3)
1.一种基于改进粒子群的移动云计算自适应虚拟机调度方法,其特征在于,包括以下步骤:
步骤1、考虑CPU、内存、网络带宽和硬盘4种资源,将虚拟机调度模型看作为装箱问题,构建最小能耗、最大效用和最小服务器数三个目标函数,并结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU;
步骤2、将装箱问题转换为带约束的多目标优化问题,将采集到的虚拟机请求作为输入,结合VMSA-PSOEU模型,并通过改进粒子群算法对多目标优化问题进行求解,获得最优解,该最优解即为最终的虚拟机调度方案;
步骤1所述考虑CPU、内存、网络带宽和硬盘4种资源,将虚拟机调度模型看作为装箱问题,构建最小能耗、最大效用和最小服务器数三个目标函数,并结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU,具体为:
步骤1-1、构建最小能耗目标函数,具体为:
其中,
式中,分别代表服务器Pi的CPU利用率、内存使用率、硬盘占用率、网络带宽利用率;ω1、ω2、ω3、ω4分别为CPU能耗权重、内存能耗权重、硬盘能耗权重、网络带宽能耗权重;Pji∈{0,1},Pji=1表示虚拟机Vj被部署到服务器Pi上运行,Pji=0表示虚拟机Vj未被部署到服务器Pi上运行;设分别表示服务器Pi的CPU计算能力内存空间硬盘空间网络带宽以及成本分别表示虚拟机所需的CPU资源内存空间硬盘空间网络带宽虚拟机效用Rj={Rj1,...,Rji,...,Rjn},Rji表示虚拟机Vj分配到服务器Pi产生的效用值;
式中,为服务器Pi在负载率为时的功率;表示服务器Pi的多维负载率达到最高峰值时刻t的最大功耗;表示服务器Pi在t时刻的多维负载率;c为一个常数,为服务器所消耗能量与峰值运行时的消耗能量的比值;Ei表示优化周期[t1,t2]内服务器Pi的能耗;E表示移动云中心所有服务器的能耗,单位为瓦特W;n表示移动云数据中心的服务器数量;Yi∈{0,1}表示服务器Pi是否处于激活状态,Yi=1,表示服务器Pi处于激活状态,Yi=0,表示服务器Pi处于关闭状态;
由此构建最小能耗目标函数为:
步骤1-2、构建最大效用目标函数,具体为:
根据移动云计算中心的效用计算公式:
构建最大效用目标函数为:
步骤1-3、构建最小服务器数目标函数,具体为:
根据服务器数计算公式:
式中,NUMservers表示服务器数;
构建最小服务器数目标函数为:
步骤1-4、根据步骤1-1至步骤1-3的三个目标函数,结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU为:
s.t
步骤2所述将装箱问题转换为带约束的多目标优化问题,将采集到的虚拟机请求作为输入,结合VMSA-PSOEU模型,并通过改进粒子群算法对多目标优化问题进行求解,获得最优解,该最优解即为最终的虚拟机调度方案,具体为:
步骤2-1、根据VMSA-PSOEU模型中决策变量的个数,随机初始化粒子群大小为N,初始化所有粒子的初始速度和初始位置并设置实验关键参数;
步骤2-2、计算每个粒子到其他粒子的平均距离和进化因子f;
步骤2-3、根据进化因子f的大小对粒子群的进化状态进行评估;
步骤2-4、根据粒子群的进化状态和参数调整策略,自适应调整加速因子c1、c2和惯性因子ω;
步骤2-5、计算每个粒子的目标函数值,并更新个体极值pbest、全局极值gbest、粒子的速度和位置;
步骤2-6、判断是否达到预设的最大迭代次数,若达到则输出最优解,否则重复步骤2-2~步骤2-6;
步骤2-1所述实验关键参数包括最大迭代次数,CPU能耗权重,内存能耗权重,硬盘能耗权重和网络带宽能耗权重;
步骤2-2所述计算每个粒子到其他粒子的平均距离和进化因子f,具体为:
步骤2-2-1、计算每个粒子到其他粒子的平均距离di:
步骤2-2-2、根据所有粒子对应的平均距离di,计算进化因子f:
其中,dmax为所有平均距离中的最大值,dmin为所有平均距离中的最小值,dg为全局最优粒子的di;
步骤2-3所述根据进化因子f的大小对粒子群的进化状态进行评估,具体为:
将粒子群的进化状态分类为:探索、开发、收敛和跳出四种状态;
a)探索状态S1为:粒子群体在整个解搜索空间大幅度运动以发现新的适应度值更优的区域;
b)开发状态S2为:粒子群体在局部解搜索空间小幅度运动以寻找适应度值更优的位置;
c)收敛状态S3为:粒子群体运动到全局最优解附近,以全局最优位置为中心快速收敛;
d)跳出状态S4为:当全局最佳粒子跳出局部最佳位置并朝向更好的最佳状态时,它会远离拥挤群集;一旦新区域被一个粒子找到,该粒子就会成为领导者,其他粒子跟随领导者并尽可能快地趋近于这个新区域;
步骤2-3-1、根据模糊隶属度函数和去模糊规则表,评估粒子群的进化状态;具体为:
(1)将进化因子f代入进化状态的模糊隶属度函数中,计算函数值;
其中,模糊隶属度函数包括:
a)探索状态S1模糊隶属度函数:
b)开发状态S2模糊隶属度函数:
c)收敛状态S3模糊隶属度函数:
d)跳出状态S4模糊隶属度函数:
(2)根据上述(1)中计算出来的函数值,判断粒子群状态;若函数值为1个,则该函数对应的状态即为粒子群的进化状态;若同时存在多个非零函数值,则根据去模糊规则表判断粒子群的进化状态,去模糊规则表如下表1所示:
表1去模糊规则表
表1中,F(f)表示模糊隶属度,St-1表示前一个状态,St表示当前状态的选取结果。
3.根据权利要求2所述的基于改进粒子群的移动云计算自适应虚拟机调度方法,其特征在于,步骤2-5所述更新粒子的速度和位置,具体为:
步骤2-5-1、更新粒子的速度,更新公式为:
v(t+1)=ωv(t)+c1r1(pbest-x(t))+c2r2(gbest-x(t)) (23)
步骤2-5-2、更新粒子的位置,更新公式为:
x(t+1)=x(t)+v(t+1) (24)
其中,v(t)为粒子在t时刻的速度,x(t)为粒子在t时刻的位置,ω为惯性因子,c1、c2为加速因子,r1,r2为(0,1)内一致分布的随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910962067.6A CN110795208B (zh) | 2019-10-11 | 2019-10-11 | 基于改进粒子群的移动云计算自适应虚拟机调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910962067.6A CN110795208B (zh) | 2019-10-11 | 2019-10-11 | 基于改进粒子群的移动云计算自适应虚拟机调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795208A CN110795208A (zh) | 2020-02-14 |
CN110795208B true CN110795208B (zh) | 2023-05-05 |
Family
ID=69439224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910962067.6A Active CN110795208B (zh) | 2019-10-11 | 2019-10-11 | 基于改进粒子群的移动云计算自适应虚拟机调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795208B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431961B (zh) * | 2020-02-20 | 2022-05-03 | 重庆邮电大学 | 一种云数据中心的节能任务分配方法 |
CN111488052B (zh) * | 2020-04-16 | 2022-03-08 | 中国工商银行股份有限公司 | 应用于物理机集群的容器启用方法和装置、计算机*** |
CN111542074B (zh) * | 2020-04-20 | 2022-08-23 | 贵州师范大学 | 一种移动云计算学习的智能异构无线接入方法 |
CN111722912B (zh) * | 2020-06-24 | 2023-05-02 | 华侨大学 | 一种面向性能和功耗平衡的数据中心虚拟机管理方法 |
CN112948916B (zh) * | 2021-01-30 | 2022-09-20 | 同济大学 | 一种岩土体力学参数获取方法 |
CN112835684B (zh) * | 2021-03-02 | 2024-03-22 | 浙江工业大学 | 一种面向移动边缘计算的虚拟机部署方法 |
CN114756557B (zh) * | 2022-06-15 | 2022-11-08 | 广州晨安网络科技有限公司 | 一种改进型计算机算法模型的数据处理方法 |
CN117271143B (zh) * | 2023-11-22 | 2024-01-26 | 无锡尚航数据有限公司 | 一种数据中心优化节能调度方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598733A (zh) * | 2016-12-08 | 2017-04-26 | 南京航空航天大学 | 一种云计算能耗关键的三维度虚拟资源调度方法 |
CN107491341A (zh) * | 2017-08-31 | 2017-12-19 | 福州大学 | 一种基于粒子群优化的虚拟机分配方法 |
CN110058924A (zh) * | 2019-04-23 | 2019-07-26 | 东华大学 | 一种多目标优化的容器调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011110026A1 (zh) * | 2010-10-29 | 2011-09-15 | 华为技术有限公司 | 一种实现数据中心资源负载均衡的方法及装置 |
-
2019
- 2019-10-11 CN CN201910962067.6A patent/CN110795208B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598733A (zh) * | 2016-12-08 | 2017-04-26 | 南京航空航天大学 | 一种云计算能耗关键的三维度虚拟资源调度方法 |
CN107491341A (zh) * | 2017-08-31 | 2017-12-19 | 福州大学 | 一种基于粒子群优化的虚拟机分配方法 |
CN110058924A (zh) * | 2019-04-23 | 2019-07-26 | 东华大学 | 一种多目标优化的容器调度方法 |
Non-Patent Citations (1)
Title |
---|
朱亚会 等.云数据中心基于能耗感知的虚拟机调度算法.计算机与现代化.2016,(第4期),74-78. * |
Also Published As
Publication number | Publication date |
---|---|
CN110795208A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795208B (zh) | 基于改进粒子群的移动云计算自适应虚拟机调度方法 | |
Chen et al. | Energy-efficient offloading for DNN-based smart IoT systems in cloud-edge environments | |
Ghanavati et al. | An energy aware task scheduling model using ant-mating optimization in fog computing environment | |
CN111586720B (zh) | 一种多小区场景下的任务卸载和资源分配的联合优化方法 | |
Shu et al. | A novel energy-efficient resource allocation algorithm based on immune clonal optimization for green cloud computing | |
CN108804227B (zh) | 基于移动云计算的计算密集型任务卸载和最佳资源配置的方法 | |
Xue et al. | EosDNN: An efficient offloading scheme for DNN inference acceleration in local-edge-cloud collaborative environments | |
Changtian et al. | Energy-aware genetic algorithms for task scheduling in cloud computing | |
CN111722910B (zh) | 一种云作业调度及资源配置的方法 | |
Ali et al. | A deep learning approach for mobility-aware and energy-efficient resource allocation in MEC | |
CN113364859B (zh) | 车联网中面向mec的联合计算资源分配和卸载决策优化方法 | |
CN109600178A (zh) | 一种边缘计算中能耗与时延和最小化的优化方法 | |
Meng et al. | Deep reinforcement learning based task offloading algorithm for mobile-edge computing systems | |
Barlaskar et al. | Enhanced cuckoo search algorithm for virtual machine placement in cloud data centres | |
CN114650228B (zh) | 一种异构网络中基于计算卸载的联邦学习调度方法 | |
CN115396953A (zh) | 移动边缘计算中一种基于改进粒子群算法的计算卸载方法 | |
Wang et al. | The optimization of virtual resource allocation in cloud computing based on RBPSO | |
Chalack et al. | Resource allocation in cloud environment using approaches based particle swarm optimization | |
CN113360245A (zh) | 基于移动云计算深度强化学习的物联网设备任务下载方法 | |
CN113672372A (zh) | 一种基于强化学习的多边缘协同负载均衡任务调度方法 | |
CN111930435A (zh) | 一种基于pd-bpso技术的任务卸载决策方法 | |
Hu et al. | Distributed task offloading based on multi-agent deep reinforcement learning | |
Hussein et al. | Efficient Computation Offloading of IoT-Based Workflows Using Discrete Teaching Learning-Based Optimization. | |
CN116321189A (zh) | 一种面向边缘计算中基于深度强化学习的服务器部署方法 | |
Zhang et al. | BiLSTM-based federated learning computation offloading and resource allocation algorithm in MEC |
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 |