CN111124590A - 虚拟机放置方法及装置、服务器 - Google Patents

虚拟机放置方法及装置、服务器 Download PDF

Info

Publication number
CN111124590A
CN111124590A CN201811284508.3A CN201811284508A CN111124590A CN 111124590 A CN111124590 A CN 111124590A CN 201811284508 A CN201811284508 A CN 201811284508A CN 111124590 A CN111124590 A CN 111124590A
Authority
CN
China
Prior art keywords
placement
virtual machine
leaf nodes
group
placing
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
CN201811284508.3A
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.)
Qianxun Spatial Intelligence Inc
Qianxun Position Network Co Ltd
Original Assignee
Qianxun Spatial Intelligence Inc
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 Qianxun Spatial Intelligence Inc filed Critical Qianxun Spatial Intelligence Inc
Priority to CN201811284508.3A priority Critical patent/CN111124590A/zh
Publication of CN111124590A publication Critical patent/CN111124590A/zh
Pending legal-status Critical Current

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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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)
  • Power Sources (AREA)

Abstract

本发明适用于云计算技术领域,提供了一种虚拟机放置方法及装置、服务器,虚拟机放置方法包括:形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;给出约束条件和优化目标;根据约束条件使用单层多节点哈希算法选择叶子节点以及叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;根据优化目标对各放置组基于叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。本发明中,使用单层多节点哈希算法分配虚拟机,并对各放置组进行迭代编码操作,综合考虑各约束条件,有效降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。

Description

虚拟机放置方法及装置、服务器
技术领域
本发明属于云计算技术领域,尤其涉及一种虚拟机放置方法及装置、服务器。
背景技术
云计算是一种分布式计算和存储的实例,它可以为互联网应用按需提供服务。云计算的关键特性包括“即用即付”和弹性服务。目前大量服务提供商和用户已经从传统的基础设施转移到公有云或私有云上。
在当前云环境下,利用虚拟化技术,客户所请求的数据计算或存储服务由一组互相通信的虚拟机以一种可伸缩的弹性方式处理。虚拟机放置问题是当前云环境下资源分配及管理的重要内容。如何在满足虚拟机资源请求和相关约束条件的情况下,合理分配虚拟机至服务器节点已经成为当今云计算下的一个研究热点。
虚拟机放置问题是云数据中心虚拟机与物理主机之间的一个装箱问题,是云计算环境中资源管理和分配的重要组成部分。当一个请求到达时,在一个或多个服务器节点中创建一个或多个虚拟机(VM)以便处理该请求。服务器节点可以位于相同或不同的数据中心中。这些虚拟机根据服务器节点的资源容量或故障概率将被放置在一个或多个服务器节点中。但是,硬件故障、内存模块故障以及由软件缺陷或配置错误引起的软件问题造成的服务器节点故障可能会使放置在该节点上的虚拟机丢失,从而导致整个服务无法得到保障。解决这个问题的有效方法是创建和放置更多的VM副本,但是这种方法也需要考虑服务器节点的可用性。例如,如果所有的虚拟机连同他们的副本都放置在故障概率较高的节点上,则服务仍然无法得到保障。因此,虚拟机放置的可用性(0和1之间的值)非常重要,它指的是在请求的生命周期内,至少有一组包含所有用户请求的虚拟机运行的概率。
与此同时,目前云环境下数据中心数量众多,物理主机基数庞大,不合理的资源调度会使数据中心资源浪费严重,资源利用率较低,因此,如何降低数据中心资源消耗,提高资源利用率是目前云环境下的研究热点。
针对虚拟机放置问题的优化研究点有很多,如能耗优化、可用性优化、组合优化等。
能耗优化方面,Fang W等人在2013年提出了一种全网能源管理方式来优化虚拟机放置并且通过基于流量路由的网络元素睡眠调度来降低数据中心电源的成本,Aroca J A等人于2016年提出基于低利用率和预算收益模型的成本函数用于解决虚拟机放置问题。但是这两种方案均未综合考虑网络设备和物理主机的能耗。
在可用性优化方面,在2012年,W Wang、H Chen等人研究了应用程序的可用性对于工作负载变化情况下动态提供虚拟资源的影响,Li X,Qian C等人于2015年提出了一种为租户提供可靠性服务的放置算法;但是均未定量的考虑虚拟机放置问题中的可用性。
组合优化方面,AC Adamuthe等人在2013使用遗传算法用于实现利润最大化且最大限度地提高负载平衡情况下,最大限度地减少资源浪费,Gao Y和Nishant K在2013年和2012年分别以能耗和资源利用率以及物理机负载均衡为优化目标,运用蚁群算法进行实现,提高了物理机的资源利用率;但是组合优化方面运用的算法一般时间复杂度较高,导致可扩展性和算法实时性不强,通常将多个目标融合为单目标进行求解,无法做到真正多目标优化。
发明内容
本发明实施例提供了一种虚拟机放置方法及装置、服务器,旨在解决现有技术的由于不合理的资源调度会使数据中心资源浪费严重,资源利用率较低的问题。
一种虚拟机放置方法,包括:
形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
优选地,所述根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的种群具体为:
选取未分配的所述虚拟机;
通过最高随机权重哈希算法选择虚拟机在所述叶子节点上的权重得分较高的所述叶子节点;
选择所述叶子节点中权重得分最高的所述物理主机分配所述虚拟机;
当所述虚拟机均分配完成时结束。
优选地,每个所述虚拟机vmi在叶子节点sj上的权重得分wij满足关系式:wij=h(vmi,sj);
所述虚拟机vmi对应的所述叶子节点中的所述物理主机pmjz+k的权重得分Wi(jz+K]满足关系式:Wi(jz+K)=H(vmi,pmjz+k)*Tagi(jz+k),其中,若Tag为false,则为0,若为true默认为1,H(vmi,pmjz+k)为在相同T时间段内,Eold与分配虚拟机vmi后的叶子节点sj的总体能耗的比值,与物理主机pmjz+k的资源利用率Ujz+k与1的差方和:
Figure BDA0001847897680000031
Ejz+k为T时间段内物理主机pmjz+k的能耗,Eold是指相同T时间段内,未分配新虚拟机时,叶子节点簇sj的能耗。α、β是表示两者的权重。
优选地,所述根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数具体为:
随机选择若干个所述放置组进行交叉操作;
对每个所述放置组以预设概率进行变异操作;
将经过交叉操作和变异操作得到的新种群与原种群合并,根据预设的适应度函数选取前所述预设规模个所述放置组进入下一次迭代过程。
优选地,所述随机选择若干个所述放置组进行交叉操作具体为:对于需要交叉的父代第一放置组和父代第二放置组,
随机选择所述父代第一放置组中一叶子节点作为需要交叉的部分;
将所述叶子节点插入所述父代第二放置组的交叉点位置中,并剔除包含重复虚拟机的所述叶子节点;
将剔除的所述叶子节点上未分配的虚拟机进行重新编码,优先选择所述第二放置组中的所述叶子节点。
优选地,所述对每个所述放置组以预设概率进行变异操作具体为:
选择所述放置组中资源利用率较小的所述物理主机进行剔除;
将剔除所述物理主机上未分配的虚拟机进行重新编码,优先选择所述放置组中的所述叶子节点。
本发明还提供一种虚拟机放置装置,包括:
定义单元,用于形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
条件设置单元,与所述定义单元连接,用于给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
种群生成单元,与所述条件设置单元连接,用于根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
迭代编码单元,与所述种群生成单元连接,用于根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
本发明还提供一种服务器,所述服务器包括一种虚拟机放置装置,所述虚拟机放置装置包括:
定义单元,用于形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
条件设置单元,与所述定义单元连接,用于给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
种群生成单元,与所述条件设置单元连接,用于根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
迭代编码单元,与所述种群生成单元连接,用于根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
本发明还提供一种存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被处理器执行如下步骤:
形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
本发明还提供一种服务终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
本发明实施例中,使用单层多节点哈希算法分配虚拟机,并对各放置组基于所述叶子节点进行迭代编码操作;直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数,综合考虑放置约束、资源约束等因素,有效的降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。
附图说明
图1为本发明第一实施例提供的一种虚拟机放置方法的流程图;
图2为本发明第一实施例的虚拟机放置方法生成的种群示意图;
图3为本发明第一实施例的虚拟机放置方法的交叉操作示意图;
图4为本发明第一实施例的虚拟机放置方法的变异操作示意图;
图5为本发明第一实施例提供的一种虚拟机放置方法的一优选方式的流程图;
图6为本发明第二实施例提供的一种虚拟机放置装置的结构图;
图7为本发明第四实施例提供的一种服务器的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,一种虚拟机放置方法,包括:形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种虚拟机放置方法的流程图,该方法包括:
步骤S1,形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗。
具体地,对放置环境进行定义,数据中心存在物理主机集合PM={pm1,pm2,…,pmn),其中物理主机数量为n,需要放置的虚拟机集合VM={vm1,vm2,…,vmm),其中虚拟机数量为m。虚拟机数量m大于或等于物理主机n。定义虚拟机放置组集合P={p1,p2,…,ph},h为放置组的数量。
对资源状态进行定义,对于给定的虚拟机vmi,定义
Figure BDA0001847897680000071
为虚拟机vmi所需的CPU资源,
Figure BDA0001847897680000072
为虚拟机vmi所需的内存资源,Vi-pes为虚拟机vmi的CPU利用率,Wi-ram为虚拟机vmi的内存利用率。对于给定的物理主机pmj,定义
Figure BDA0001847897680000073
为物理主机pmj当前的CPU空闲资源,
Figure BDA0001847897680000074
为物理主机pmj的内存空闲资源,Uj-pes为物理主机pmj的CPU利用率,Uj-ram为物理主机pmj的内存利用率,则定义物理主机pmj的资源利用率Uj为:
Uj=αUj-pes+β Uj-ram
其中0<α<1,0<β<1,且α+β=1。
定义Tagij为当前时刻t,物理主机pmj能否满足虚拟机vmi的资源要求,即
Figure BDA0001847897680000081
对主机可用性进行定义,一个物理主机的可用性是指物理主机在整个服务时间内任意时刻的工作概率。对于任意网络组件i,其可用性Ai可以通过如下公式计算获得:
Figure BDA0001847897680000082
其中MTTF代表平均故障时间,MTTR代表平均修复时间。这里假定服务器可用性的值是已知的,且各服务器之间的可用性是相互独立互不相关的。
对电源能耗进行定义,在一个拥有n台运行的物理主机的云数据中心,对于任意物理主机pmj∈PM,在某一时刻t的电源能耗如式所示:
Figure BDA0001847897680000083
其中cj为静态能耗标记,fj(t)为t时刻物理主机pmj的CPU频率,CPU利用率为Uj-pes(t),k为常量系数,即电源能耗在一定程度上是基于CPU利用率的线性模型。
步骤S2,给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标。
首先对虚拟机放置进行定义,M集合通过放置组pk∈P,选择对应的物理主机集合中的物理主机完成放置映射,并且需要尽可能满足放置过程中的多种约束条件。定义虚拟机放置矩阵Mk[i][j],若Mk[i][j]=1则表示放置组pk将虚拟机j放置在物理主机i上,反之,若Mk[i][j]=0,表示放置组pk中,虚拟机j未放置在物理主机i上。
一般情况下,同一放置组内,都认为单个虚拟机只能在一个服务器节点上进行部署运行。任意虚拟机υi,在同一放置组下,其能且只能放置在一个服务器节点上。放置约束表示如下:
对于
Figure BDA0001847897680000091
其中放置组pk∈P。
而对于任何服务器节点来说,其各个资源类型的消耗应不能超过上限。服务器资源一般分为CPU、内存、网络带宽、磁盘资源等。这里主要考虑CPU和内存的资源情况。定义服务器pmj的CPU和内存容量分别为
Figure BDA0001847897680000092
Figure BDA0001847897680000093
资源约束表示如下:对于
Figure BDA0001847897680000094
Figure BDA0001847897680000095
其中,参数r≤1,为常量系数,服务器节点需要预留一部分的资源保证其自身的正常运转,通常值为0.8。
同一虚拟机放置在同一个服务器节点(比如说pmj)不止一次不能提高放置的可用性,因为当pmj失败时,所有放置在pmj上的虚拟机将同时失败。因而,需要尽量将虚拟机vmi放置在不同的服务器节点上以增加可用性。用Hi来表示放置虚拟机vi的最大节点数,即Hi表示虚拟机vi可以放置的最大服务器节点数量。定义
Figure BDA0001847897680000096
用于表示该n个虚拟机中,单个虚拟机所需节点数最大为H。虚拟机放置的可用性定义和计算可以分成三种:单一放置(Single Placement)、完全保护放置(Fully Protected Placement)、部分受保护放置(Partially Protected Placement)。
单一放置指每个虚拟机都只放在一个服务器节点上,即H=1。在单一放置的情况下,如果n个服务器节点的可用性分别为A1,A2,…,An,k个虚拟机(n≤k)放置于此n个节点之上,则此虚拟机放置的主机可用性可用Ap表示,定义如下:
Figure BDA0001847897680000097
由于包含k个虚拟机,因此计算主机可用性时需要考虑k个虚拟机均在运行的概率。
完全保护放置指对于任意虚拟机υ∈VM,均由放置组pi(1≤i≤H)放置在H个不同节点上。因此,一个完全保护放置方案P可由H个单一放置方案构成,且在各个单一放置方案内,虚拟机对之间都应该满足放置、资源和通信可达性约束。
完全保护放置方案的可用性为在服务的生命周期内,存在至少一个放置组工作的概率,可知主机可用性计算如下式所示:
Figure BDA0001847897680000101
部分保护放置指存在虚拟机υ∈VM,被放置在少于H个不同节点上,即两个或者更多个放置组将虚拟机v放置在相同的节点上,且存在某个虚拟机υj∈V,使得H>1。在部分保护的放置情况下,若一个虚拟机放置在少于H个节点上,可以认为这个虚拟机由多个放置组共同放置。无法直接通过完全保护放置的公式计算其可用性,因为放置了共享的虚拟机v2的服务器节点b的可用性会被计算两次。为了处理该类放置情况,定义新的操作符·。假设存在n个节点pm1,pm2,…,pmn,它们的主机可用性分别为A1,A2,…,An。对于主机可用性为Ax的节点pmx,给出如下关于操作符·的定义:
Figure BDA0001847897680000102
部分保护放置的主机可用性可以通过如下公式计算获得:
Figure BDA0001847897680000103
因此,对于给定的主机可用性阈值δ,虚拟机放置的主机可用性应当不低于δ。
云计算环境中,数据中心产生的能耗主要为各种设备的能耗,例如服务器、存储设备和网络通信设备等。其中服务器占能耗的绝大部分。从能耗的角度对虚拟机放置进行优化,主要通过减少服务器设备的能耗,可以通过直接或间接减少服务器的开机运行数量来达到一定的优化目标。
根据前面的能耗公式,在T时间段内,物理主机pmj的总耗能
Figure BDA0001847897680000104
表示为:
Figure BDA0001847897680000111
由上式可知,在T时间段内,数据中心的服务器总能耗E为各运行的服务器的能耗之和。
Figure BDA0001847897680000112
在选择合适的服务器进行放置时,应当考虑使数据中心能耗较低的服务器节点完成放置。
步骤S3,根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群。
具体地,遗传算法中初始化种群的好坏对算法效率影响较大。假设物理主机集合PM的物理主机数量为n,使用单层多节点最高随机权重(Rendezvous)哈希算法对种群进行初始化,根据虚拟机在所述叶子节点上的权重得分选择叶子节点,进而根据主机节点在所选择的叶子节点中的权重得分选择物理主机分配虚拟机。
首先初始化物理主机集合PM,虚拟机集合VM,种群规模为S,迭代次数T,迭代次数记录t=0,适应度收敛系数ε,单虚拟机最多放置组数量H,物理主机的可用性集合A以及变异概率p。步骤S3具体包括:选取未分配的所述虚拟机;通过最高随机权重哈希算法选择虚拟机在所述叶子节点上的权重得分较高的所述叶子节点,每个所述虚拟机vmi在叶子节点sj上的权重得分wij满足关系式:wij=h(vmi,sj);选择所述叶子节点中权重得分最高的所述物理主机分配所述虚拟机;当所述虚拟机均分配完成时结束。
假设物理主机集合PM的物理主机数量为n,使用单层多节点Rendezvous哈希算法对种群进行初始化,即层高h=1,底层叶子节点数为c,每个叶子节点包含的最大物理主机数量为z,其中c=ceiling(n/z)。对于每个虚拟机vmi在叶子节点sj上的权重得分wij=h(vmi,sj)。通过Rendezvous哈希算法选择得分较高的叶子节点分配。
当虚拟机vmi选中叶子节点sj后,在进行物理主机选择时,虚拟机vmi对应的叶子节点中的物理主机pmjz+k均有一个权重得分Wi(jz+k)。所述虚拟机vmi对应的所述叶子节点中的所述物理主机pmjz+k的权重得分Wi(jz+k)满足关系式:Wi(jz+k)=H(vmi,pmjz+k)*Tagi(jz+K),其中,若Tag为false,则为0,若为true默认为1,H(vmi,pmjz+k)为在相同T时间段内,Eold与分配虚拟机vmi后的叶子节点sj的总体能耗的比值,与物理主机pmjz+k的资源利用率Ujz+k与1的差方和:
Figure BDA0001847897680000121
Ejz+k为T时间段内物理主机pmjz+k的能耗,Eold是指相同T时间段内,未分配新虚拟机时,叶子节点簇sj的能耗。α、β是表示两者的权重。虚拟机vmi最终选择使权重得分Wi(jz+k)最高的物理主机完成分配。通过该方法可以获得多个不同的放置组,从而生成预设规模为S的种群集合X。
生成的种群如图2所示,假设数据中心含有两个放置组p1,p2,放置请求包含8个虚拟机,以及若干台物理主机,每个放置组由多个叶子节点组成。如图左半部分的放置组p1中,包含叶子节点c1、c2、c4,物理主机(基因)E在叶子节点c1中,物理主机F在叶子节点c2中,物理主机D在叶子节点c4中。虚拟机2、5、4放置在物理主机E中,虚拟机3、6、7放置在物理主机F中,虚拟机1、8放置在物理主机D中,该放置组对应的染色体基因数为3个,即染色体EFD。如图右半部分的放置组p2中,包含叶子节点c0、c3、c5,物理主机A、B在叶子节点c0中,物理主机G在叶子节点c3中,物理主机C在叶子节点c5中。虚拟机7、6放置在物理主机A中,虚拟机2、4放置在物理主机B中,虚拟机1、5放置在物理主机G中,虚拟机3、8放置在物理主机C中,该放置组对应的染色体基因数为4个,即染色体ABGC。
步骤S4,根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
具体地,随机选择若干个所述放置组进行交叉操作;对每个所述放置组以预设概率进行变异操作;将经过交叉操作和变异操作得到的新种群与原种群合并,根据预设的适应度函数选取前所述预设规模个所述放置组进入下一次迭代过程。
交叉操作是指将一个放置组中某一叶子节点作为需要交叉的部分插入另一放置组的交叉位置,并剔除包含重复虚拟机的叶子节点,而剔除叶子节点上的未分配的虚拟机进行重新分配。
首先根据可用性及能耗考虑,设定适应度函数,对种群中含有优良基因的个体进行选择。适应度函数如下:
Figure BDA0001847897680000131
其中,Emin为T时间段内数据中心能耗的最小值;
Figure BDA0001847897680000132
为单个个体(放置组)的能耗;当H=1时,可用性以单一放置(Single)方式计算;当H>1时,可用性计算分为完全保护放置(Full)和部分保护放置(partial),其中x为数量为H的个体群。对于个体或个体群x,若能使数据中心能耗越低、可用性越高,则适应度函数的值就越大,优良基因遗传到下一代的被选择概率越高。
对于需要交叉的父代第一放置组和父代第二放置组,随机选择所述父代第一放置组中一叶子节点作为需要交叉的部分;将所述叶子节点插入所述父代第二放置组的交叉点位置中,并剔除包含重复虚拟机的所述叶子节点;将剔除的所述叶子节点上未分配的虚拟机进行重新编码,优先选择所述第二放置组中的所述叶子节点。具体地,未分配的虚拟机可以直接分配到第二放置组中的所述叶子节点中的物理主机中。参见图3,将X父代中的叶子节点c1以及其中所有基因(物理主机)插入到Y父代中的叶子节点c0和叶子节点c3之间,插入之后,虚拟机2、4、5重复出现,则剔除叶子节点c3以及叶子节点c0中的物理主机B,如此虚拟机1未分配,重新编码插入未分配的虚拟机1,图中虚拟机分配在叶子节点c0中的物理主机A上。
变异操作是指每个放置组以小概率进行变异,选择所述放置组中资源利用率较小的所述物理主机进行剔除;将剔除所述物理主机上未分配的虚拟机进行重新编码,优先选择所述放置组中的所述叶子节点。在本实施例中,根据小概率变异获得突变的基因,通过变异函数确定变异的基因。变异函数满足以下关系式:
Figure BDA0001847897680000141
选择fc(j)较小的基因(物理主机)进行剔除,使得每次剔除的都是资源利用率较低的较差基因。剔除的该基因上的虚拟机重新编码进入其他物理主机中,保证种群多样性。如图4所示,假设父代放置组中的基因C发生了变异,剔除该基因C,导致虚拟机3、8未分配,重新编码,将虚拟机3插入了叶子节点c0中的基因A上,将敬若神明8插入了叶子节点c3中的基因G上。
然后将经过交叉操作和变异操作的种群与原种群进行合并,根据适应度函数fT(j)选取前S个个体(放置组)进入下一次迭代过程,迭代次数t=t+1。迭代次数t达到预设值T或两次迭代适应度之差小于适应度收敛系数ε时结束,即t=T,或fT(xt+1)-fT(xt)<ε获得适应度函数fT(X)最高的H个个体,从而得到虚拟机放置最优方案组。
本实施例中,使用单层多节点哈希算法分配虚拟机,并对各放置组基于所述叶子节点进行迭代编码操作;直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数,综合考虑放置约束、资源约束等因素,有效的降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。
在本实施例的一个优选方案中(见图5),虚拟机放置方法包括:
步骤S10:开始。
步骤S11:初始化物理主机集合PM,虚拟机集合VM,种群规模为S,种群集合X,物理主机的可用性集合A以及变异概率p。
步骤S12:判断生成种群规模是否满足S。如果是,则跳转至执行步骤S17;否则执行步骤S13。
即如果种群规模没有达到预设规模S,则继续对未分配的虚拟机进行分配;如果种群规模达到预设规模S,则完成初始化,后续进一步进行优化。
步骤S13:选取未分配的虚拟机vmi
步骤S14:根据wij=h(vmi,sj)确定叶子节点。
具体地,通过最高随机权重哈希算法选择虚拟机在所述叶子节点上的权重得分较高的所述叶子节点,每个所述虚拟机vmi在叶子节点sj上的权重得分wij满足关系式:wij=h(vmi,sj)。
步骤S15:根据Wi(jz+k)确定分配物理主机。
具体地,选择所述叶子节点中权重得分Wi(jz+k)最高的所述物理主机分配所述虚拟机。
步骤S16:判断虚拟机是否分配完成。如果是,则跳转至执行步骤S12;否则执行步骤S13。
即如果虚拟机全部分配完成,表示完成了种群的初始化;如果虚拟机没有分配完成,则重复步骤S13至步骤S15继续分配未分配完成的虚拟机。
步骤S17:初始化迭代次数T,迭代次数记录t=0,适应度收敛系数ε,单虚拟机最多放置组数量H,变异概率p。
步骤S18:对各放置组基于叶子节点进行编码操作。
即对各放置组进行交叉操作和变异操作。
步骤S19:判断是否t=T或两次迭代适应度之差小于ε。如果是,则跳转至执行步骤S26;否则执行步骤S20。
如果迭代次数记录t没有达到预设的迭代次数T或两次迭代适应度之差小于适应度收敛系数ε,说明各放置组没有达到优化目标,还可以进行进一步优化。否则表示已经达到优化目标。
步骤S20:随机选取若干放置组交叉。
首先根据可用性及能耗考虑,设定适应度函数fT(X),对种群中含有优良基因的个体进行选择。适应度函数的值就越大,说明数据中心能耗越低、可用性越高,优良基因遗传到下一代的被选择概率越高。
对于需要交叉的父代第一放置组和父代第二放置组,随机选择所述父代第一放置组中一叶子节点作为需要交叉的部分;将所述叶子节点插入所述父代第二放置组的交叉点位置中,并剔除包含重复虚拟机的所述叶子节点。
步骤S21:未分配虚拟机重编码。
具体地,将剔除的所述叶子节点上未分配的虚拟机进行重新编码,优先选择所述第二放置组中的所述叶子节点。更具体地,未分配的虚拟机可以直接分配到第二放置组中的所述叶子节点中的物理主机中。
步骤S22:每个放置组以p概率变异。
具体是指资源利用率发生变化,选择变异函数fc(j)较小的基因(物理主机)进行剔除,使得每次剔除的都是资源利用率较低的较差基因。
步骤S23:未分配虚拟机重编码。
具体地,剔除的该基因上的虚拟机重新编码进入其他物理主机中,保证种群多样性。
步骤S24:新种群与原种群X合并。
步骤S25:根据适应度函数选取前S个放置组进入下一次迭代,t=t+1。然后返回步骤S19。
步骤S26:获得适应度最高的H个个体,得到虚拟机放置最佳方案组。
步骤S27:结束。
本实施例中,使用单层多节点哈希算法分配虚拟机,并对各放置组基于所述叶子节点进行迭代编码操作;直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数,综合考虑放置约束、资源约束等因素,有效的降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。
其次,使用单层多节点Rendezvous哈希算法进行种群的初始化,考虑了主机资源利用率以及数据中心能耗,可以实现虚拟机到物理主机的负载均衡。
再者,对可用性进行了定量的分析及计算,基于叶子节点进行分组,更好的进行多目标优化。
最后,改进遗传算法,加入可用性以及数据中心能耗考量,进一步优化数据中心总体能耗以及保证虚拟机放置方案的可用性。
实施例二:
如图6所示,为本发明第二实施例提供的一种虚拟机放置装置的结构图,该虚拟机放置装置包括:定义单元1、与定义单元1连接的条件设置单元2、与条件设置单元2连接的种群生成单元3、与种群生成单元3连接的迭代编码单元4,其中:
定义单元1,用于形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
具体地,对放置环境进行定义,数据中心存在物理主机集合PM={pm1,pm2,…,pmn),其中物理主机数量为n,需要放置的虚拟机集合VM={vm1,vm2,…,vmm},其中虚拟机数量为m。虚拟机数量m大于或等于物理主机n。定义虚拟机放置组集合P={p1,p2,…,ph},h为放置组的数量。
定义单元1对资源状态进行定义,对于给定的虚拟机vmi,定义
Figure BDA0001847897680000181
为虚拟机vmi所需的CPU资源,
Figure BDA0001847897680000182
为虚拟机vmi所需的内存资源,Vi-pes为虚拟机vmi的CPU利用率,Wi-ram为虚拟机vmi的内存利用率。对于给定的物理主机pmj,定义
Figure BDA0001847897680000183
为物理主机pmj当前的CPU空闲资源,
Figure BDA0001847897680000184
为物理主机pmj的内存空闲资源,Uj-pes为物理主机pmj的CPU利用率,Uj-ram为物理主机pmj的内存利用率,则定义物理主机pmj的资源利用率Uj为:
Uj=αUj-pes+βUj-ram
其中0<α<1,0<β<1,且α+β=1。
定义Tagij为当前时刻t,物理主机pmj能否满足虚拟机vmi的资源要求,即
Figure BDA0001847897680000185
定义单元1对主机可用性以及电源能耗进行定义。对于任意网络组件i,其可用性Ai可以通过如下公式计算获得:
Figure BDA0001847897680000186
其中MTTF代表平均故障时间,MTTR代表平均修复时间。这里假定服务器可用性的值是已知的,且各服务器之间的可用性是相互独立互不相关的。
在一个拥有n台运行的物理主机的云数据中心,对于任意物理主机pmj∈PM,在某一时刻t的电源能耗如式所示:
Figure BDA0001847897680000187
其中cj为静态能耗标记,fj(t)为t时刻物理主机pmj的CPU频率,CPU利用率为Uj-pes(t),k为常量系数,即电源能耗在一定程度上是基于CPU利用率的线性模型。
条件设置单元2,用于给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
具体地,一般情况下,同一放置组内,都认为单个虚拟机只能在一个服务器节点上进行部署运行。任意虚拟机υi,在同一放置组下,其能且只能放置在一个服务器节点上。放置约束表示如下:
对于
Figure BDA0001847897680000191
其中放置组pk∈P。
资源约束主要考虑CPU和内存的资源情况。定义服务器pmj的CPU和内存容量分别为
Figure BDA0001847897680000192
Figure BDA0001847897680000193
资源约束表示如下:对于
Figure BDA0001847897680000194
Figure BDA0001847897680000195
其中,参数r≤1,为常量系数,服务器节点需要预留一部分的资源保证其自身的正常运转,通常值为0.8。
对于主机可用性优化,虚拟机放置的主机可用性定义和计算可以分成三种:单一放置、完全保护放置和部分受保护放置。会对不同的放置方式可以应用不同的关系式表示,具体参见第一实施方式,在此不再赘述。
云计算环境中,数据中心产生的能耗主要为各种设备的能耗,例如服务器、存储设备和网络通信设备等。其中服务器占能耗的绝大部分。从能耗的角度对虚拟机放置进行优化,主要通过减少服务器设备的能耗,可以通过直接或间接减少服务器的开机运行数量来达到一定的优化目标。物理主机pmj的总耗能
Figure BDA0001847897680000196
的关系式参见第一实施方式,在此不再赘述。
种群生成单元3,用于根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
具体地,选取未分配的所述虚拟机;通过最高随机权重哈希算法选择虚拟机在所述叶子节点上的权重得分较高的所述叶子节点,每个所述虚拟机vmi在叶子节点sj上的权重得分wij满足关系式:wij=h(vmi,sj);选择所述叶子节点中权重得分最高的所述物理主机分配所述虚拟机;当所述虚拟机均分配完成时结束。通过该方法可以获得多个不同的放置组,从而生成预设规模为S的种群集合X。
迭代编码单元4,用于根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数;
具体地,随机选择若干个所述放置组进行交叉操作;对每个所述放置组以预设概率进行变异操作;将经过交叉操作和变异操作得到的新种群与原种群合并,根据预设的适应度函数选取前所述预设规模个所述放置组进入下一次迭代过程。
交叉操作是指将一个放置组中某一叶子节点作为需要交叉的部分插入另一放置组的交叉位置,并剔除包含重复虚拟机的叶子节点,而剔除叶子节点上的未分配的虚拟机进行重新分配。
变异操作是指每个放置组以小概率进行变异,选择所述放置组中资源利用率较小的所述物理主机进行剔除;将剔除所述物理主机上未分配的虚拟机进行重新编码,优先选择所述放置组中的所述叶子节点。在本实施例中,根据小概率变异获得突变的基因,通过变异函数确定变异的基因。变异函数满足以下关系式:
Figure BDA0001847897680000201
选择fc(j)较小的基因(物理主机)进行剔除,使得每次剔除的都是资源利用率较低的较差基因。剔除的该基因上的虚拟机重新编码进入其他物理主机中,保证种群多样性。
然后将经过交叉操作和变异操作的种群与原种群进行合并,根据适应度函数fT(j)选取前S个个体(放置组)进入下一次迭代过程,迭代次数t=t+1。迭代次数t达到预设值T或两次迭代适应度之差小于适应度收敛系数ε时结束,即t=T,或fT(xt+1)-fT(xt)<ε获得适应度函数fT(X)最高的H个个体,从而得到虚拟机放置最优方案组。
本实施例中,使用单层多节点哈希算法分配虚拟机,并对各放置组基于所述叶子节点进行迭代编码操作;直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数,综合考虑放置约束、资源约束等因素,有效的降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。
其次,使用单层多节点Rendezvous哈希算法进行种群的初始化,考虑了主机资源利用率以及数据中心能耗,可以实现虚拟机到物理主机的负载均衡。
再者,对可用性进行了定量的分析及计算,基于叶子节点进行分组,更好的进行多目标优化。
最后,改进遗传算法,加入可用性以及数据中心能耗考量,进一步优化数据中心总体能耗以及保证虚拟机放置方案的可用性。
实施例三:
基于上述实施例二,本发明还提出一种服务器,该服务器包括如上述实施例二所述的虚拟机放置装置,该虚拟机放置装置的具体结构及工作原理可参照前述实施例二的描述,此处不再赘述。
优选地,该服务器为云服务器。
本实施例中,使用单层多节点哈希算法分配虚拟机,并对各放置组基于所述叶子节点进行迭代编码操作;直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数,综合考虑放置约束、资源约束等因素,有效的降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。
实施例四:
图7示出了本发明第四实施例提供的一种服务器的结构图,该服务器包括:存储器(memory)51、处理器(processor)52、通信接口(Communications Interface)53和总线54,该处理器52、存储器51、通信接口53通过总线54完成相互之间的交互通信。
存储器51,用于存储各种数据;
具体地,存储器51用于存储各种数据,例如初始化的各种参数、各放置组等,此处对此不作限制,该存储器还包括有多个计算机程序。
通信接口53,用于该服务器的通信设备之间的信息传输;
处理器52,用于调用存储器51中的各种计算机程序,以执行上述实施例一所提供的一种虚拟机放置方法,例如:
形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
本实施例中,使用单层多节点哈希算法分配虚拟机,并对各放置组基于所述叶子节点进行迭代编码操作;直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数,综合考虑放置约束、资源约束等因素,有效的降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。
本发明还提供一种存储器,该存储器存储有多个计算机程序,该多个计算机程序被处理器调用执行上述实施例一所述的一种虚拟机放置方法。
本发明中,使用单层多节点哈希算法分配虚拟机,并对各放置组基于所述叶子节点进行迭代编码操作;直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数,综合考虑放置约束、资源约束等因素,有效的降低了数据中心的总体能耗,提高了虚拟机放置方案的可用性,最终实现物理资源的合理调度。
其次,使用单层多节点Rendezvous哈希算法进行种群的初始化,考虑了主机资源利用率以及数据中心能耗,可以实现虚拟机到物理主机的负载均衡。
再者,对可用性进行了定量的分析及计算,基于叶子节点进行分组,更好的进行多目标优化。
最后,改进遗传算法,加入可用性以及数据中心能耗考量,进一步优化数据中心总体能耗以及保证虚拟机放置方案的可用性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种虚拟机放置方法,其特征在于,包括:
形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
2.根据权利要求1所述的虚拟机放置方法,其特征在于,所述根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的种群具体为:
选取未分配的所述虚拟机;
通过最高随机权重哈希算法选择虚拟机在所述叶子节点上的权重得分较高的所述叶子节点;
选择所述叶子节点中权重得分最高的所述物理主机分配所述虚拟机;
当所述虚拟机均分配完成时结束。
3.根据权利要求2所述的虚拟机放置方法,其特征在于,
每个所述虚拟机vmi在叶子节点sj上的权重得分wij满足关系式:wij=h(vmi,sj);
所述虚拟机vmi对应的所述叶子节点中的所述物理主机pmjz+k的权重得分Wi(jz+k)满足关系式:Wi(jz+k)=H(vmi,pmjz+k)*Tagi(jz+K],其中,若Tag为false,则为0,若为true默认为1,H(vmi,pmjz+k)为在相同T时间段内,Eold与分配虚拟机vmi后的叶子节点sj的总体能耗的比值,与物理主机pmjz+k的资源利用率Ujz+k与1的差方和:
Figure FDA0001847897670000021
Ejz+k为T时间段内物理主机pmjz+k的能耗,Eold是指相同T时间段内,未分配新虚拟机时,叶子节点簇sj的能耗。α、β是表示两者的权重。
4.根据权利要求1所述的虚拟机放置方法,其特征在于,所述根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作具体为:
随机选择若干个所述放置组进行交叉操作;
对每个所述放置组以预设概率进行变异操作;
将经过交叉操作和变异操作得到的新种群与原种群合并,根据预设的适应度函数选取前所述预设规模个所述放置组进入下一次迭代过程。
5.根据权利要求4所述的虚拟机放置方法,其特征在于,所述随机选择若干个所述放置组进行交叉操作具体为:对于需要交叉的父代第一放置组和父代第二放置组,
随机选择所述父代第一放置组中一叶子节点作为需要交叉的部分;
将所述叶子节点插入所述父代第二放置组的交叉点位置中,并剔除包含重复虚拟机的所述叶子节点;
将剔除的所述叶子节点上未分配的虚拟机进行重新编码,优先选择所述第二放置组中的所述叶子节点。
6.根据权利要求4所述的虚拟机放置方法,其特征在于,所述对每个所述放置组以预设概率进行变异操作具体为:
选择所述放置组中资源利用率较小的所述物理主机进行剔除;
将剔除所述物理主机上未分配的虚拟机进行重新编码,优先选择所述放置组中的所述叶子节点。
7.一种虚拟机放置装置,其特征在于,包括:
定义单元,用于形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
条件设置单元,与所述定义单元连接,用于给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
种群生成单元,与所述条件设置单元连接,用于根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
迭代编码单元,与所述种群生成单元连接,用于根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
8.一种服务器,其特征在于,包括如权利要求7所述的虚拟机放置装置。
9.一种存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被处理器执行如下步骤:
形式化定义虚拟机放置的放置环境、资源状态、主机可用性以及电源能耗;
给出包括放置约束以及资源约束的约束条件和包括可用性优化和能耗优化的优化目标;
根据所述约束条件使用单层多节点哈希算法选择叶子节点以及所述叶子节点中的物理主机分配虚拟机,获得包括多个不同的放置组的预设规模的种群;
根据所述优化目标对各放置组基于所述叶子节点进行迭代编码操作,直至迭代次数达到预设值或两次迭代适应度之差小于适应度收敛系数。
10.一种服务器,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任意一项所述的虚拟机放置方法的步骤。
CN201811284508.3A 2018-10-31 2018-10-31 虚拟机放置方法及装置、服务器 Pending CN111124590A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811284508.3A CN111124590A (zh) 2018-10-31 2018-10-31 虚拟机放置方法及装置、服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811284508.3A CN111124590A (zh) 2018-10-31 2018-10-31 虚拟机放置方法及装置、服务器

Publications (1)

Publication Number Publication Date
CN111124590A true CN111124590A (zh) 2020-05-08

Family

ID=70485311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811284508.3A Pending CN111124590A (zh) 2018-10-31 2018-10-31 虚拟机放置方法及装置、服务器

Country Status (1)

Country Link
CN (1) CN111124590A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928542A (zh) * 2022-05-17 2022-08-19 内蒙古工业大学 一种基于动态整合和多目标布谷鸟算法的虚拟机迁移方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130042123A1 (en) * 2009-04-17 2013-02-14 Citrix Systems, Inc. Methods and Systems for Evaluating Historical Metrics in Selecting a Physical Host for Execution of a Virtual Machine
CN105740051A (zh) * 2016-01-27 2016-07-06 北京工业大学 基于改进的遗传算法的云计算资源调度实现方法
CN107193640A (zh) * 2017-06-26 2017-09-22 浙江工业大学 一种基于Rendezvous哈希算法的虚拟机初始放置策略方法
CN107885601A (zh) * 2017-10-27 2018-04-06 重庆邮电大学 一种基于差分与蚁群算法的云计算任务调度方法
CN109343933A (zh) * 2018-09-17 2019-02-15 浙江工业大学 基于改进遗传算法的虚拟机初始放置策略方法
CN109447264A (zh) * 2018-09-17 2019-03-08 浙江工业大学 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130042123A1 (en) * 2009-04-17 2013-02-14 Citrix Systems, Inc. Methods and Systems for Evaluating Historical Metrics in Selecting a Physical Host for Execution of a Virtual Machine
CN105740051A (zh) * 2016-01-27 2016-07-06 北京工业大学 基于改进的遗传算法的云计算资源调度实现方法
CN107193640A (zh) * 2017-06-26 2017-09-22 浙江工业大学 一种基于Rendezvous哈希算法的虚拟机初始放置策略方法
CN107885601A (zh) * 2017-10-27 2018-04-06 重庆邮电大学 一种基于差分与蚁群算法的云计算任务调度方法
CN109343933A (zh) * 2018-09-17 2019-02-15 浙江工业大学 基于改进遗传算法的虚拟机初始放置策略方法
CN109447264A (zh) * 2018-09-17 2019-03-08 浙江工业大学 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928542A (zh) * 2022-05-17 2022-08-19 内蒙古工业大学 一种基于动态整合和多目标布谷鸟算法的虚拟机迁移方法
CN114928542B (zh) * 2022-05-17 2023-05-16 内蒙古工业大学 一种基于动态整合和多目标布谷鸟算法的虚拟机迁移方法

Similar Documents

Publication Publication Date Title
Gao et al. A multi-objective ant colony system algorithm for virtual machine placement in cloud computing
Shi et al. MDP and machine learning-based cost-optimization of dynamic resource allocation for network function virtualization
Dehury et al. DYVINE: Fitness-based dynamic virtual network embedding in cloud computing
Gan et al. Genetic simulated annealing algorithm for task scheduling based on cloud computing environment
Szabo et al. Science in the cloud: Allocation and execution of data-intensive scientific workflows
CN112286677B (zh) 一种面向资源受限边缘云的物联网应用优化部署方法
CN111381936B (zh) 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统
US20110307899A1 (en) Computing cluster performance simulation using a genetic algorithm solution
CN109447264B (zh) 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法
CN108416465B (zh) 一种移动云环境下的工作流优化方法
Tripathi et al. Modified dragonfly algorithm for optimal virtual machine placement in cloud computing
Idrissi et al. A new approach for a better load balancing and a better distribution of resources in cloud computing
Kalra et al. Multi‐criteria workflow scheduling on clouds under deadline and budget constraints
Supreeth et al. Hybrid genetic algorithm and modified-particle swarm optimization algorithm (GA-MPSO) for predicting scheduling virtual machines in educational cloud platforms
Wangsom et al. Multi-objective scientific-workflow scheduling with data movement awareness in cloud
Mylavarapu et al. An optimized capacity planning approach for virtual infrastructure exhibiting stochastic workload
Ziafat et al. A hierarchical structure for optimal resource allocation in geographically distributed clouds
Lu et al. Optimal machine placement based on improved genetic algorithm in cloud computing
Wang et al. An energy and data locality aware bi-level multiobjective task scheduling model based on mapreduce for cloud computing
Madhumala et al. Virtual machine placement using energy efficient particle swarm optimization in cloud datacenter
Awad et al. A swarm intelligence-based approach for dynamic data replication in a cloud environment
Srinadh et al. Implementation of dynamic resource allocation using adaptive fuzzy multi-objective genetic algorithm for iot based cloud system
Sareen et al. Resource allocation strategies in cloud computing
CN112187535B (zh) 雾计算环境下服务器部署方法及装置
Qaddoum et al. Elastic neural network method for load prediction in cloud computing grid.

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 200438 9 / F, 10 / F, 11 / F, 12 / F, 38 Lane 1688, Guoquan North Road, Yangpu District, Shanghai

Applicant after: QIANXUN SPATIAL INTELLIGENCE Inc.

Address before: Room j165, 1st floor, building 64, 1436 Jungong Road, Yangpu District, Shanghai, 200433

Applicant before: QIANXUN SPATIAL INTELLIGENCE Inc.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200508