CN110795208B - 基于改进粒子群的移动云计算自适应虚拟机调度方法 - Google Patents

基于改进粒子群的移动云计算自适应虚拟机调度方法 Download PDF

Info

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
Application number
CN201910962067.6A
Other languages
English (en)
Other versions
CN110795208A (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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201910962067.6A priority Critical patent/CN110795208B/zh
Publication of CN110795208A publication Critical patent/CN110795208A/zh
Application granted granted Critical
Publication of CN110795208B publication Critical patent/CN110795208B/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/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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45583Memory management, e.g. access or allocation
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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)
  • 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、构建最小能耗目标函数,具体为:
步骤1-1-1、计算服务器Pi的多维负载度
Figure BDA0002229272730000031
所用公式为:
Figure BDA0002229272730000032
其中,
Figure BDA0002229272730000041
式中,
Figure BDA0002229272730000042
分别代表服务器Pi的CPU利用率、内存使用率、硬盘占用率、网络带宽利用率;ω1、ω2、ω3、ω4分别为CPU能耗权重、内存能耗权重、硬盘能耗权重、网络带宽能耗权重;Pji∈{0,1},Pji=1表示虚拟机Vj被部署到服务器Pi上运行,Pji=0表示虚拟机Vj未被部署到服务器Pi上运行;设
Figure BDA0002229272730000043
分别表示服务器Pi的CPU计算能力
Figure BDA0002229272730000044
内存空间
Figure BDA0002229272730000045
硬盘空间
Figure BDA0002229272730000046
网络带宽
Figure BDA0002229272730000047
以及成本
Figure BDA0002229272730000048
Figure BDA0002229272730000049
分别表示虚拟机所需的CPU资源
Figure BDA00022292727300000410
内存空间
Figure BDA00022292727300000411
硬盘空间
Figure BDA00022292727300000412
网络带宽
Figure BDA00022292727300000413
虚拟机效用Rj={Rj1,…,Rji,…,Rjn},Rji表示虚拟机Vj分配到服务器Pi产生的效用值;
步骤1-1-2、对服务器Pi的多维度负载度
Figure BDA00022292727300000414
进行归一化处理,获得服务器Pi的多维度负载率
Figure BDA00022292727300000415
所用公式为:
Figure BDA00022292727300000416
式中,
Figure BDA00022292727300000417
分别表示优化周期[t1,t2]内服务器Pi的多维负载度的最小值和最大值;
步骤1-1-3、根据多维度负载率
Figure BDA00022292727300000418
获取改进的服务器能耗模型:
Figure BDA00022292727300000419
Figure BDA00022292727300000420
Figure BDA0002229272730000051
式中,
Figure BDA0002229272730000052
为服务器Pi在负载率为
Figure BDA0002229272730000053
时的功率;
Figure BDA0002229272730000054
表示服务器Pi的多维负载率达到最高峰值时刻t的最大功耗;
Figure BDA0002229272730000055
表示服务器Pi在t时刻的多维负载率;c为一个常数,为服务器所消耗能量与峰值运行时的消耗能量的比值;Ei表示优化周期[t1,t2]内服务器Pi的能耗;E表示移动云中心所有服务器的能耗,单位为瓦特W;n表示移动云数据中心的服务器数量;Yi∈{0,1}表示服务器Pi是否处于激活状态,Yi=1,表示服务器Pi处于激活状态,Yi=0,表示服务器Pi处于关闭状态;式(4)将服务器的能耗与服务器的负载相关联,考虑了CPU、内存、网络带宽和磁盘四个维度,而不是仅仅考虑CPU利用率;
由此构建最小能耗目标函数为:
Figure BDA0002229272730000056
步骤1-2、构建最大效用目标函数,具体为:
全部虚拟机效用和所有服务器成本的差则为移动云计算中心的效用,根据移动云计算中心的效用计算公式:
Figure BDA0002229272730000057
式中,R表示移动云中心的效用,n表示云数据中心的服务器数量,m表示虚拟机数量;Rji表示虚拟机Vj在服务器Pi上运行产生的虚拟机效用;
Figure BDA0002229272730000058
表示服务器Pi的成本;
构建最大效用目标函数为:
Figure BDA0002229272730000059
步骤1-3、通常在虚拟资源调度的优化阶段,物理资源利用率较低的节点上所运行的虚拟机要被迁移到其它合适的物理节点上,并将该节点设为休眠状态,以能进一步减少数据中心的能量消耗。因此在移动云计算环境下的虚拟机调度方法,在考虑了最小能耗和最大效用这两个因素后,还应使运行的服务器数尽可能的小,以进一步减少数据中心的能量消耗。构建最小服务器数目标函数,具体为:
根据服务器数计算公式:
Figure BDA0002229272730000061
式中,NUMservers表示服务器数;
构建最小服务器数目标函数为:
Figure BDA0002229272730000062
步骤1-4、根据步骤1-1至步骤1-3的三个目标函数,结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU为:
Figure BDA0002229272730000063
Figure BDA0002229272730000064
Figure BDA0002229272730000065
Figure BDA0002229272730000066
进一步地,步骤2将装箱问题转换为带约束的多目标优化问题,将采集到的虚拟机请求作为输入,结合VMSA-PSOEU模型,并通过改进粒子群算法对多目标优化问题进行求解,获得最优解,该最优解即为最终的虚拟机调度方案,具体为:
本发明中粒子的位置、速度与现实中虚拟机调度问题的映射关系为:
(1)粒子i在t时刻的位置
Figure BDA0002229272730000071
粒子的位置被定义为n维向量
Figure BDA0002229272730000072
表示可行的虚拟机放置解决方案,其中n是粒子代码的长度,它的值等于云中心中服务器的数量。向量
Figure BDA0002229272730000073
中每一维的值为0或1,每一维都对应一个物理机到虚拟机的映射方案(一对多的映射关系),当值为1时,表明该服务器是处于激活状态的,这时在该服务器上会部署一些虚拟机,形成一对多的映射。当值为0时,则不部署虚拟机,示例如图2所示。
(2)粒子i在t时刻的速度
Figure BDA0002229272730000074
粒子速度被定义为n维向量
Figure BDA0002229272730000075
表示虚拟机放置的调整决策。
Figure BDA0002229272730000076
引导粒子位置更新操作以使虚拟机放置能够调整到最佳解决方案。向量
Figure BDA0002229272730000077
中的每一位的值为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
Figure BDA0002229272730000081
式中,di为第i个粒子到其余i-1个粒子的平均距离,N为粒子群大小,D为维数,
Figure BDA0002229272730000082
为x(t)在第k维上的值,x(t)为粒子在t时刻的位置;
步骤2-2-2、根据所有粒子对应的平均距离di,计算进化因子f:
Figure BDA0002229272730000083
其中,dmax为所有平均距离中的最大值,dmin为所有平均距离中的最小值,dg为全局最优粒子的di
进一步地,步骤2-3根据进化因子f的大小对粒子群的进化状态进行评估,具体为:
将粒子群的进化状态分类为:探索、开发、收敛和跳出四种状态;
a)探索状态S1为:粒子群体在整个解搜索空间大幅度运动以发现新的适应度值更优的区域;
b)开发状态S2为:粒子群体在局部解搜索空间小幅度运动以寻找适应度值更优的位置;
c)收敛状态S3为:粒子群体运动到全局最优解附近,以全局最优位置为中心快速收敛;
d)跳出状态S4为:当全局最佳粒子跳出局部最佳位置并朝向更好的最佳状态时,它会远离拥挤群集;一旦新区域被一个粒子找到,该粒子就会成为领导者,其他粒子跟随它并尽可能快地趋近于这个新区域;
步骤2-3-1、根据模糊隶属度函数和去模糊规则表,评估粒子群的状态;具体为:
(1)将进化因子f代入进化状态的模糊隶属度函数中,计算函数值,模糊隶属度函数图像如图3所示;
其中,模糊隶属度函数包括:
a)探索状态S1模糊隶属度函数:
Figure BDA0002229272730000091
b)开发状态S2模糊隶属度函数:
Figure BDA0002229272730000092
c)收敛状态S3模糊隶属度函数:
Figure BDA0002229272730000093
d)跳出状态S4模糊隶属度函数:
Figure BDA0002229272730000094
(2)根据上述(1)中计算出来的函数值,判断粒子群状态;若函数值为1个,则该函数对应的状态即为粒子群的进化状态;若同时存在多个非零函数值,则根据去模糊规则表判断粒子群的进化状态,去模糊规则表如下表1所示:
表1去模糊规则表
Figure BDA0002229272730000095
表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进行归一化,归一化方法如式:
Figure BDA0002229272730000101
d)针对跳出状态,减小c1和增大c2:当全局最佳粒子跳出局部最佳并朝向更好的最佳状态时,它可能远离拥挤群集。一旦这个新区域被一个粒子找到,这颗粒子就会成为(可能是新的)领导者,其他粒子应该跟随它并尽可能快地飞到这个新区域。较大的c2和相对较小的c1有助于实现这一目的。
(2)惯性因子ω调整策略:
粒子群优化中的惯性权重ω用于平衡全局和本地搜索功能。进化因子f与惯性权重ω具有一些特征,其中f在探索状态期间也相对较大并且在收敛状态下变得相对较小。因此,惯性因子ω随进化状态即随f的值变化而变化,令ω与f存在映射ω(f):
Figure BDA0002229272730000111
Figure BDA0002229272730000112
由于ω不一定随时间单调,而是随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服务器参数特征
Figure BDA0002229272730000121
表3服务器在不同负载级别的功耗(瓦特)
Figure BDA0002229272730000122
表4对比实验参数配置
Figure BDA0002229272730000123
表5虚拟机实例
Figure BDA0002229272730000124
在仿真实验中,本发明提出的虚拟机调度算法IPSO-VMSA与MBFD算法以及装箱问题近似算法First-Fit algorithm(FF)、Best-Fit algorithm(BF)的激活服务器总数对比结果如表6所示。
如表6可知,随着虚拟机请求的大小增加,本发明提出的方法总是激活最小数量的服务器,但FF算法始终激活最大数量的服务器。MBFD算法的激活服务器总数小于BF算法和FF算法,但激活的服务器总数多于本发明提出的算法。
表6激活服务器总数对比
Figure BDA0002229272730000125
Figure BDA0002229272730000131
由图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、构建最小能耗目标函数,具体为:
步骤1-1-1、计算服务器Pi的多维负载度
Figure FDA0004144049990000014
所用公式为:
Figure FDA0004144049990000011
其中,
Figure FDA0004144049990000012
式中,
Figure FDA0004144049990000013
分别代表服务器Pi的CPU利用率、内存使用率、硬盘占用率、网络带宽利用率;ω1、ω2、ω3、ω4分别为CPU能耗权重、内存能耗权重、硬盘能耗权重、网络带宽能耗权重;Pji∈{0,1},Pji=1表示虚拟机Vj被部署到服务器Pi上运行,Pji=0表示虚拟机Vj未被部署到服务器Pi上运行;设
Figure FDA0004144049990000021
分别表示服务器Pi的CPU计算能力
Figure FDA0004144049990000022
内存空间
Figure FDA0004144049990000023
硬盘空间
Figure FDA0004144049990000024
网络带宽
Figure FDA0004144049990000025
以及成本
Figure FDA0004144049990000026
分别表示虚拟机所需的CPU资源
Figure FDA0004144049990000027
内存空间
Figure FDA0004144049990000028
硬盘空间
Figure FDA0004144049990000029
网络带宽
Figure FDA00041440499900000210
虚拟机效用Rj={Rj1,...,Rji,...,Rjn},Rji表示虚拟机Vj分配到服务器Pi产生的效用值;
步骤1-1-2、对服务器Pi的多维度负载度
Figure FDA00041440499900000211
进行归一化处理,获得服务器Pi的多维度负载率UMDLi,所用公式为:
Figure FDA00041440499900000212
式中,
Figure FDA00041440499900000213
分别表示优化周期[t1,t2]内服务器Pi的多维负载度的最小值和最大值;
步骤1-1-3、根据多维度负载率
Figure FDA00041440499900000214
获取改进的服务器能耗模型:
Figure FDA00041440499900000215
Figure FDA00041440499900000216
Figure FDA00041440499900000217
式中,
Figure FDA00041440499900000218
为服务器Pi在负载率为
Figure FDA00041440499900000219
时的功率;
Figure FDA00041440499900000220
表示服务器Pi的多维负载率达到最高峰值时刻t的最大功耗;
Figure FDA00041440499900000221
表示服务器Pi在t时刻的多维负载率;c为一个常数,为服务器所消耗能量与峰值运行时的消耗能量的比值;Ei表示优化周期[t1,t2]内服务器Pi的能耗;E表示移动云中心所有服务器的能耗,单位为瓦特W;n表示移动云数据中心的服务器数量;Yi∈{0,1}表示服务器Pi是否处于激活状态,Yi=1,表示服务器Pi处于激活状态,Yi=0,表示服务器Pi处于关闭状态;
由此构建最小能耗目标函数为:
Figure FDA0004144049990000031
步骤1-2、构建最大效用目标函数,具体为:
根据移动云计算中心的效用计算公式:
Figure FDA0004144049990000032
式中,R表示移动云中心的效用,n表示云数据中心的服务器数量,m表示虚拟机数量;Rji表示虚拟机Vj在服务器Pi上运行产生的虚拟机效用;
Figure FDA0004144049990000033
表示服务器Pi的成本;
构建最大效用目标函数为:
Figure FDA0004144049990000034
步骤1-3、构建最小服务器数目标函数,具体为:
根据服务器数计算公式:
Figure FDA0004144049990000035
式中,NUMservers表示服务器数;
构建最小服务器数目标函数为:
Figure FDA0004144049990000036
步骤1-4、根据步骤1-1至步骤1-3的三个目标函数,结合约束条件,建立多目标优化的虚拟机调度模型VMSA-PSOEU为:
Figure FDA0004144049990000037
Figure FDA0004144049990000038
Figure FDA0004144049990000039
s.t
Figure FDA0004144049990000041
步骤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
Figure FDA0004144049990000042
式中,di为第i个粒子到其余i-1个粒子的平均距离,N为粒子群大小,D为维数,
Figure FDA0004144049990000053
为x(t)在第k维上的值,x(t)为粒子在t时刻的位置;
步骤2-2-2、根据所有粒子对应的平均距离di,计算进化因子f:
Figure FDA0004144049990000051
其中,dmax为所有平均距离中的最大值,dmin为所有平均距离中的最小值,dg为全局最优粒子的di
步骤2-3所述根据进化因子f的大小对粒子群的进化状态进行评估,具体为:
将粒子群的进化状态分类为:探索、开发、收敛和跳出四种状态;
a)探索状态S1为:粒子群体在整个解搜索空间大幅度运动以发现新的适应度值更优的区域;
b)开发状态S2为:粒子群体在局部解搜索空间小幅度运动以寻找适应度值更优的位置;
c)收敛状态S3为:粒子群体运动到全局最优解附近,以全局最优位置为中心快速收敛;
d)跳出状态S4为:当全局最佳粒子跳出局部最佳位置并朝向更好的最佳状态时,它会远离拥挤群集;一旦新区域被一个粒子找到,该粒子就会成为领导者,其他粒子跟随领导者并尽可能快地趋近于这个新区域;
步骤2-3-1、根据模糊隶属度函数和去模糊规则表,评估粒子群的进化状态;具体为:
(1)将进化因子f代入进化状态的模糊隶属度函数中,计算函数值;
其中,模糊隶属度函数包括:
a)探索状态S1模糊隶属度函数:
Figure FDA0004144049990000052
b)开发状态S2模糊隶属度函数:
Figure FDA0004144049990000061
c)收敛状态S3模糊隶属度函数:
Figure FDA0004144049990000062
d)跳出状态S4模糊隶属度函数:
Figure FDA0004144049990000063
(2)根据上述(1)中计算出来的函数值,判断粒子群状态;若函数值为1个,则该函数对应的状态即为粒子群的进化状态;若同时存在多个非零函数值,则根据去模糊规则表判断粒子群的进化状态,去模糊规则表如下表1所示:
表1去模糊规则表
Figure FDA0004144049990000064
表1中,F(f)表示模糊隶属度,St-1表示前一个状态,St表示当前状态的选取结果。
2.根据权利要求1所述的基于改进粒子群的移动云计算自适应虚拟机调度方法,其特征在于,步骤2-4所述参数调整策略具体为:
(1)加速因子c1、c2调整策略:
a)针对探索状态,增大c1和减小c2
b)针对开发状态,增大c1并减小c2
c)针对收敛状态,增大c1并增大c2
d)针对跳出状态,减小c1和增大c2
(2)惯性因子ω调整策略:
惯性因子ω随进化状态即随f的值变化而变化,令ω与f存在映射ω(f):
Figure FDA0004144049990000071
Figure FDA0004144049990000072
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)内一致分布的随机数。
CN201910962067.6A 2019-10-11 2019-10-11 基于改进粒子群的移动云计算自适应虚拟机调度方法 Active CN110795208B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011110026A1 (zh) * 2010-10-29 2011-09-15 华为技术有限公司 一种实现数据中心资源负载均衡的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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