CN107491341A - 一种基于粒子群优化的虚拟机分配方法 - Google Patents

一种基于粒子群优化的虚拟机分配方法 Download PDF

Info

Publication number
CN107491341A
CN107491341A CN201710770929.6A CN201710770929A CN107491341A CN 107491341 A CN107491341 A CN 107491341A CN 201710770929 A CN201710770929 A CN 201710770929A CN 107491341 A CN107491341 A CN 107491341A
Authority
CN
China
Prior art keywords
mrow
particle
virtual machine
msubsup
msub
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.)
Granted
Application number
CN201710770929.6A
Other languages
English (en)
Other versions
CN107491341B (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.)
Fuzhou University
Original Assignee
Fuzhou University
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 Fuzhou University filed Critical Fuzhou University
Priority to CN201710770929.6A priority Critical patent/CN107491341B/zh
Publication of CN107491341A publication Critical patent/CN107491341A/zh
Application granted granted Critical
Publication of CN107491341B publication Critical patent/CN107491341B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • 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

本发明涉及云计算(IaaS)技术领域,特别是一种基于粒子群优化的虚拟机分配方法,包括如下步骤:获取数据中心的虚拟机请求和物理主机资源,构建虚拟机列表和物理主机列表;初始化粒子群,设置粒子群算法的参数;计算粒子群中每个粒子的适应度值,根据粒子适应度值,记录个体历史最优粒子和种群最优粒子;根据更新策略,更新每个粒子的速度和位置;判断是否满足最大迭代次数,是则输出全局最优粒子编码,否则继续迭代;将全局最优粒子编码解码成虚拟机分配方案,并输出方案。该方法能够在减小响应时间下提高资源利用率,同时在负载均衡度和能耗之间达到了更好的平衡。

Description

一种基于粒子群优化的虚拟机分配方法
技术领域
本发明涉及云计算(IaaS)技术领域,特别是一种基于粒子群优化的虚拟机分配方法。
背景技术
云计算作为一种新型的商业服务模式,正在逐渐成为计算机产业的重要发展方向,越来越受到研究人员和大众的关注。随着云技术的发展和数据中心规模的剧增,如何提高资源利用率、减小响应时间等等,是云计算平台管理者需要考虑的重要问题,而虚拟机部署优化是解决提升资源利用率和减小响应时间的关键问题之一。在云计算模式下,用户向数据中心申请一组虚拟机,并指明各个虚拟机请求各种资源的大小,数据中心运用虚拟机部署策略,为这组虚拟机选择合适的服务器运行。
作为IaaS的重要组成部分,虚拟机部署的相关研究吸引了众多专家和学者的密切关注,其所关注的优化目标各不相同,一些研究工作关注如何提高资源利用率问题、如何降低能耗问题,另一些研究工作则关注负载均衡、系统性能等方面。根据所采用策略的不同,大致可以分为基于最佳适应递减的方法、基于启发式规则的方法、基于群体智能优化的方法等。
最佳适应算法(Best Fit)是从服务器列表中找出满足虚拟机资源要求的,且空闲资源大小最小的物理主机分配给虚拟机。Sayeedkhan P N等提出了一种基于I/O负载的虚拟部署算法和一种基于静态磁盘阈值的迁移算法用于优化虚拟机的性能,该方法按照虚拟机资源需求的大小递减排序,将其放置到合适的物理主机。Wang S H等提出了一种节能和QoS感知的虚拟机部署算法(Energy-efficient and Qos-aware Virtual MachinePlacement,EQVMP),该算法虽提高了系统的吞吐量,然而计算时间长。基于这类方法的算法,虽做到了最佳适应,但耗时相对较长,资源利用率较低。
虚拟机部署优化是典型的NP问题,研究人员基于启发式规则提出了多种部署优化算法。Lucas Simarro等提出了一种基于资源平均价格或价格趋势的调度模型,该调度模型优化虚拟机集群部署,减少用户投资,同时也考虑用户性能要求。Li X等提出了一种基于多维空间分布模型优化能耗的算法,该模型将多维空间划分成可接受区域、安全区域、危险区域三个区域,根据服务器的状态所处区域,决定是否开启新机。Nguyen Van H等提出了一种基于资源碎片最小的调度算法,虽然数据中心的资源利用率有所提高,但忽略了响应时间增加的问题。
随着群体智能技术的发展,遗传算法、粒子群算法、蚁群算法等也广泛应用于虚拟机部署优化上。Jing Xu等提出了一种结合模糊规则的改进遗传算法用于解决多目标优化问题,该算法以提高资源利用率和降低能耗为优化目标。Gao Y等提出了一种基于帕累托解集的多目标蚁群算法,该算法以提高资源利用率和降低能耗为优化目标。Yang Jing等提出了一种多种群高斯学习粒子群优化算法用于解决负载均衡问题,然而该算法未考虑能耗优化问题。上述方法应用于虚拟机部署优化问题上,取得了一定的效果,但是也存在收敛性不佳以及参数敏感等问题。
上述研究工作大多关注能耗优化问题,忽略了在优化资源利用率的同时,容易出现违反用户服务等级的问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于粒子群优化的虚拟机分配方法,该方法有利于提高资源利用率和减少响应时间,同时在负载均衡度和能耗之间达到了更好的平衡。
为实现上述目的,本发明的技术方案是:一种基于粒子群优化的虚拟机分配方法,所述方法包括如下步骤:
步骤A:获取数据中心的虚拟机请求和物理主机资源,构建虚拟机列表和物理主机列表;
步骤B:初始化粒子群,粒子的维数等于虚拟机列表长度,粒子中每一维的值等于从物理主机列表中选择的主机的编号;设置粒子群算法参数,包括粒子数量、惯性因子、认知能力因子、社会学习因子、迭代次数、种群规模、粒子维数、粒子速度控制范围;
步骤C:计算粒子群中每个粒子的适应度值,根据粒子的适应度值,记录个体历史最优粒子和种群最优粒子;
步骤D:根据更新策略,更新每个粒子的速度和位置;
步骤E:判断是否满足最大迭代次数,是则输出全局最优粒子编码,并转下一步,否则返回步骤C,继续迭代;
步骤F:将全局最优粒子编码解码成虚拟机分配方案并输出。
进一步地,所述步骤C中,计算每个粒子的适应度值,具体包括以下步骤:
步骤C1:计算每个粒子所表示的虚拟机分配方案的物理资源利用率大小;
步骤C2:计算每台虚拟机的响应时间然后对所有虚拟机的响应时间采用Z-score标准化方法进行归一化处理;
步骤C3:计算每个粒子所表示的虚拟机分配方案的响应时间;
步骤C4:计算每个粒子的适应度值,适应度值为粒子所表示的虚拟机分配方案的物理资源利用率和响应时间的加权和。
进一步地,所述步骤C1中,粒子所表示的虚拟机分配方案的物理资源利用率大小Fres_rate的计算公式为:
其中,M表示物理主机数量,Use_Ratem表示物理主机m的资源利用率大小,其计算公式为:
其中,K表示资源类型数量,表示物理主机m的第k种资源的使用率,其计算公式为:
其中,Cm,k表示第m台物理主机的第k种资源的容量大小;表示第m台物理主机上的所有虚拟机的第k种资源需求大小总量,其计算公式为:
其中,N表示虚拟机数量;An,m为分配矩阵,若第n台虚拟机分配到第m台服务器,则An,m=1,否则An,m=0;Rn,k表示第n台虚拟机所需第k种资源的大小。
进一步地,所述步骤C2中,虚拟机的响应时间的计算公式为:
其中,Rn,ram表示第n台虚拟机所需内存资源的大小,表示第n台虚拟机所在的第m台物理机上的内存已使用大小;
对所有虚拟机的响应时间采用Z-score标准化方法进行归一化处理:
其中,μ和σ分别表示虚拟机响应时间的均值和标准差,其计算公式分别为:
进一步地,所述步骤C3,粒子所表示的虚拟机分配方案的响应时间Fresp_time的计算公式为:
进一步地,所述步骤C4,粒子的适应度值Fgoal的计算公式为:
Fgoal=α×Fres_rate+β×Fresp_time
其中,α、β表示粒子所表示的虚拟机分配方案的物理资源利用率和响应时间的权重,α+β=1,0≤α,β≤1。
进一步地,所述步骤D中,根据更新策略,更新每个粒子的速度和位置,包括以下步骤:
步骤D1:更新粒子的速度,其计算公式为:
vij(t+1)=wt·vij(t)+c1·r1·(pbestij(t)-xij(t))+c2·r2·(gbestj(t)-xij(t))
其中,vij(t+1)表示第t+1次迭代时粒子的速度,vij(t)、xij(t)、pbestij(t)、gbestj(t)分别表示第t次迭代时粒子的速度、位置、个体最优粒子位置、种群最优粒子位置,c1、c2是学习因子,r1、r2是介于(0,1)之间的随机数,wt是惯性因子,其计算公式为:
其中,MAX_ITERATION是迭代次数,wmax,wmin为算法输入参数,表示惯性权重的上下限,t表示第t次迭代;
步骤D2:更新粒子的位置,其计算公式为:
xij(t+1)=xij(t)+vij(t+1)
其中,xij(t+1)、vij(t+1)分别表示第t+1次迭代时粒子的位置和速度,xij(t)表示第t次迭代时粒子的位置;
步骤D3:判断粒子是否满足变异概率,其方法是:利用Rand()函数随机生成[0,1.0]之间的实数,判断是否小于设定的变异概率,是则转步骤D4,否则转步骤D5;
步骤D4:对粒子运用变异策略;
步骤D5:对粒子进行编码;
步骤D6:采用解码法解决资源约束不满足的情况;
步骤D7:比较Xi和Xi_new的适应度,选择适应度值较大的粒子继续迭代。
进一步地,所述步骤D4中,对粒子运用变异策略,其方法为:随机选择粒子Xi的两个维度(xij,xik),在(xij,…,xik)之间进行互相交换,结果为(xik,xik-1,…,xij+1,xij),得到新粒子
进一步地,所述步骤D5中,对粒子进行编码,其方法为:将Xi=(xi1,xi2,…,xin)中元素按照xij的值升序排列,得到Xi的索引序列;按照得到的索引序列顺序,对该索引值对应的粒子维度进行编码,其编码公式为:
xij_new=|Floor(xij)|mod M
其中,Floor()是取整函数,mod M表示模操作,保证粒子为有效的物理主机编码,M为物理主机数量。
进一步地,所述步骤D6中,采用解码法解决资源约束不满足的情况,其方法为:遍历xij_new的下一台物理机,直到找到一台满足资源约束的物理主机,更新此台物理主机编号为xij_new的值,其计算公式为:
(xij_new++)mod M。
相较于现有技术,本发明的有益效果是:提高了资源利用率和减少响应时间,引入变异算子加速粒子收敛,避免粒子陷入局部最优,从而获得更好的虚拟机分配方案。该方法可以实现虚拟机初始化部署,并能够在一定程度下降低能耗。
附图说明
图1是本发明实施例的流程图。
图2是本发明实施例中更新策略的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的说明。
图1是本发明基于粒子群优化的虚拟机分配方法的流程图。如图1所示,本发明方法包括如下步骤:
步骤A:获取数据中心的虚拟机请求和物理主机资源,构建虚拟机列表和物理主机列表。
步骤B:初始化粒子群,粒子的维数等于虚拟机列表长度,粒子中每一维的值等于从物理主机列表中选择的主机的编号。设置粒子群算法的参数,包括粒子数量、惯性因子、认知能力因子、社会学习因子、迭代次数、种群规模、粒子维数、粒子速度控制范围。具体包括以下步骤:
步骤B1:初始化粒子速度,其计算公式为:
vij(O)=vmin+Rand()*(vmax-vmin)
其中,vmax、vmin分别表示粒子最大、最小速度值,Rand()表示生成[0,1.0]之间的随机实数,小数点保留一位;
步骤B2:初始化粒子位置,其计算公式为:
xij(0)=RandInt(pmNum)
其中,pmNum表示物理主机数量,物理主机编号从0开始,RandInt(pmNum)表示生成0至pmNum-1之间的随机整数;若xij(0)违反资源约束条件,则重新调用RandInt()函数,直到满足资源约束为止。
这里资源约束条件是说:分配到该物理主机的虚拟机,其对各类型资源的需求大小不能超过物理主机的对应类型资源的可用大小。
步骤C:计算粒子群中每个粒子的适应度值,根据粒子的适应度值,记录个体历史最优粒子和种群最优粒子。
在本实施例中,计算每个粒子的适应度值,具体包括以下步骤:
步骤C1:计算每个粒子所表示的虚拟机分配方案的物理资源利用率大小。粒子所表示的虚拟机分配方案的物理资源利用率大小Fres_rate的计算公式为:
其中,M表示物理主机数量,Use_Ratem表示物理主机m的资源利用率大小,其计算公式为:
其中,K表示资源类型数量,表示物理主机m的第k种资源的使用率,其计算公式为:
其中,Cm,k表示第m台物理主机的第k种资源的容量大小;表示第m台物理主机上的所有虚拟机的第k种资源需求大小总量,其计算公式为:
其中,N表示虚拟机数量;An,m为分配矩阵,若第n台虚拟机分配到第m台服务器,则An,m=1,否则An,m=0;Rn,k表示第n台虚拟机所需第k种资源的大小。
步骤C2:计算每台虚拟机的响应时间虚拟机的响应时间的计算公式为:
其中,Rn,ram表示第n台虚拟机所需内存资源的大小,表示第n台虚拟机所在的第m台物理机上的内存已使用大小。虚拟化技术的应用使得多台虚拟机可以共享同台物理机,虽然CPU资源是独立响应,但是CPU缓存却是共享的。由于缓存大小限制,虚拟机的工作并不是全部独立,故那些内存需求大的虚拟机会因为CPU缓存容量不够导致其响应时间增加。
对所有虚拟机的响应时间采用Z-score标准化方法进行归一化处理,其具体做法是:
其中,μ和σ分别表示虚拟机响应时间的均值和标准差,其计算公式分别为:
步骤C3:计算每个粒子所表示的虚拟机分配方案的响应时间。粒子所表示的虚拟机分配方案的响应时间Fresp_time的计算公式为:
步骤C4:计算每个粒子的适应度值,适应度值为粒子所表示的虚拟机分配方案的物理资源利用率和响应时间的加权和。粒子的适应度值Fgoal的计算公式为:
Fgoal=α×Fres_rate+β×Fresp_time
其中,α、β表示粒子所表示的虚拟机分配方案的物理资源利用率和响应时间的权重,α+β=1,0≤α,β≤1。
步骤D:根据更新策略,更新每个粒子的速度和位置。图2是本发明实施例中更新策略的实现流程图。如图2所示,更新策略具体包括如下步骤:
步骤D1:更新粒子的速度,其计算公式为:
vij(t+1)=wt·vij(t)+c1·r1·(pbestij(t)-xij(t))+c2·r2·(gbestj(t)-xij(t))
其中,vij(t+1)表示第t+1次迭代时粒子的速度,vij(t)、xij(t)、pbestij(t)、gbestj(t)分别表示第t次迭代时粒子的速度、位置、个体最优粒子位置、种群最优粒子位置,c1、c2是学习因子,r1、r2是介于(0,1)之间的随机数,wt是惯性因子,其计算公式为:
其中,MAX_ITERATION是迭代次数,wmax,wmin为算法输入参数,表示惯性权重的上下限,t表示第t次迭代。
步骤D2:更新粒子的位置,其计算公式为:
xij(t+1)=xij(t)+vij(t+1)
其中,xij(t+1)、vij(t+1)分别表示第t+1次迭代时粒子的位置和速度,xij(t)表示第t次迭代时粒子的位置。
步骤D3:判断粒子是否满足变异概率,其方法是:利用Rand()函数随机生成[0,1.0]之间的实数,判断是否小于设定的变异概率,是则转步骤D4,否则转步骤D5。
步骤D4:对粒子运用变异策略。其方法为:随机选择粒子Xi的两个维度(xij,xik),在(xij,...,xik)之间进行互相交换,结果为(xik,xik-1,...,xij+1,xij),得到新粒子
步骤D5:对粒子进行编码。其方法为:将Xi=(xi1,xi2,...,xin)中元素按照xij的值升序排列,得到Xi的索引序列;按照得到的索引序列顺序,对该索引值对应的粒子维度进行编码,其编码公式为:
xij_new=|Floor(xij)|mod M
其中,Floor()是取整函数,mod M表示模操作,保证粒子为有效的物理主机编码,M为物理主机数量。
举例说明:若有7台虚拟机请求,其编号是(0,1,2,3,4,5,6),5台物理主机,其编号是(0,1,2,3,4),则粒子的编码示例如下表所示。
在编码过程中,若出现xij_new不满足资源约束条件,则转到步骤D6。
步骤D6:采用解码法解决资源约束不满足的情况。其方法为:遍历xij_new的下一台物理机,直到找到一台满足资源约束的物理主机,更新此台物理主机编号为xij_new的值,其计算公式为:
(xij_new++)mod M。
步骤D7:比较Xi和Xi_new的适应度,选择适应度值较大的粒子继续迭代。
步骤E:判断是否满足最大迭代次数,是则输出全局最优粒子编码,并转下一步,否则返回步骤C,继续迭代。
步骤F:将全局最优粒子编码解码成虚拟机分配方案并输出。
本发明基于粒子群优化的虚拟机分配方法,综合考虑资源利用率和响应时间,给出了一种新颖的结合变异算子的改进粒子群算法,之后以优化提高资源利用率和减少响应时间为目标,得到虚拟机部署方案。综上,本发明方法能够提高资源利用率和减少响应时间,并在一定程度上降低能耗。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (10)

1.一种基于粒子群优化的虚拟机分配方法,其特征在于,包括如下步骤:
步骤A:获取数据中心的虚拟机请求和物理主机资源,构建虚拟机列表和物理主机列表;
步骤B:初始化粒子群,粒子的维数等于虚拟机列表长度,粒子中每一维的值等于从物理主机列表中选择的主机的编号;设置粒子群算法参数,包括粒子数量、惯性因子、认知能力因子、社会学习因子、迭代次数、种群规模、粒子维数、粒子速度控制范围;
步骤C:计算粒子群中每个粒子的适应度值,根据粒子的适应度值,记录个体历史最优粒子和种群最优粒子;
步骤D:根据更新策略,更新每个粒子的速度和位置;
步骤E:判断是否满足最大迭代次数,是则输出全局最优粒子编码,并转下一步,否则返回步骤C,继续迭代;
步骤F:将全局最优粒子编码解码成虚拟机分配方案并输出。
2.根据权利要求1所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤C中,计算每个粒子的适应度值,具体包括以下步骤:
步骤C1:计算每个粒子所表示的虚拟机分配方案的物理资源利用率大小;
步骤C2:计算每台虚拟机的响应时间然后对所有虚拟机的响应时间采用Z-score标准化方法进行归一化处理;
步骤C3:计算每个粒子所表示的虚拟机分配方案的响应时间;
步骤C4:计算每个粒子的适应度值,适应度值为粒子所表示的虚拟机分配方案的物理资源利用率和响应时间的加权和。
3.根据权利要求2所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤C1中,粒子所表示的虚拟机分配方案的物理资源利用率大小Fres_rate的计算公式为:
<mrow> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mo>_</mo> <mi>r</mi> <mi>a</mi> <mi>t</mi> <mi>e</mi> </mrow> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mi>U</mi> <mi>s</mi> <mi>e</mi> <mo>_</mo> <msub> <mi>Rate</mi> <mi>m</mi> </msub> </mrow>
其中,M表示物理主机数量,Use_Ratem表示物理主机m的资源利用率大小,其计算公式为:
<mrow> <mi>U</mi> <mi>s</mi> <mi>e</mi> <mo>_</mo> <msub> <mi>Rate</mi> <mi>m</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>k</mi> </mfrac> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msubsup> <mi>Res</mi> <mrow> <mi>u</mi> <mi>s</mi> <mi>e</mi> <mo>_</mo> <mi>r</mi> <mi>a</mi> <mi>t</mi> <mi>e</mi> </mrow> <mrow> <mi>m</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> </mrow>
其中,K表示资源类型数量,表示物理主机m的第k种资源的使用率,其计算公式为:
<mrow> <msubsup> <mi>Res</mi> <mrow> <mi>u</mi> <mi>s</mi> <mi>e</mi> <mo>_</mo> <mi>r</mi> <mi>a</mi> <mi>t</mi> <mi>e</mi> </mrow> <mrow> <mi>m</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>=</mo> <msubsup> <mi>Res</mi> <mrow> <mi>u</mi> <mi>s</mi> <mi>e</mi> </mrow> <mrow> <mi>m</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>/</mo> <msub> <mi>C</mi> <mrow> <mi>m</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> </mrow>
其中,Cm,k表示第m台物理主机的第k种资源的容量大小;表示第m台物理主机上的所有虚拟机的第k种资源需求大小总量,其计算公式为:
<mrow> <msubsup> <mi>Res</mi> <mrow> <mi>u</mi> <mi>s</mi> <mi>e</mi> </mrow> <mrow> <mi>m</mi> <mo>,</mo> <mi>k</mi> </mrow> </msubsup> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mrow> <mi>n</mi> <mo>,</mo> <mi>m</mi> </mrow> </msub> <mo>*</mo> <msub> <mi>R</mi> <mrow> <mi>n</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
其中,N表示虚拟机数量;An,m为分配矩阵,若第n台虚拟机分配到第m台服务器,则An,m=1,否则An,m=0;Rn,k表示第n台虚拟机所需第k种资源的大小。
4.根据权利要求3所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤C2中,虚拟机的响应时间的计算公式为:
<mrow> <msubsup> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>p</mi> <mi>o</mi> <mi>n</mi> <mi>s</mi> <mi>e</mi> </mrow> <mi>n</mi> </msubsup> <mo>=</mo> <msub> <mi>R</mi> <mrow> <mi>n</mi> <mo>,</mo> <mi>r</mi> <mi>a</mi> <mi>m</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>R</mi> <mrow> <mi>n</mi> <mo>,</mo> <mi>r</mi> <mi>a</mi> <mi>m</mi> </mrow> </msub> <mo>&amp;times;</mo> <msubsup> <mi>Ram</mi> <mrow> <mi>u</mi> <mi>s</mi> <mi>e</mi> </mrow> <mi>m</mi> </msubsup> </mrow>
其中,Rn,ram表示第n台虚拟机所需内存资源的大小,表示第n台虚拟机所在的第m台物理机上的内存已使用大小;
对所有虚拟机的响应时间采用Z-score标准化方法进行归一化处理:
<mrow> <msubsup> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>p</mi> <mi>o</mi> <mi>n</mi> <mi>s</mi> <mi>e</mi> </mrow> <mi>n</mi> </msubsup> <mo>=</mo> <mfrac> <mrow> <mo>|</mo> <msubsup> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>p</mi> <mi>o</mi> <mi>n</mi> <mi>s</mi> <mi>e</mi> </mrow> <mi>n</mi> </msubsup> <mo>-</mo> <mi>&amp;mu;</mi> <mo>|</mo> </mrow> <mi>&amp;sigma;</mi> </mfrac> </mrow>
其中,μ和σ分别表示虚拟机响应时间的均值和标准差,其计算公式分别为:
<mrow> <mi>&amp;mu;</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msubsup> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>p</mi> <mi>o</mi> <mi>n</mi> <mi>s</mi> <mi>e</mi> </mrow> <mi>n</mi> </msubsup> <mo>,</mo> <mi>&amp;sigma;</mi> <mo>=</mo> <msqrt> <mrow> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>p</mi> <mi>o</mi> <mi>n</mi> <mi>s</mi> <mi>e</mi> </mrow> <mi>n</mi> </msubsup> <mo>-</mo> <mi>&amp;mu;</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>.</mo> </mrow>
5.根据权利要求4所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤C3,粒子所表示的虚拟机分配方案的响应时间Fresp_time的计算公式为:
<mrow> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>p</mi> <mo>_</mo> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> </mrow> </msub> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msubsup> <mi>T</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>p</mi> <mi>o</mi> <mi>n</mi> <mi>s</mi> <mi>e</mi> </mrow> <mi>n</mi> </msubsup> <mo>.</mo> </mrow>
6.根据权利要求5所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤C4,粒子的适应度值Fgoal的计算公式为:
Fgoal=α×Fres_rate+β×Fresp_time
其中,α、β表示粒子所表示的虚拟机分配方案的物理资源利用率和响应时间的权重,α+β=1,0≤α,β≤1。
7.根据权利要求1所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤D中,根据更新策略,更新每个粒子的速度和位置,包括以下步骤:
步骤D1:更新粒子的速度,其计算公式为:
vij(t+1)=wt·vij(t)+c1·r1·(pbestij(t)-xij(t))+c2·r2·(gbestj(t)-xij(t))
其中,vij(t+1)表示第t+1次迭代时粒子的速度,vij(t)、xij(t)、pbestij(t)、gbestj(t)分别表示第t次迭代时粒子的速度、位置、个体最优粒子位置、种群最优粒子位置,c1、c2是学习因子,r1、r2是介于(0,1)之间的随机数,wt是惯性因子,其计算公式为:
<mrow> <msub> <mi>w</mi> <mi>t</mi> </msub> <mo>=</mo> <msub> <mi>w</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <mfrac> <mrow> <msub> <mi>w</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>w</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> <mrow> <mi>M</mi> <mi>A</mi> <mi>X</mi> <mo>_</mo> <mi>I</mi> <mi>T</mi> <mi>E</mi> <mi>R</mi> <mi>A</mi> <mi>T</mi> <mi>I</mi> <mi>O</mi> <mi>N</mi> </mrow> </mfrac> <mo>&amp;times;</mo> <mi>t</mi> </mrow>
其中,MAX_ITERATION是迭代次数,wmax,wmin为算法输入参数,表示惯性权重的上下限,t表示第t次迭代;
步骤D2:更新粒子的位置,其计算公式为:
xij(t+1)=xij(t)+vij(t+1)
其中,xij(t+1)、vij(t+1)分别表示第t+1次迭代时粒子的位置和速度,xij(t)表示第t次迭代时粒子的位置;
步骤D3:判断粒子是否满足变异概率,其方法是:利用Rand()函数随机生成[0,1.0]之间的实数,判断是否小于设定的变异概率,是则转步骤D4,否则转步骤D5;
步骤D4:对粒子运用变异策略;
步骤D5:对粒子进行编码;
步骤D6:采用解码法解决资源约束不满足的情况;
步骤D7:比较Xi和Xi_new的适应度,选择适应度值较大的粒子继续迭代。
8.根据权利要求7所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤D4中,对粒子运用变异策略,其方法为:随机选择粒子Xi的两个维度(xij,xik),在(xij,…,xik)之间进行互相交换,结果为(xik,xik-1,…,xij+1,xij),得到新粒子
9.根据权利要求7所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤D5中,对粒子进行编码,其方法为:将Xi=(xi1,xi2,…,xin)中元素按照xij的值升序排列,得到Xi的索引序列;按照得到的索引序列顺序,对该索引值对应的粒子维度进行编码,其编码公式为:
xij_new=|Floor(xij)|mod M
其中,Floor()是取整函数,mod M表示模操作,保证粒子为有效的物理主机编码,M为物理主机数量。
10.根据权利要求9所述的一种基于粒子群优化的虚拟机分配方法,其特征在于,所述步骤D6中,采用解码法解决资源约束不满足的情况,其方法为:遍历xij_new的下一台物理机,直到找到一台满足资源约束的物理主机,更新此台物理主机编号为xij_new的值,其计算公式为:
(xij_new++)mod M。
CN201710770929.6A 2017-08-31 2017-08-31 一种基于粒子群优化的虚拟机分配方法 Expired - Fee Related CN107491341B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710770929.6A CN107491341B (zh) 2017-08-31 2017-08-31 一种基于粒子群优化的虚拟机分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710770929.6A CN107491341B (zh) 2017-08-31 2017-08-31 一种基于粒子群优化的虚拟机分配方法

Publications (2)

Publication Number Publication Date
CN107491341A true CN107491341A (zh) 2017-12-19
CN107491341B CN107491341B (zh) 2018-09-18

Family

ID=60645975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710770929.6A Expired - Fee Related CN107491341B (zh) 2017-08-31 2017-08-31 一种基于粒子群优化的虚拟机分配方法

Country Status (1)

Country Link
CN (1) CN107491341B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182109A (zh) * 2017-12-28 2018-06-19 福州大学 一种云环境下的工作流调度与数据分配方法
CN108469983A (zh) * 2018-04-02 2018-08-31 西南交通大学 一种云环境下的基于粒子群算法的虚拟机部署方法
CN108536517A (zh) * 2018-03-20 2018-09-14 深圳大学 云计算环境的部署方法、装置、设备及存储介质
CN109062657A (zh) * 2018-07-02 2018-12-21 南京邮电大学 基于粒子群优化的Docker容器调度方法
CN109165081A (zh) * 2018-08-15 2019-01-08 福州大学 基于机器学习的Web应用自适应资源配置方法
CN109714795A (zh) * 2019-01-24 2019-05-03 南京邮电大学 一种基于sdn网络切片的资源管理方法、资源管理系统以及装置
CN109982389A (zh) * 2019-03-05 2019-07-05 电子科技大学 一种基于多目标多臂赌博机在线学习的无线缓存方法
CN110442452A (zh) * 2019-07-31 2019-11-12 南京能迪电气技术有限公司 基于粒子群优化算法边缘计算终端硬件资源使用调度方法
CN110795208A (zh) * 2019-10-11 2020-02-14 南京航空航天大学 基于改进粒子群的移动云计算自适应虚拟机调度方法
CN110795204A (zh) * 2018-08-03 2020-02-14 西安电子科技大学 一种虚拟机部署方法及装置
CN111026498A (zh) * 2019-10-30 2020-04-17 烽火通信科技股份有限公司 一种多种群粒子群数据处理的云平台实现方法及装置
CN111124762A (zh) * 2019-12-30 2020-05-08 航天科工网络信息发展有限公司 一种基于改进粒子群算法的动态副本放置方法
CN111338765A (zh) * 2020-03-23 2020-06-26 武汉轻工大学 基于猫群算法的虚拟机部署方法、装置、设备及存储介质
CN111538597A (zh) * 2020-04-27 2020-08-14 贝壳技术有限公司 资源配置方法、装置、计算机可读存储介质及电子设备
CN113037811A (zh) * 2021-02-24 2021-06-25 中国联合网络通信集团有限公司 部署策略选择方法及装置
CN113296893A (zh) * 2021-05-29 2021-08-24 内蒙古工业大学 一种基于混合正弦余弦粒子群优化算法的云平台低资源损耗虚拟机放置方法
CN113360275A (zh) * 2020-03-06 2021-09-07 中移(上海)信息通信科技有限公司 资源调度方法、装置、设备和介质
CN116366658A (zh) * 2023-06-01 2023-06-30 天翼云科技有限公司 一种云计算负载均衡方法、系统
CN116991545A (zh) * 2023-09-28 2023-11-03 中航金网(北京)电子商务有限公司 虚拟机部署位置确定方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677957A (zh) * 2013-12-13 2014-03-26 重庆邮电大学 云数据中心基于多资源的高能效虚拟机放置方法
CN104536828A (zh) * 2014-12-26 2015-04-22 湖南强智科技发展有限公司 基于量子粒子群算法的云计算的任务调度方法和系统
CN105550033A (zh) * 2015-11-17 2016-05-04 北京交通大学 私有云环境下基于遗传禁忌混合算法的资源调度策略方法
CN105843689A (zh) * 2016-04-12 2016-08-10 合肥工业大学 虚拟机部署的方法和系统
WO2016127547A1 (zh) * 2015-02-09 2016-08-18 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677957A (zh) * 2013-12-13 2014-03-26 重庆邮电大学 云数据中心基于多资源的高能效虚拟机放置方法
CN104536828A (zh) * 2014-12-26 2015-04-22 湖南强智科技发展有限公司 基于量子粒子群算法的云计算的任务调度方法和系统
WO2016127547A1 (zh) * 2015-02-09 2016-08-18 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
CN105550033A (zh) * 2015-11-17 2016-05-04 北京交通大学 私有云环境下基于遗传禁忌混合算法的资源调度策略方法
CN105843689A (zh) * 2016-04-12 2016-08-10 合肥工业大学 虚拟机部署的方法和系统

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182109B (zh) * 2017-12-28 2021-08-31 福州大学 一种云环境下的工作流调度与数据分配方法
CN108182109A (zh) * 2017-12-28 2018-06-19 福州大学 一种云环境下的工作流调度与数据分配方法
CN108536517A (zh) * 2018-03-20 2018-09-14 深圳大学 云计算环境的部署方法、装置、设备及存储介质
CN108469983A (zh) * 2018-04-02 2018-08-31 西南交通大学 一种云环境下的基于粒子群算法的虚拟机部署方法
CN109062657A (zh) * 2018-07-02 2018-12-21 南京邮电大学 基于粒子群优化的Docker容器调度方法
CN110795204A (zh) * 2018-08-03 2020-02-14 西安电子科技大学 一种虚拟机部署方法及装置
CN110795204B (zh) * 2018-08-03 2022-11-18 西安电子科技大学 一种虚拟机部署方法及装置
CN109165081A (zh) * 2018-08-15 2019-01-08 福州大学 基于机器学习的Web应用自适应资源配置方法
CN109165081B (zh) * 2018-08-15 2021-09-28 福州大学 基于机器学习的Web应用自适应资源配置方法
CN109714795A (zh) * 2019-01-24 2019-05-03 南京邮电大学 一种基于sdn网络切片的资源管理方法、资源管理系统以及装置
CN109982389A (zh) * 2019-03-05 2019-07-05 电子科技大学 一种基于多目标多臂赌博机在线学习的无线缓存方法
CN110442452A (zh) * 2019-07-31 2019-11-12 南京能迪电气技术有限公司 基于粒子群优化算法边缘计算终端硬件资源使用调度方法
CN110795208B (zh) * 2019-10-11 2023-05-05 南京航空航天大学 基于改进粒子群的移动云计算自适应虚拟机调度方法
CN110795208A (zh) * 2019-10-11 2020-02-14 南京航空航天大学 基于改进粒子群的移动云计算自适应虚拟机调度方法
CN111026498A (zh) * 2019-10-30 2020-04-17 烽火通信科技股份有限公司 一种多种群粒子群数据处理的云平台实现方法及装置
CN111124762A (zh) * 2019-12-30 2020-05-08 航天科工网络信息发展有限公司 一种基于改进粒子群算法的动态副本放置方法
CN111124762B (zh) * 2019-12-30 2023-11-14 航天科工网络信息发展有限公司 一种基于改进粒子群算法的动态副本放置方法
CN113360275A (zh) * 2020-03-06 2021-09-07 中移(上海)信息通信科技有限公司 资源调度方法、装置、设备和介质
CN111338765A (zh) * 2020-03-23 2020-06-26 武汉轻工大学 基于猫群算法的虚拟机部署方法、装置、设备及存储介质
CN111338765B (zh) * 2020-03-23 2023-07-25 武汉轻工大学 基于猫群算法的虚拟机部署方法、装置、设备及存储介质
CN111538597A (zh) * 2020-04-27 2020-08-14 贝壳技术有限公司 资源配置方法、装置、计算机可读存储介质及电子设备
CN111538597B (zh) * 2020-04-27 2024-02-27 贝壳技术有限公司 资源配置方法、装置、计算机可读存储介质及电子设备
CN113037811A (zh) * 2021-02-24 2021-06-25 中国联合网络通信集团有限公司 部署策略选择方法及装置
CN113296893B (zh) * 2021-05-29 2022-09-02 内蒙古工业大学 一种基于混合正弦余弦粒子群优化算法的云平台低资源损耗虚拟机放置方法
CN113296893A (zh) * 2021-05-29 2021-08-24 内蒙古工业大学 一种基于混合正弦余弦粒子群优化算法的云平台低资源损耗虚拟机放置方法
CN116366658A (zh) * 2023-06-01 2023-06-30 天翼云科技有限公司 一种云计算负载均衡方法、系统
CN116366658B (zh) * 2023-06-01 2023-08-04 天翼云科技有限公司 一种云计算负载均衡方法、系统
CN116991545A (zh) * 2023-09-28 2023-11-03 中航金网(北京)电子商务有限公司 虚拟机部署位置确定方法及装置
CN116991545B (zh) * 2023-09-28 2024-02-09 中航国际金网(北京)科技有限公司 虚拟机部署位置确定方法及装置

Also Published As

Publication number Publication date
CN107491341B (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
CN107491341B (zh) 一种基于粒子群优化的虚拟机分配方法
CN104618269B (zh) 基于能耗要求的云系统利用率最大化资源分配方法
CN108182115A (zh) 一种云环境下的虚拟机负载均衡方法
CN102932279B (zh) 一种云环境数据中心多维资源调度方法
Chen et al. A multi-objective optimization for resource allocation of emergent demands in cloud computing
CN104902001B (zh) 基于操作系统虚拟化的Web请求负载均衡方法
CN109800071A (zh) 一种基于改进遗传算法的云计算任务调度方法
Fu et al. Task scheduling of cloud computing based on hybrid particle swarm algorithm and genetic algorithm
CN105391654A (zh) 基于账户活跃度的系统资源分配方法及装置
CN111966453B (zh) 一种负载均衡方法、系统、设备及存储介质
CN104023042B (zh) 云平台资源调度方法
CN107357652A (zh) 一种基于分段排序及标准差调整因子的云计算任务调度方法
Wei et al. Research on cloud design resources scheduling based on genetic algorithm
Chen et al. Scheduling independent tasks in cloud environment based on modified differential evolution
CN104537682A (zh) 一种医学影像的分割与调度方法
CN112559122A (zh) 一种基于电力专用安防设备的虚拟化实例管控方法及系统
CN107329826A (zh) 一种基于Cloudsim平台上的启发式融合资源动态调度算法
Qaddoum et al. Elastic neural network method for load prediction in cloud computing grid.
Fan et al. Research on improved 2D-BPSO-based VM-container hybrid hierarchical cloud resource scheduling mechanism
CN116647560A (zh) 物联网计算机集群协调优化控制方法、装置、设备及介质
CN113296893B (zh) 一种基于混合正弦余弦粒子群优化算法的云平台低资源损耗虚拟机放置方法
Yu [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment
CN110069319A (zh) 一种面向朵云资源管理的多目标虚拟机调度方法及系统
CN111966447B (zh) 一种基于双排列遗传算法的容器放置方法
Harris et al. Monte carlo based server consolidation for energy efficient cloud data centers

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180918

Termination date: 20210831