CN108009003A - 一种多目标虚拟机自适应位置选择方法、分布式云*** - Google Patents

一种多目标虚拟机自适应位置选择方法、分布式云*** Download PDF

Info

Publication number
CN108009003A
CN108009003A CN201711250474.1A CN201711250474A CN108009003A CN 108009003 A CN108009003 A CN 108009003A CN 201711250474 A CN201711250474 A CN 201711250474A CN 108009003 A CN108009003 A CN 108009003A
Authority
CN
China
Prior art keywords
population
virtual machine
individuals
physical
resource
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.)
Pending
Application number
CN201711250474.1A
Other languages
English (en)
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.)
HUNAN WOMEN'S UNIVERSITY
Original Assignee
HUNAN WOMEN'S 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 HUNAN WOMEN'S UNIVERSITY filed Critical HUNAN WOMEN'S UNIVERSITY
Priority to CN201711250474.1A priority Critical patent/CN108009003A/zh
Publication of CN108009003A publication Critical patent/CN108009003A/zh
Pending legal-status Critical Current

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Physiology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Genetics & Genomics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于云中虚拟机技术领域,公开了一种多目标虚拟机自适应位置选择方法、分布式云***,采用模糊逻辑控制参数,使用多维协同的适应度函数,优化求解的搜索空间;基于生物体免疫记忆机制,在位置选择过程中对于种群分别根据组和资源进行有序编码,结合ε占优精英策略进行种群更新;种群选择时使用锦标赛选择方法,通过单点算子交叉机制和X点变异操作对种群进行优化处理。本发明为验证该算法的性能,分别对PHM、NSG‑2、DRF、MOVMLSA算法进行模拟实验,实验结果表明基于免疫算子的多目标虚拟机位置选择算法在资源利用率、物理机负载平衡度和单位资源代价等方面具有很大的优势。

Description

一种多目标虚拟机自适应位置选择方法、分布式云***
技术领域
本发明属于云中虚拟机技术领域,尤其涉及一种多目标虚拟机自适应位置选择方法、分布式云***。
背景技术
目前随着网络应用服务的日益膨胀,亟待需要将信息技术架构以及各种资源进行高效整合,从而可以有效的进行物理资源的整体管控,提高资源利用率、降低单位资源利用成本。虚拟机技术是虚拟化领域的关键技术,目前已经被广泛应用到了分布式云中。云计算的快速普及以及广泛应用使得人们在逐渐接近有限的资源达到无限合理应用的目标。在这种模式下物理资源可以像日常生活中给汽车添加燃油和天然气一样,用户可以根据自己的需求去获取。但是用户需要在适当的接口选取,否则就会过多的消耗资源单位成本。那么如何选择最优的购买窗口就成为了一个关键且根本的问题,迫切需要得到合理解决。目前云平台中用户所需要的资源主要以虚拟机为资源粒度进行体现。因此,对资源进行查找的过程往往在整个平台中表现为对符合资源条件的虚拟机粒度资源的搜索。当然在整个的虚拟机调度过程中的有一个主要问题需要考虑,那就是由于用户不同,其所需要的任务服务级别也不同,在此条件下如何满足资源优化的同时较快的把虚拟机部署到对应的物理节点上。如果在虚拟资源分配的过程中,能够根据综合因素自动选择虚拟机所要依托的物理节点,那么物理资源利用率以及用户的满意度都将会有较大的提高。因此,作为虚拟机部署的关键问题,虚拟机位置选择是需要亟待需要解决的。将虚拟机迁移或放置到物理节点时,为虚拟机选择最合适的物理节点的过程称为虚拟机位置选择。可以把虚拟机到物理节点的合理映射归结为多维向量装箱问题,同时也属于NP-Hard问题。对于这类问题目前大多方式是采用启发式算法。目前云计算中关于虚拟机放置工作大多只是针对某一维度进行优化,例如,有的是考虑服务级目标的保证,有的是尽量减少物理节点的使用数量,有的是降低虚拟机迁移代价,有的是减少能源消耗等。但是这些目标的优化在某些情况下是不一致的甚至存在相互冲突。例如为了减少节点的使用数,会将虚拟机更紧凑地放置到数量更少的节点上,通过将闲置的节点关闭来节省能耗和管理开销,但这需要通过次数更多的虚拟机迁移来实现。但是若是以减少迁移为目标,则不可避免的会增加物理节点的使用个数。对于虚拟机初始化问题也即是虚拟机静态放置问题采用了传统的遗传算法进行处理,不足之处在于没有对虚拟机迁移过程中的开销进行计算。采用了随机装箱的处理方式对数据中心中虚拟机节点的资源整合问题进行处理,问题是没有考虑多维资源的因素,仅仅考虑的是CPU资源。提出了云计算中虚拟机放置主体流程,但是没有考虑用户最为关心的开销和***能耗问题。为了达到虚拟机调度过程中的资源均衡,首先收集云***中的历史相关数据以及***的当前资源利用状态,以此为根据结合遗传算法完成虚拟机的调度,这种方法可以达到较好的均衡效果和降低虚拟机迁移的概率,但是忽视了云平台中相关资源利用率和能量消耗问题。把虚拟机部署问题转换为资源多目标优化问题和装箱问题来处理,但是在处理问题的过程中忽视了虚拟机迁移的成本因素和动态部署问题。同样将虚拟机放置问题分解为装箱问题进行处理,但是也仅仅对虚拟机静态部署问题进行了考虑,没有涉及到虚拟机动态的迁移问题。因此,目前绝大部分虚拟机放置问题基本上都是将多维资源利用的多目标优化问题转化为若干个单目标优化问题分阶段来解决,同时针对多维度目标进行优化的工作比较少见,所以上述工作中绝大部分得到的是局部最优解。综上所述,云计算中虚拟机放置研究工作虽然取得了众多的研究成果,但是仍然存在以下几个主要问题:
(1)大多数往往在确定的数据中心中进行物理节点的选择,并没有从分布式云中选择最合适的数据中心。完整的虚拟机位置选择策略应该分为数据中心级和物理机级两级进行。这样肯定会影响虚拟机部署的按需部署,使得部署时间过长。
(2)在目前的大部分虚拟机放置中,主流方法是对某一个维度进行优化,往往获得的是局部最优解。从而得到的部署效果很多情况下不是用户最希望得到的结果。
(3)当前动态分配管理数据中心的虚拟与物理共享资源方面出现了很多新难题。例如,没有有效的虚拟机自适应位置选择框架。由于在选择虚拟机位置时必须综合的考虑***的性能、资源的成本、产生的消耗等因素的影响,这样就会使得问题更加复杂化。
综上所述,现有技术存在的问题是:现有的云计算中虚拟机放置方法存在没有从分布式云中选择最合适的数据中心;从而影响多维资源的合理使用。大部分状况下仅仅完成了对某一个维度进行优化,从而获得的是局部最优解,不能得到全局最优解;缺少有效的虚拟机自适应位置选择框架。
发明内容
针对现有技术存在的问题,本发明提供了一种多目标虚拟机自适应位置选择方法、分布式云***。
本发明是这样实现的,一种多目标虚拟机自适应位置选择方法,所述多目标虚拟机自适应位置选择方法采用模糊逻辑控制参数,使用多维协同的适应度函数,优化求解的搜索空间;基于生物体免疫记忆机制,在位置选择过程中对于种群分别根据组和资源进行有序编码,结合ε占优精英策略进行种群更新;种群选择时使用锦标赛选择方法,通过单点算子交叉机制和X点变异操作对种群进行优化处理。
进一步,选择放置的虚拟机集合V={v1,v2,v3,......,vm}是由m个虚拟机构成,在任意时刻虚拟机vj仅有一个任务完成tj,且虚拟机vj的第k个任务0≤j≤m包含q个不同维度的特征属性;虚拟机VM的任务产生率向量表示为W={w1,w2,w3,w4,...wj...,wm},0≤j≤m,其中wj表示第j个虚拟机vj的任务产生率,且各任务之间相互独立,如果资源ri能够满足任务tj的要求,那么tj就被分派到ri上去执行相应的操作;满足任务tj的资源ri也许有多个,任务tj以概率Pij分派到资源ri上;数据资源概率分配矩阵Pn×m=(Pij)n×m,且Pij≥0,云平台资源调度矩阵Sn×m=(Sij)n×m,虚拟机vj被分配到资源节点ri上时Sij=1,否则Sij=0;同时还需要满足下面条件:
进一步,在放置虚拟机时需要考虑优化的目标为:
优化目标的约束条件描述如下:
Ti,q表示物理机mi上资源q的门槛值,表示分配到物理机mi上的虚拟机vj上资源q的资源利用率;不等式(e)依次表示部署在物理机mi上得所有的虚拟机的CPU、内存、带宽、磁盘空间和I/O资源要不超过物理机mi本身的各类物理资源的总和;在x个虚拟机上分别部署用户的应用***P。
进一步,采用基于物品组的编码方式,采用随机法形成M个虚拟机,采用相应的启发式优先匹配算法将M个虚拟机按照一定的次序部署到相应的物理节点上,形成对应的染色体编码。
进一步,适应度函数为:
进一步,交叉算子采用基于组的双向链式编码方式来控制在物理节点上合理的部署虚拟机;交叉过程分为基于组编码的交叉过程和基于资源编码的交叉过程;
子个体的编码优化最大链长单点交叉的步骤以及主要优化交叉步骤如下:
(1)先随机选择两个父节点,父个体2中对应的组用父个体1中的当前最大双向链长的组来替换;
(2)从使用物理节点集合中删除交叉后的父个体2的重复的虚拟机所对应的物理节点,然后加入未使用物理节点集合,其上的虚拟机也要删除;
(3)保持父个体2的虚拟机双向链式结构,然后生成未分配的虚拟机序列;
(4)采用优先匹配启发式算法来重新分配之前没有分配的虚拟机序列,最终得到新的子个体;
(5)最后父个体1中对应的组全部用随机选取的父个体2中组来代替,按照(1)-(4)重新生成子个体2。
进一步,变异算子当出现变异时,删除一个虚拟机双向链表节点,变异操作发生时会将开启的物理节点集合中的随机选择的X个物理节点和部署的虚拟机删除,X<M/2,并加入未开启物理节点集合中;形成未分配的虚拟机序列;对未部署的虚拟机在相应的物理节点进行重新部署。
进一步,超体种群更新方法包括:
(1)如果当前是第一代,在初始种群中选取非支配个体,赋给个体种群;否则,从现在种群的非支配个体以及父代里找寻非支配抗体,赋给个体种群集合;对进行叠加后的大种群遵循支配关系开展分级排序,倘若等级数是n,非支配集合就表示为L1,L2,.......,Ln,并为新的非支配种群分配标识向量,标识向量相同的标记为同一个超体,标识向量用于超体的提取和识别;
(2)把每次的种群规模设定为M,判断若L1的个体数是否达到M,如果个体数达到M,那么则将L1集合的个体设定为下一代种群;
(3)L1集合中的个体数已经大于M,那么则删除L1集合中多余的目标极值,然后针对每一个个体计算其超体贡献度和抗体记忆信息两个指标,随后以标识向量信息为参考选择出贡献度最大的(n-2)个个体和两个目标极值的个体定为下一代种群Z(g+1);
(4)如果L1中的个体数比M小,那么将L1中所有的个体按照一定的次序放入到下一代种群Z(g+1)之中,然后将L1,L2,.......,Ln中的元素也加入到该种群中,一直延续到到Z(g+1)的规模数量达到M;如果Li中下一代种群规模超过了M,那么则计算Li中相同超体的向量个体的欧几里得距离,把欧几里得距离小的个体放入到下一代种群之中。
进一步,新的虚拟机位置选择算法包括:
(1)依照基于组的双向链式编码手段将父个体实施初始化操做,构建成大小为M的父种群;
(2)面向种群里面的个体实施适应度函数评估计算,实现评估之后对父种群个体实施ε非支配方式实施具体的排列,这样能够区分出种群里面个体的支配等级;
(3)根据锦标赛选取机制在以上两个种群里面先后选取两个体当成父个体,进而将选取出来的父个体实施改进式单点交叉,这样能够实现杂交个体的出现;
(4)对于形成的杂交个体利用智能变异创造出新的子个体,将这个自个体通过适应度函数实施评析,然后把子个体放置到子种群池里面;不断的进行这个步骤,目标是子种群大小达到M;
(5)在父种群以及子种群通过生物体免疫记忆种群更新方法选取出来最佳的M个个体当成下一代父种群;
(6)对新一代父种群多次进行(3)-(6),目标是达到演化条件,则算法终止。
本发明的另一目的在于提供一种利用所述多目标虚拟机自适应位置选择方法的分布式云***。
本发明的优点及积极效果为:本发明解决了基于多目标优化算法的虚拟机位置选择问题,结合虚拟机多维度资源的特征和多目标优化的特点,提出基于遗传记忆信息的多目标遗传算法,采用基于双向链表和分组的虚拟机分配链式编码和染色体评估函数,并根据编码重新设计了交叉算子和变异算子;同时为了提高种群的有效性,结合免疫因子来保证种群质量与多样性。
本发明高效的虚拟机位置选择策略考虑了多维度约束条件之间的依赖关系并进行综合权衡。更加具有针对性;采用高效的虚拟机位置选择算法,以适应不同用户的个性化需求。
本发明为验证该算法的性能,分别对PHM、NSG-2、DRF、MOVMLSA算法进行模拟实验,实验结果表明基于免疫算子的多目标虚拟机位置选择算法在资源利用率、物理机负载平衡度和单位资源代价等方面具有很大的优势。
附图说明
图1是本发明实施例提供的多目标虚拟机自适应位置选择方法流程图。
图2是本发明实施例提供的编码过程示意图。
图3是本发明实施例提供的交叉过程示意图。
图4是本发明实施例提供的变异图。
图5是本发明实施例提供的基于免疫记忆的虚拟机位置选择算法流程图。
图6是本发明实施例提供的资源利用率对比示意图。
图7是本发明实施例提供的开启的物理节点数量对比示意图。
图8是本发明实施例提供的负载不均衡度对比示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
物理资源成本、物理资源的分布状态以及多维度资源的分配方式是云中虚拟机部署的关键影响因素。针对虚拟机部署过程中虚拟机位置选择问题,本发明提出了一种改进的基于分组的双向链式多目标遗传算法(Multi-Object Virtual Machine LocationSelection Algorithm,MOVMLSA)。从多维资源协作的角度出发,采用模糊逻辑等控制参数,设计多维协同的适应度函数,优化求解的搜索空间。文中基于生物体免疫记忆机制,在位置选择过程中对于种群分别根据组和资源进行有序编码,结合ε占优精英策略进行种群更新。种群选择时使用锦标赛选择方法,进而通过改进的单点算子交叉机制和X点变异操作对种群进行优化处理,可以快速的获得虚拟机位置部署的最优解。实验结果表明该算法在减少物理机器使用个数、提高物理机器资源使用率、提高多维资源的协同利用程度和降低综合资源的单位成本等方面都有很大的优势。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的多目标虚拟机自适应位置选择方法包括以下步骤:
S101:采用基于多目标资源利用率的优化问题抽象成装箱问题,通过优化来确定虚拟机到物理机的合理位置映射;
S102:采用基于免疫记忆和双向链表结构,用于虚拟机位置选择种群更新的多目标遗传算法;
S103:在虚拟机和物理机编码的过程中利用了信息分组机制,通过这种机制类似规模的虚拟机可以被分配到合适的位置上。
下面结合具体实施例对本发明的应用原理作进一步的描述。
表1符号及意义
表2符号及意义
1、云平台中一般由若干个数据中心组成,本发明中假设有H个数据中心存在,那么所有数据中心中资源总和表示为某一个数据中心中由n个物理节点构成。R={r1,r2,r3......ri.....,rn}代表数据中心所有的资源之和,表示资源mi包含q个不同维度的特征属性。在一个服务周期L内,资源mi的可用服务时间服从泊松分布,并且各个资源之间是相互独立的,即满足,数据中心资源集合R中可用服务向量表示为S={s1,s2,......,sn},其中si(0≤i≤n)为资源ri的可用服务率。
所需要选择放置的虚拟机集合V={v1,v2,v3,......,vm}是由m个虚拟机构成。本发明假设在任意时刻虚拟机vj仅有一个任务完成tj,且虚拟机vj的第k个任务包含q个不同维度的特征属性。虚拟机VM的任务产生率向量表示为W={w1,w2,w3,w4,...wj...,wm},0≤j≤m,其中wj表示第j个虚拟机vj的任务产生率,且各任务之间相互独立,即如果资源ri能够满足任务tj的要求,那么tj就可以被分派到ri上去执行相应的操作。通常情况下能够满足任务tj的资源ri也许有多个,但是实际情况下为了实现资源的有效均衡分配,任务tj以一定概率Pij分派到资源ri上。那么数据资源概率分配矩阵Pn×m=(Pij)n×m,且Pij≥0,那么云平台资源调度矩阵Sn×m=(Sij)n×m。若虚拟机vj被分配到资源节点ri上时Sij=1,否则Sij=0。整个过程中同时还需要满足下面条件:
以微软虚拟机管理技术报告为参考标准,对物理服务器资源评价标准采用CPU、内存、网络带宽、磁盘以及I/O五项基本资源为衡量指标。问题描述如下。
(1)存在n个物理节点(M={m1,m2,m3,......,mn},n代表集群中物理节点的个数),并且它们的资源主要包括内存、CPU、磁盘、网络带宽以及I/O资源等。
(2)存在m个虚拟机需要得要有效放置(V={v1,v2,v3,......,vm},m表示集群中虚拟机的个数)。暂且假设这些虚拟机的资源需求包括内存、CPU、磁盘、网络带宽以及I/O资源等。
(3)需要找到用户所需要的虚拟机和实际物理机之间的合理性映射,这种映射要求既能够满足各个虚拟机的资源需求,又能够尽量减少使用的物理节点数量。同时还要保证该映射关系中,虚拟机所需要的各维度总资源不应超过它所放置的物理机节点上各维度的资源总量。
相关定义
定义1:最大资源矩阵
物理节点mi都能提供的最大资源向量其中表示mi提供的所有资源的最大数量,1≤i≤n。物理节点集合的剩余最大资源矩阵可以定义为:
定义2:资源需求矩阵
每一个虚拟机vj需要得到定量的资源才能进行有效执行,所需要的资源用向量表示。其中,表示vj需要q类资源的数量,其中1≤j≤m,在此前提下虚拟机集合的各维度资源需求矩阵定义如(3)所示:
定义3:资源开销
对需要的资源进行计费采用向量表示。其中表示从物理节点mi获得q类资源的开销,每个单位用元来表示。
定义4:vj到mi的映射矩阵:
在公式(4)中1≤i≤n,1≤j≤m,gij∈{0,1},处于第i行的gij表示vj是否放在物理节点mi上。gij=1表示Vj放在Pi上,否则gij=0。
定义4:资源总开销
假设xi∈{0,1}。如果xi=1,代表该物理节点上的虚拟机进行了迁移,否则没有迁移。假设S表示虚拟机迁移总次数,表示为若xi=1代表此虚拟机进行了迁移。按照上述定义那么每次放置虚拟机时资源所需要的总开销可以表示为Y,Y=FT×G×Ci
定义5:分配的虚拟机总量
物理节点上分配的虚拟机数量表示为pi∈{0,1}。如果pi=1,代表该物理节点上被分配了虚拟机,否则没有被分配。
定义6:物理机的均衡负载方差
表示所有物理机的均衡负载方差。Di表示第i维的方差值,q表示全部的维度数量。其中n表示为物理节点的数量。表示所有的物理节点第i维性能特征的平均值,性能特征为规范化的值,也就是说此大小就相当于物理节点中第i维资源的剩余分配量与i维总资源数量相除的结果,pij表示特定的物理节点mi的第i维的性能特征。
2、本发明在放置虚拟机时需要考虑优化的目标为:
优化目标的约束条件描述如下:
云平台中虚拟机上任意时刻所需要的各类资源总和不能超过物理节点所能提供的各维度物理资源的总和,同时也要保障每一个物理节点上部署的虚拟机所需要的各维度资源之和不能超过该物理节点所能提供的各维度物理资源总和。具体约束条件形式化表达如下所示:
不等式组(6)中,Ti,q表示物理机mi上资源q的门槛值。表示分配到物理机mi上的虚拟机vj上资源q的资源利用率。上述不等式(e)依次表示部署在物理机mi上得所有的虚拟机的CPU、内存、带宽、磁盘空间和I/O等资源要不超过物理机mi本身的各类物理资源的总和。在x个虚拟机上分别部署用户的应用***P,这样就可以在满足每个应用***的服务等级协议(SLAs)的情况下,由x个虚拟机提供给应用***P性能指标。根据虚拟机资源的监控状态,可以动态的调节设置虚拟机的个数。
3、染色体基因编码和评估函数
3.1编码方式
本发明主要采用基于物品组的编码方式,另外,提出了基于组的双向链式编码方法来解决组编码方式可能存在着组合冗余问题。
首先采用随机法形成M个虚拟机,然后采用相应的启发式优先匹配算法将M个虚拟机按照一定的次序部署到相应的物理节点上,从而形成对应的染色体编码。在假设N个物理节点能满足M个虚拟机的分配需的前提下,虚拟机部署初始按照下面过程进行,首先扫描已经开启的全部物理节点,并从第一个节点开始判断,如果这个节点上的综合资源能够满足此虚拟机的五维(CPU、内存、网络带宽、存储以及I/O)资源需求,那么就在此物理节点上部署一个虚拟机;如果不满足,就分别查询后面的物理节点资源状态,这样一直循环搜索到能够满足资源需求的物理节点。另外,当假设初始化时所有物理节点都处于未开启状态,那么当所有的物理点都不能满足要求时,就要先选取第一个物理节点然后在这里设置虚拟机。基于以上方法就可以在物理节点中设置合适的虚拟机。算法关键部分如算法如下:
阐述编码方法时,用M个虚拟机分配到N个物理节点作为例子,图2展示了基于组的双向链表链式编码方式。假设某时刻需要分配的虚拟机数量为M个,令它们的序列为1,2,3,......,m-1,m等,其中序列号是随机排列的。首先通过优先级算法进行虚拟机到物理机的初次分配,得到初次编码,然后再根据双线性链表的装箱方法来进行编码。
3.2评估函数
在完成装箱的过程中,启用的物理节点数量最少、客户所用资源的单位价格代价要低、应用***性能要高和物理节点低使用数量这四个目标是负载均衡要考虑的问题。一般通过适应度函数Fitfunction来衡量个体部署的有效性。本发明中的适应度函数定义了四个基本参数。其中第一个参数是按照已使用物理节点的负载方差来评估染色体负载性能,方差越小在当前所被占用的物理机节点的负载性能越好。第二个参数是保持最小的客户使用资源的代价。第三个参数评价染色体的耗能,主要是通过评估使用的物理节点个数,而一般开启的物理节点数量与耗能是正比的关系。第四个参数是物理机上某类资源的利用率要保证高。本发明定义的适应度函数为如下所示:
3.3演化算子设计
(1)交叉算子
采用基于组的双向链式编码方式来控制在物理节点上合理的部署虚拟机。该编码包括两类对象,第一类是物理节点编码,第二类是虚拟节点编码。虚拟机编码包含每个节点的前驱和后继。基于不同的分组和内部双向链式结构来表示染色体的基因。由于虚拟机序列是以随机方式出现,因此虚拟机序列长度没有采用固定长度的方式描述,此外,由于每个物理节点可以部署的虚拟机数量并不是固定的,因此会导致和交叉算子有关染色体长度也不固定,有可能随时会发生变化。
本发明的基因组成由物理机编码和虚拟机分组编码两部分共同组成。针对提出的编码方式本发明提出了一种最大双向链长单点交叉方法。通过交叉过程子孙后代可以更好的获得优秀的父代因子,从而可以产生更优质的后代。交叉过程一般分为基于组编码的交叉过程和基于资源编码的交叉过程,作用分别是使物理机器使用个数最少和最大化的使用物理机器资源。
图3展示了基于组编码的交叉过程(先优化编码,再进行交叉操作),其中子个体的编码优化最大链长单点交叉的步骤(针对上述优化个体种群)以及主要优化交叉步骤如下:
Stepa)先随机选择两个父节点,父个体2中对应的组用父个体1中的当前最大双向链长的组来替换;
Stepb)从使用物理节点集合中删除交叉后的父个体2的重复的虚拟机所对应的物理节点,然后加入未使用物理节点集合,其上的虚拟机也要删除;
Stepc)保持父个体2的虚拟机双向链式结构,然后生成未分配的虚拟机序列;
Stepd)采用优先匹配启发式算法来重新分配之前没有分配的虚拟机序列,最终得到新的子个体;
Stepe)最后父个体1中对应的组全部用随机选取的父个体2中组来代替,按照步骤Stepa)-Stepd)重新生成子个体2。
例如,以12个虚拟机4个物理机节点为例单点交叉方法如图3所示:
(2)变异算子
染色体变异情况主要有两种,即为基于双向链表的组编码变异和基于资源编码的变异,当出现变异时,可以删除一个虚拟机双向链表节点。但是,删除后此节点的前驱和后继都会发生修改。这两种变异操作的发生情况是没有规律可言的,它们可以以单独个体的形式发生也可以同时在某一时刻发生。变异操作发生时会将开启的物理节点集合中的随机选择的X(X<M/2)个物理节点和部署的虚拟机删除,并加入未开启物理节点集合中;然后形成未分配的虚拟机序列,当然必须在保留变异个体的虚拟机双向链式结构的前提下进行,最后一步是对未部署的虚拟机在相应的物理节点进行重新部署。其中,变异率可以给定X的取值范围,也可以通过实验来确定参数X的取值。多目标演化算法的性能与X的取值有关。在整个过程中需要注意两点。第一,借助交叉或者变异进行虚拟机部署的过程中,要保证的首要条件是物理机上各类资源的使用值不能大于所有类的资源门槛值。第二,在变异过程或者资源编码的交叉过程中,选中的虚拟机所需求资源值一定是小于交叉部分的物理机器资源剩余量的,否则无法达到理想的效果。如图4所示。
(3)相关定义和种群更新方法(记忆抗体种群的建立和更新)
ε支配关系是Pareto支配关系的弱化,具有多种概念形式。本发明中采用增加ε的形式,并且对于给定的ε∈Rki>0,其具体定义如下所示:
定义7:ε支配
假设f:Rm→Rk,x1,对ε∈Rki>0,称之为x1ε支配x2,当且仅当fi(x1)-εi≤fi(x2)并且fi(x1)-εi<fi(x2)记做x1≤εix2
定义8:ε-Pareto最优近似解集
集合Xa称为集合X的ε-Pareto最优解集近似,当且仅当对任意的x∈X都存在x'∈Xa,使得x'≤εx。
定义9:ε-Pareto解集
集合Xε称为集合X的ε-Pareto解集,当且仅当Xε为集合X的ε-Pareto最优解集近似,并且
定义10:免疫记忆
免疫***的一个关键特征同时也是最重要的特征是免疫记忆,具体表现为在一个生物体接触到了一类抗原之后,下一次再碰到同种抗原时抗体出现的潜伏期和第一次进行比较显著的变短,同时抗体的数量快速增多。这个由于一类抗原二次入侵机体所导致的比第一次免疫更强、亲和度明显变大的抗体的表现形式称作免疫记忆。
在处理过程中得到的非支配个体需要采用有效的存储方式来保存,在本发明中采用免疫记忆种群来进行非支配个体的保存。另外,记忆种群更新基于ε支配机制进行展开。对于包含m个目标函数的多目标优化问题,如果1≤fi≤K,(i=1,2,...,m),根据ε支配规则能够将目标空间划分成((K-1)/ε)m个超体,因为所有的超体只是具有一个个体,因此额外的个体需要从种群空间中删除。
为了使决策者实现对抗体的区分性,通过ε的支配机制维持种群的多样性是没有问题的,在实际环境里,管理者可以动态掌握ε向量的取值情况,所以想要让个体能够很好的分配辨识向量属于一种十分简单的对抗体生存区域进行划分的技术手段,把B(Xa)表示为一组向量,其具体表现形式为B(Xa)=(B1(Xa),B2(Xa),...,Bm(Xa)),其中Bi(Xa)=fi(Xa)/ε,(i=1,2,...,m)定义为抗体Xa∈Xf的辨识向量。将现在的记忆抗体种群通过MS(t)=(MS1,MS2,...,MSn)展现。出现种群开始交叉变异状况后能够产生下一代的子种群,把现在的种群和子种群进行叠加处理开展迅速的ε非支配排序,依照彼此间所具有的支配关系、个体种群记忆的抗体信息、欧几里得距离、和超体积贡献来生成下一代种群并进行相应的演化。下列描述了具体的超体种群更新机制,如图5所示:
(1)如果当前是第一代,就要在初始种群中选取非支配个体,赋给个体种群;否则,就要从现在种群的非支配个体以及父代里找寻非支配抗体,赋给个体种群集合。对进行叠加后的大种群遵循支配关系开展分级排序,倘若等级数是n,非支配集合就表示为L1,L2,.......,Ln,并为新的非支配种群分配标识向量,标识向量相同的标记为同一个超体,标识向量用于超体的提取和识别。
(2)首先把每次的种群规模设定为M,然后判断若L1的个体数是否达到M,如果个体数达到M,那么则将L1集合的个体设定为下一代种群。
(3)假如L1集合中的个体数已经大于M,那么则删除L1集合中多余的目标极值,然后针对每一个个体计算其超体贡献度和抗体记忆信息两个指标,随后以标识向量信息为参考选择出贡献度最大的(n-2)个个体和两个目标极值的个体定为下一代种群Z(g+1)。
(4)如果L1中的个体数比M小,那么将L1中所有的个体按照一定的次序放入到下一代种群Z(g+1)之中,然后将L1,L2,.......,Ln中的元素也加入到该种群中,这个过程一直延续到到Z(g+1)的规模数量达到M。但是如果Li中下一代种群规模超过了M,那么则计算Li中相同超体的向量个体的欧几里得距离,把欧几里得距离小的个体放入到下一代种群之中。
4、基于免疫记忆的虚拟机位置选择算法流程
本发明MOVMSLA算法将云计算资源分配的基本演化算子嵌入到SMS-EMOA中,则以SMS-EMOA(Multi-objective selection based on dominated hyper-volume)为基础,设计新的虚拟机位置选择算法。算法描述如下:
(1)依照基于组的双向链式编码手段将父个体实施初始化操做,构建成大小为M的父种群。
(2)面向种群里面的个体实施适应度函数评估计算,实现评估之后对父种群个体实施ε非支配方式实施具体的排列,这样能够区分出种群里面个体的支配等级。
(3)根据锦标赛选取机制在以上两个种群里面先后选取两个体当成父个体,进而将选取出来的父个体实施改进式单点交叉,这样能够实现杂交个体的出现。
(4)对于形成的杂交个体利用智能变异创造出新的子个体,进而将这个自个体通过适应度函数实施评析,然后把子个体放置到子种群池里面。不断的进行这个步骤,目标是子种群大小达到M。
(5)在父种群以及子种群通过生物体免疫记忆种群更新方法选取出来最佳的M个个体当成下一代父种群。
(6)对新一代父种群多次进行3-6步骤,目标是达到演化条件(实现最大迭代次数),则算法终止。
下面结合仿真和实验对本发明的应用效果作详细的描述。
通过仿真实验和一系列分析,得出了相应的实验结果。结果表明提出的基于免疫记忆的多目标虚拟机位置选择算法可以在合理进行虚拟机位置选择、提高资源利用率、减低资源成本以及资源使用有效性等多个方面都有积极的作用,具有一定的可行性和准确性。具体实验相关设置如下节描述。
为了验证提出的基于免疫***的多维虚拟机位置选择策略的遗传算法的性能,使用一组模拟实验集对优先匹配启发式(PHM)算法、经典的NSG-2算法、多维资源调度DRF算法和本发明提出的多目标演化算法进行模拟实验在物理机数量、物理机的负载平衡度和单位资源成本等方面比较它们的性能优劣。模拟实验平台基于澳大利亚墨尔本大学的云计算仿真平台CloudSim3.0进行搭建。
为实现该算法,需要在CloudSim基类的前提条件下对相应的类进行修改,设计相对应的继承类及方法。通过Host类得到各物理机现有的可用资源向量,从DataCenter类中获得虚拟机的需求资源向量。VMProvisioner类实现数据中心的主机到虚拟机的映射。VMAllocationPolicy抽象类用于完成虚拟机至物理节点上的选取流程中,利用公共类中AllocationHostForVm方法能够把指定的虚拟机部署至特定的物理节点上。利用制定自定义的继承类VMAllocationPolicy,完成根据免疫记忆的多目标遗传的云计算虚拟机分配算法,从而有效的把每个虚拟机放到应该放置的物理节点上面。利用上述方法将CloudSim中的类再进一步扩展,进而再一次的编译重写的所有类,最终实施实验,查看实验结果。
在改进的CloudSim3.0仿真实验平台中本实验模拟40个物理节点,每个节点装备两个处理器(Intel(R)Core(TM)i5-3317U1.7GHz),4G内存,8MBL2Cache,两块7200转500GB的磁盘,通过千兆以太网交换机连接所有节点。依次待分配的虚拟机数量为30,45,55,65,80个(虚拟机数量随机设定)。
表3 Cloudsim平台中虚拟机分配算法参数设计
在本实验中相应的种群规模和演化代数依次分别设置为50和1000,另外交叉率和变异率分别依次设置为0.6和0.01。一般情况下交叉率和变异率的取值对于实验结果往往有很大的影响。虽然在一般的遗传算法中交叉和变异率的值往往都是常数,但是在解决实际问题的过程中交叉和变异率往往很难确定。例如,若交叉率和变异率取值较小虽然使得个体更接近最优解,但是不能保证所得解就是全局最优解;反之,如果交叉率和变异率取值过大就会增加迭代次数,则很难保证局部的搜索能力,大大降低算法的收敛速度。本发明为了确定本次实验参数做了100次变异算子和收敛速度关系的实验,最终确定了交叉率和变异率的具体值。
表4虚拟机分配算法参数种群规模演化代数交叉率变异率
在上述实验参数的基础上进行了模拟实验,具体结果见表5。
表5四种算法性能对比表
为进一步分析表5中所示的各算法性能对比情况,在图6、图7、图8中展现了特别直观的数据实验结果对比图。由结果对比可以得出以下相对应的实验结论。在开启利用的物理机数量方面,本发明提出的MOVMLSA虚拟机部署算法所使用的物理节点数远远低于PHM和NSG-2算法需要启用的物理节点数量,但是并不比DRF的虚拟机部署算法所使用的物理节点数量少许多,二者基本持平。一般情况下物理节点占用数量与能耗成反比。在物理机节点集群的整体负载均衡性能方面,MOVMLSA算法的集群整体负载方差均小于其他三种算法的集群整体负载方差,负载方差与服务器集群负载均衡效果成反比。基于以上分析,可以得出MOVMLSA算法可以有效的减少物理服务器开启的数量,并且可以使物理机整体的负载均衡效果更好。
本发明通过五组独立的数据实验(本次实验中假设任务所需分配的虚拟机分别依次固定为30,45,55,65,80)来完成PHM,NSG-2,DRF和MOVMLSA算法在所需要开启的物理机数量,资源负载不平衡度以及各个物理资源利用率三个方面的对比分析。
(1)综合资源利用率对比分析:综合资源是指CPU、内存、网络以及I/O资源。从第一组到第五组的对比实验可知,当虚拟机数量参数发生变化时,PHM、NSG-2、DRF和MOVMLSA算法所占用的综合资源利用情况如图6所示。从图6中可以发现,在同样的虚拟机数量条件下,利用MOVMLSA算法分配虚拟机时物理资源利用率是最高的。当虚拟机数量依次从30调整到80时,利用MOVMLSA算法时的综合资源利用率分别比利用PHM、NSG-2和DRF算法高出10%-14%。因此,有上述结果可见MOVMLSA算法一定程度上中能够更好的使用综合资源,提高资源利用率,减少了物理节点的开启数量,进而达到了能耗节约的效果。
(2)所需要开启的物理机数量对比分析:实验一到实验五中当虚拟机数量参数变化时,PHM、NSG-2、DRF和MOVMLSA算法所需要的物理机的情况可以在图7中体现。从图7中可以发现当固定所需虚拟机数量时,MOVMLSA算法所需要开启的实际物理机数量是最少的。随着所需要放置的虚拟机数量逐渐增多,所需要开启的物理机数量也会逐渐增多。但是总体上而言MOVMLSA算法在同等条件下所需要开启的物理机数量是最少的。从实验数据得出在所需要的物理机资源方面,MOVMLSA算法比最耗费资源的PHM算法将近降低了35%-62%。相对于NSG-2,DRF算法也有很大程度的降低。在节约物理机数量方面,MOVMLSA算法具有很大的优势。
(3)负载不均衡度的比较分析:对比实验中,本发明采用的四种算法除了部署方法类型外,在资源门槛值、物理机器属性和虚拟机任务三个方面都保持了数据的高度一致,其中多目标位置选择算法中交叉概率和变异概率分别设为百分之六十和百分之一,最大遗传代数设置为一千。实验过程中记录了从30个虚拟机到80个虚拟机的部署过程。在本组对比实验中主要是对比固定的虚拟机数量情况下,不同的部署算法的负载均衡度的比较。具体比较结果如图8所示。实验表明,随着虚拟机数量的增加,本发明中的算法都会降低资源的不均衡度。从纵向对比而言,在同等条件下MOVMSLA算法相对于PHM、NSG-2和DRF不均衡度会降低0.03%-0.23%。说明MOVMLSA算法在资源平衡方面比其他三种算法有一些优势但是优势不是特别明显。其主要原因在于遗传算法参数的确定还有很多的不确定因素,在以后的工作中仍需要从优化参数设置方面结合算法本身特点加以改进。
本发明提出的多目标虚拟机位置选择问题是一种组合优化问题。然而在云计算平台中,组合的数量往往以指数级的数量增加。由于遗传算法本身可以有效并行地处理各个目标,从而优先排序处理问题可以被处理的很好,这是遗传算法在减小无效组合方面有很大的优势的原因,因此很适合利用它来求解多目标优化问题。MOVMLSA是基于免疫记忆的多目标位置选择算法也是属于遗传算法一种。因此,对于解决多目标组合优化问题是有效的。然而目前收敛速度缓慢已成为遗传算法研究中亟待解决的主要问题之一。为了提高遗传算法的收敛速度,MOVMLSA算法首先从各代种群中进行优秀个体的选择,对选择的优秀个体进行分析处理进行免疫信息的提取,然后对后代种群的个体概率性的进行免疫因子接种。免疫记忆在促进优秀模式的进一步繁殖、修复一些现有的优良模式方面具有很好的作用。通过免疫记忆信息和虚拟机种群之间进行有效促进,可以较好的提高MOVMLSA的收敛速度。MOVMLSA能够自动获取个体的免疫信息,而且免疫信息库随着种群的进化而动态更新。从而可以寻找可能包含最优解的子空间,提高整个算法的搜索效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多目标虚拟机自适应位置选择方法,其特征在于,所述多目标虚拟机自适应位置选择方法采用模糊逻辑控制参数,使用多维协同的适应度函数,优化求解的搜索空间;基于生物体免疫记忆机制,在位置选择过程中对于种群分别根据组和资源进行有序编码,结合ε占优精英策略进行种群更新;种群选择时使用锦标赛选择方法,通过单点算子交叉机制和X点变异操作对种群进行优化处理。
2.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,选择放置的虚拟机集合V={v1,v2,v3,......,vm}是由m个虚拟机构成,在任意时刻虚拟机vj仅有一个任务完成tj,且虚拟机vj的第k个任务包含q个不同维度的特征属性;虚拟机VM的任务产生率向量表示为W={w1,w2,w3,w4,...wj...,wm},0≤j≤m,其中wj表示第j个虚拟机vj的任务产生率,且各任务之间相互独立,如果资源ri能够满足任务tj的要求,那么tj就被分派到ri上去执行相应的操作;满足任务tj的资源ri也许有多个,任务tj以概率Pij分派到资源ri上;数据资源概率分配矩阵Pn×m=(Pij)n×m,且Pij≥0,云平台资源调度矩阵Sn×m=(Sij)n×m,虚拟机vj被分配到资源节点ri上时Sij=1,否则Sij=0;同时满足:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>t</mi> <mi>j</mi> </msub> <mo>&amp;le;</mo> <msub> <mi>s</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>n</mi> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>t</mi> <mi>j</mi> </msub> <mo>&amp;le;</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>s</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> </mrow>
3.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,在放置虚拟机时需要考虑优化的目标为:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <mi>&amp;mu;</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <mi>P</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>max</mi> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>q</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>Q</mi> </munderover> <msub> <mi>U</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>q</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>
优化目标的约束条件描述如下:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mo>(</mo> <mi>a</mi> <mo>)</mo> <mo>&amp;ForAll;</mo> <msub> <mi>r</mi> <mi>i</mi> </msub> <mo>&amp;Element;</mo> <mi>R</mi> <mo>,</mo> <munderover> <mi>I</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>r</mi> <mi>i</mi> </msub> <mo>=</mo> <mi>&amp;phi;</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <mi>b</mi> <mo>)</mo> <msubsup> <mi>&amp;Sigma;U</mi> <mrow> <mi>j</mi> <mo>,</mo> <mi>q</mi> </mrow> <mi>i</mi> </msubsup> <mo>&amp;le;</mo> <msub> <mi>T</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>q</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <mi>c</mi> <mo>)</mo> <mo>&amp;ForAll;</mo> <mi>q</mi> <mo>,</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>g</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;times;</mo> <msub> <mi>f</mi> <mi>j</mi> </msub> <mo>&amp;le;</mo> <msub> <mi>r</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <mi>d</mi> <mo>)</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>f</mi> <mi>j</mi> </msub> <mo>&amp;le;</mo> <mi>R</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <mi>e</mi> <mo>)</mo> <mo>&amp;ForAll;</mo> <mi>q</mi> <mo>,</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msubsup> <mi>v</mi> <mrow> <mi>j</mi> <mi>i</mi> </mrow> <mi>q</mi> </msubsup> <mo>&amp;times;</mo> <msub> <mi>x</mi> <mrow> <mi>j</mi> <mi>i</mi> </mrow> </msub> <mo>&amp;le;</mo> <msup> <msub> <mi>m</mi> <mi>j</mi> </msub> <mi>q</mi> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>
Ti,q表示物理机mi上资源q的门槛值,表示分配到物理机mi上的虚拟机vj上资源q的资源利用率;不等式(e)依次表示部署在物理机mi上得所有的虚拟机的CPU、内存、带宽、磁盘空间和I/O资源要不超过物理机mi本身的各类物理资源的总和;在x个虚拟机上分别部署用户的应用***P。
4.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,采用基于物品组的编码方式,采用随机法形成M个虚拟机,采用相应的启发式优先匹配算法将M个虚拟机按照一定的次序部署到相应的物理节点上,形成对应的染色体编码。
5.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,适应度函数为:
<mrow> <mi>F</mi> <mi>i</mi> <mi>t</mi> <mi>f</mi> <mi>u</mi> <mi>n</mi> <mi>c</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>&amp;mu;</mi> <mo>,</mo> <mi>M</mi> <mo>,</mo> <mi>P</mi> <mo>,</mo> <msub> <mi>U</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>q</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mo>{</mo> <mi>min</mi> <mrow> <mo>(</mo> <mi>&amp;mu;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>min</mi> <mi>M</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>min</mi> <mrow> <mo>(</mo> <mi>P</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>max</mi> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>q</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>Q</mi> </munderover> <msub> <mi>U</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>q</mi> </mrow> </msub> <mo>}</mo> <mo>.</mo> </mrow>
6.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,交叉算子采用基于组的双向链式编码方式来控制在物理节点上合理的部署虚拟机;交叉过程分为基于组编码的交叉过程和基于资源编码的交叉过程;
子个体的编码优化最大链长单点交叉的步骤以及主要优化交叉步骤如下:
(1)先随机选择两个父节点,父个体2中对应的组用父个体1中的当前最大双向链长的组来替换;
(2)从使用物理节点集合中删除交叉后的父个体2的重复的虚拟机所对应的物理节点,然后加入未使用物理节点集合,其上的虚拟机也要删除;
(3)保持父个体2的虚拟机双向链式结构,然后生成未分配的虚拟机序列;
(4)采用优先匹配启发式算法来重新分配之前没有分配的虚拟机序列,最终得到新的子个体;
(5)最后父个体1中对应的组全部用随机选取的父个体2中组来代替,按照(1)-(4)重新生成子个体2。
7.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,变异算子当出现变异时,删除一个虚拟机双向链表节点,变异操作发生时会将开启的物理节点集合中的随机选择的X个物理节点和部署的虚拟机删除,X<M/2,并加入未开启物理节点集合中;形成未分配的虚拟机序列;对未部署的虚拟机在相应的物理节点进行重新部署。
8.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,超体种群更新方法包括:
(1)如果当前是第一代,在初始种群中选取非支配个体,赋给个体种群;否则,从现在种群的非支配个体以及父代里找寻非支配抗体,赋给个体种群集合;对进行叠加后的大种群遵循支配关系开展分级排序,倘若等级数是n,非支配集合就表示为L1,L2,.......,Ln,并为新的非支配种群分配标识向量,标识向量相同的标记为同一个超体,标识向量用于超体的提取和识别;
(2)把每次的种群规模设定为M,判断若L1的个体数是否达到M,如果个体数达到M,那么则将L1集合的个体设定为下一代种群;
(3)L1集合中的个体数已经大于M,那么则删除L1集合中多余的目标极值,然后针对每一个个体计算其超体贡献度和抗体记忆信息两个指标,随后以标识向量信息为参考选择出贡献度最大的(n-2)个个体和两个目标极值的个体定为下一代种群Z(g+1);
(4)如果L1中的个体数比M小,那么将L1中所有的个体按照一定的次序放入到下一代种群Z(g+1)之中,然后将L1,L2,.......,Ln中的元素也加入到该种群中,一直延续到到Z(g+1)的规模数量达到M;如果Li中下一代种群规模超过了M,那么则计算Li中相同超体的向量个体的欧几里得距离,把欧几里得距离小的个体放入到下一代种群之中。
9.如权利要求1所述的多目标虚拟机自适应位置选择方法,其特征在于,新的虚拟机位置选择算法包括:
(1)依照基于组的双向链式编码手段将父个体实施初始化操做,构建成大小为M的父种群;
(2)面向种群里面的个体实施适应度函数评估计算,实现评估之后对父种群个体实施ε非支配方式实施具体的排列,这样能够区分出种群里面个体的支配等级;
(3)根据锦标赛选取机制在以上两个种群里面先后选取两个体当成父个体,进而将选取出来的父个体实施改进式单点交叉,这样能够实现杂交个体的出现;
(4)对于形成的杂交个体利用智能变异创造出新的子个体,将这个自个体通过适应度函数实施评析,然后把子个体放置到子种群池里面;不断的进行这个步骤,目标是子种群大小达到M;
(5)在父种群以及子种群通过生物体免疫记忆种群更新方法选取出来最佳的M个个体当成下一代父种群;
(6)对新一代父种群多次进行(3)-(6),目标是达到演化条件,则算法终止。
10.一种利用权利要求1~9任意一项所述多目标虚拟机自适应位置选择方法的分布式云***。
CN201711250474.1A 2017-12-01 2017-12-01 一种多目标虚拟机自适应位置选择方法、分布式云*** Pending CN108009003A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711250474.1A CN108009003A (zh) 2017-12-01 2017-12-01 一种多目标虚拟机自适应位置选择方法、分布式云***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711250474.1A CN108009003A (zh) 2017-12-01 2017-12-01 一种多目标虚拟机自适应位置选择方法、分布式云***

Publications (1)

Publication Number Publication Date
CN108009003A true CN108009003A (zh) 2018-05-08

Family

ID=62056149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711250474.1A Pending CN108009003A (zh) 2017-12-01 2017-12-01 一种多目标虚拟机自适应位置选择方法、分布式云***

Country Status (1)

Country Link
CN (1) CN108009003A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897600A (zh) * 2018-06-14 2018-11-27 郑州云海信息技术有限公司 一种云计算环境下的虚拟机放置方法
CN109165081A (zh) * 2018-08-15 2019-01-08 福州大学 基于机器学习的Web应用自适应资源配置方法
CN109447264A (zh) * 2018-09-17 2019-03-08 浙江工业大学 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法
CN109542623A (zh) * 2018-11-22 2019-03-29 中国人民解放军陆军工程大学 虚拟***在服务器中的优化部署方法
CN110297977A (zh) * 2019-06-28 2019-10-01 合肥慧济世医疗科技有限公司 一种面向众筹平台的个性化推荐单目标进化方法
CN110968428A (zh) * 2019-12-10 2020-04-07 浙江工业大学 云工作流虚拟机配置和任务调度协同优化方法
CN112199177A (zh) * 2020-10-19 2021-01-08 上海交通大学 基于遗传算法和计算拓扑模型的ska任务调度***及方法
US11182362B2 (en) * 2019-01-16 2021-11-23 Kabushiki Kaisha Toshiba Calculating device, data base system, calculation system, calculation method, and storage medium
CN115421885A (zh) * 2022-08-29 2022-12-02 山东财经大学 一种分布式多目标云任务的调度方法、装置及云服务***
WO2023019735A1 (zh) * 2021-08-20 2023-02-23 苏州浪潮智能科技有限公司 虚拟机的部署方法、装置、设备以及计算机可读存储介质
WO2024027148A1 (zh) * 2022-08-04 2024-02-08 华为云计算技术有限公司 资源调度方法、装置、计算设备集群、介质及程序产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902375A (zh) * 2014-04-11 2014-07-02 北京工业大学 一种基于改进遗传算法的云任务调度方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902375A (zh) * 2014-04-11 2014-07-02 北京工业大学 一种基于改进遗传算法的云任务调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHUKUN LIU: "An Adaptive Virtual Machine Location Selection Mechanism in Distributed Cloud", 《KSII TRANSACTION ON INTERNET AND INFORMATION SYSTEM》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897600A (zh) * 2018-06-14 2018-11-27 郑州云海信息技术有限公司 一种云计算环境下的虚拟机放置方法
CN109165081A (zh) * 2018-08-15 2019-01-08 福州大学 基于机器学习的Web应用自适应资源配置方法
CN109447264A (zh) * 2018-09-17 2019-03-08 浙江工业大学 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法
CN109447264B (zh) * 2018-09-17 2021-11-23 浙江工业大学 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法
CN109542623A (zh) * 2018-11-22 2019-03-29 中国人民解放军陆军工程大学 虚拟***在服务器中的优化部署方法
CN109542623B (zh) * 2018-11-22 2023-07-07 中国人民解放军陆军工程大学 虚拟***在服务器中的优化部署方法
US11182362B2 (en) * 2019-01-16 2021-11-23 Kabushiki Kaisha Toshiba Calculating device, data base system, calculation system, calculation method, and storage medium
CN110297977A (zh) * 2019-06-28 2019-10-01 合肥慧济世医疗科技有限公司 一种面向众筹平台的个性化推荐单目标进化方法
CN110297977B (zh) * 2019-06-28 2023-05-12 合肥慧济世医疗科技有限公司 一种面向众筹平台的个性化推荐单目标进化方法
CN110968428A (zh) * 2019-12-10 2020-04-07 浙江工业大学 云工作流虚拟机配置和任务调度协同优化方法
CN110968428B (zh) * 2019-12-10 2024-07-12 浙江工业大学 云工作流虚拟机配置和任务调度协同优化方法
CN112199177A (zh) * 2020-10-19 2021-01-08 上海交通大学 基于遗传算法和计算拓扑模型的ska任务调度***及方法
CN112199177B (zh) * 2020-10-19 2023-03-31 上海交通大学 基于遗传算法和计算拓扑模型的ska任务调度***及方法
WO2023019735A1 (zh) * 2021-08-20 2023-02-23 苏州浪潮智能科技有限公司 虚拟机的部署方法、装置、设备以及计算机可读存储介质
WO2024027148A1 (zh) * 2022-08-04 2024-02-08 华为云计算技术有限公司 资源调度方法、装置、计算设备集群、介质及程序产品
CN115421885A (zh) * 2022-08-29 2022-12-02 山东财经大学 一种分布式多目标云任务的调度方法、装置及云服务***

Similar Documents

Publication Publication Date Title
CN108009003A (zh) 一种多目标虚拟机自适应位置选择方法、分布式云***
Shen et al. Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems
CN102214213B (zh) 一种采用决策树的数据分类方法和***
CN110489229B (zh) 一种多目标任务调度方法及***
Ponnambalam et al. A multi-objective genetic algorithm for solving assembly line balancing problem
CN105550033B (zh) 私有云环境下基于遗传禁忌混合算法的资源调度策略方法
CN110738365B (zh) 一种基于粒子群算法的柔性作业车间生产调度方法
CN106506657A (zh) 一种基于多目标的云计算虚拟机分配调整方法
CN106484512B (zh) 计算单元的调度方法
CN109447264B (zh) 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法
CN112286677A (zh) 一种面向资源受限边缘云的物联网应用优化部署方法
CN114721833A (zh) 一种基于平台业务类型的智能云端协调方法和装置
CN110008023B (zh) 基于遗传算法的云计算***预算约束随机任务调度方法
CN110909787A (zh) 基于聚类的进化算法进行多目标批调度优化的方法和***
CN108427602B (zh) 一种分布式计算任务的协同调度方法及装置
Wu et al. Optimizing makespan and stability risks in job shop scheduling
CN109523178A (zh) 一种面向电力通信现场的运维方法及装置
CN112685138A (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
CN113341889A (zh) 带装配阶段和能耗的分布式阻塞流水车间调度方法及***
Gong et al. Evolutionary computation in China: A literature survey
CN113504998A (zh) 一种任务调度方案的确定方法、装置和设备
Zhang Reliable virtual network mapping algorithm with network characteristics and associations
CN112486651A (zh) 一种基于改进遗传算法的云测试平台任务调度方法
CN110119317A (zh) 一种基于遗传算法的云计算任务调度方法和***
CN113220437B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180508