[go: up one dir, main page]

CN111338757A - Energy-optimized virtual machine deployment method and system - Google Patents

Energy-optimized virtual machine deployment method and system Download PDF

Info

Publication number
CN111338757A
CN111338757A CN202010112558.4A CN202010112558A CN111338757A CN 111338757 A CN111338757 A CN 111338757A CN 202010112558 A CN202010112558 A CN 202010112558A CN 111338757 A CN111338757 A CN 111338757A
Authority
CN
China
Prior art keywords
virtual machine
deployment
load
fitness
population
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
CN202010112558.4A
Other languages
Chinese (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.)
Wuhan Polytechnic University
Original Assignee
Wuhan Polytechnic 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 Wuhan Polytechnic University filed Critical Wuhan Polytechnic University
Priority to CN202010112558.4A priority Critical patent/CN111338757A/en
Publication of CN111338757A publication Critical patent/CN111338757A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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)
  • Feedback Control In General (AREA)

Abstract

An energy optimized virtual machine deployment method and system are disclosed. The method comprises the following steps: step 1: determining a virtual machine deployment target and constraint conditions thereof; step 2: determining a deployment solution calculation initialization parameter; and step 3: performing population initialization to enable the deployment solution of the goblet sea squirts to correspond to the deployment solution of the virtual machines one by one; and 4, step 4: calculating the individual fitness of each bottle sea squirt in the initialized population according to the deployment target of the virtual machine and the constraint conditions thereof; and 5: determining a food source, a leader and a follower to obtain an updated population; step 6: calculating the fitness of each individual of the ascidians in the updated population, and determining the food source; and 7: and 5-6, outputting the position of the food source in the current population as the final optimal solution for deploying the virtual machine. According to the invention, exploration behaviors and development behaviors in an iterative process are balanced through a group optimization model of the goblet sea squirts, and the deployment effect of the energy-optimized virtual machine is realized while the global property and diversity are ensured.

Description

能量优化的虚拟机部署方法及系统Energy-optimized virtual machine deployment method and system

技术领域technical field

本发明涉及云计算、智能群体算法领域,更具体地,涉及一种能量优化的虚拟机部署方法及系统。The present invention relates to the fields of cloud computing and intelligent swarm algorithms, and more particularly, to an energy-optimized virtual machine deployment method and system.

背景技术Background technique

云计算可以通过其灵活性、安全性、高度可扩展性以及服务质量的保证为数据中心拥有者克服传统计算模式的本地化计算方式的不足。它可以配置大量不同类型的异构服务器,服务器上可进一步利用虚拟化技术部署大量的虚拟机,利有虚拟机实现服务提供时应用的隔离。虚拟机同样拥有不同的负载类型和对各维度资源不同的需求,这可能导致资源利用与主机高能耗之间的矛盾。主机的高能耗会导致云计算运营成本的增加,同时会对环境产生不利影响。而高能耗与主机资源的利用率又是密切相关的。因此,如何进行高能效的虚拟机部署将是云计算必须解决的问题。Cloud computing can overcome the shortcomings of localized computing methods of traditional computing models for data center owners through its flexibility, security, high scalability, and quality of service assurance. It can configure a large number of heterogeneous servers of different types, and a large number of virtual machines can be further deployed on the server using virtualization technology, which is beneficial to the isolation of applications when virtual machines provide services. Virtual machines also have different load types and different requirements for resources in each dimension, which may lead to conflicts between resource utilization and high host energy consumption. The high energy consumption of the host will lead to an increase in cloud computing operating costs and adversely affect the environment. High energy consumption is closely related to the utilization of host resources. Therefore, how to deploy energy-efficient virtual machines will be a problem that cloud computing must solve.

智能群体算法是求解最优化问题的典型算法,其中,粒子群算法、遗传算法、蚁群算法、蜂群算法以及引力搜索算法均已经在云计算环境中的虚拟机部署问题中有所应用,能耗问题作为其中一个优化目标已经拥有很多阶段性成果,但由于这类元启发式算法的本身固有局限,如陷入局部最优以及依赖过多的初始参数等,使得基于能耗的虚拟机部署优化问题已经具有某此局限性,需要性能更好的元启发式算法对这一问题进行优化求解。因此,有必要开发一种能量优化的虚拟机部署方法及系统。Intelligent swarm algorithm is a typical algorithm for solving optimization problems. Among them, particle swarm algorithm, genetic algorithm, ant colony algorithm, bee colony algorithm and gravitational search algorithm have all been applied in the virtual machine deployment problem in cloud computing environment. As one of the optimization goals, the energy consumption problem has achieved many phased results. However, due to the inherent limitations of such meta-heuristic algorithms, such as falling into local optimality and relying on too many initial parameters, energy consumption-based virtual machine deployment optimization The problem already has certain limitations, and a meta-heuristic algorithm with better performance is needed to optimize the solution to this problem. Therefore, it is necessary to develop an energy-optimized virtual machine deployment method and system.

公开于本发明背景技术部分的信息仅仅旨在加深对本发明的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。The information disclosed in this Background section is only for enhancement of understanding of the general background of the invention and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.

发明内容SUMMARY OF THE INVENTION

本发明提出了一种能量优化的虚拟机部署方法及系统,其能够通过樽海鞘的群体寻优模型,充分平衡樽海鞘群体迭代过程中的勘探行为和开发行为,在保证全局性和多样性的同时,实现能量优化的虚拟机部署效果。The invention proposes an energy-optimized virtual machine deployment method and system, which can fully balance the exploration behavior and development behavior in the iterative process of the salp group through the group optimization model of salp, and ensure the overall and diversity of the salp. At the same time, an energy-optimized virtual machine deployment effect is achieved.

根据本发明的一方面,提出了一种能量优化的虚拟机部署方法。所述方法可以包括:步骤1:确定虚拟机部署目标及其约束条件;步骤2:确定部署解计算初始化参数;步骤3:通过樽海鞘算法进行种群初始化,使樽海鞘个体与虚拟机的部署解一一对应;步骤4:根据虚拟机部署目标及其约束条件,计算初始化种群中每一个樽海鞘个体的适应度;步骤5:根据适应度,确定食物源、领导者与追随者,进而确定领导者位置与追随者位置,获得更新种群;步骤6:计算所述更新种群中每一个樽海鞘个体的适应度,确定适应度值最大的樽海鞘个体,判断所述樽海鞘个体的适应度值是否大于所述食物源的适应度值,若是,则将该樽海鞘个体作为新的食物源;若否,则保留原食物源;步骤7:判断当前迭代次数是否小于最大迭代次数,若是,则重复步骤5-6,若否,则输出当前种群中的食物源位置作为最终的虚拟机部署最优解。According to an aspect of the present invention, an energy-optimized virtual machine deployment method is proposed. The method may include: step 1: determining the virtual machine deployment target and its constraints; step 2: determining the deployment solution and calculating initialization parameters; step 3: performing population initialization through the salps algorithm, so that the deployment solution between the individual salps and the virtual machine is solved. One-to-one correspondence; Step 4: Calculate the fitness of each Salina individual in the initialization population according to the virtual machine deployment target and its constraints; Step 5: Determine the food source, leader and follower according to the fitness, and then determine the leader The position of the follower and the position of the follower are obtained, and the updated population is obtained; Step 6: Calculate the fitness of each salp individual in the updated population, determine the individual with the largest fitness value, and judge whether the fitness value of the individual salp is not. is greater than the fitness value of the food source, if so, use the individual salps as a new food source; if not, keep the original food source; Step 7: Determine whether the current iteration number is less than the maximum iteration number, if so, repeat Step 5-6, if not, output the food source position in the current population as the final optimal solution for virtual machine deployment.

优选地,部署解计算初始化参数包括:最大迭代次数Tmax、虚拟机集合V、物理主机集合H、主机的资源能力矢量、虚拟机的资源请求矢量、主机的满载功耗和空闲功耗。Preferably, the deployment solution calculation initialization parameters include: maximum number of iterations T max , virtual machine set V, physical host set H, host resource capability vector, virtual machine resource request vector, host full load power consumption and idle power consumption.

优选地,所述虚拟机部署目标为:Preferably, the virtual machine deployment target is:

Figure BDA0002390529530000021
Figure BDA0002390529530000021

其中,Pi,full表示主机hi为满负载状态时的功耗,Pi,idle表示主机hi为空闲状态时的功耗,Pi表示主机hi的当前功耗,Ui,CPU为主机hi的CPU利用率。Among them, P i,full represents the power consumption when the host hi is in full load state, P i ,idle represents the power consumption when the host hi is in the idle state, P i represents the current power consumption of the host hi , U i ,CPU is the CPU utilization of host hi .

优选地,所述约束条件为:Preferably, the constraints are:

Loadi,CPU≤Ci,CPU,i=1,2,...,m (2)Load i,CPU ≤C i,CPU ,i=1,2,...,m (2)

Loadi,MEM≤Ci,MEM,i=1,2,...,m (3)Load i,MEM ≤C i,MEM ,i=1,2,...,m (3)

Loadi,DISK≤Ci,DISK,i=1,2,...,m (4)Load i,DISK ≤C i,DISK ,i=1,2,...,m (4)

Loadi,NETW≤Ci,NETW,i=1,2,...,m (5)Load i,NETW ≤C i,NETW ,i=1,2,...,m (5)

其中,Ci,CPU表示物理主机hi的CPU能力,Ci,MEM表示物理主机hi的内存能力,Ci,DISK表示物理主机hi的存储能力,Ci,NETW表示物理主机hi的网络带宽能力,Loadi,CPU表示物理主机hi的总体CPU负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载。Among them, C i,CPU represents the CPU capability of the physical host hi, C i ,MEM represents the memory capability of the physical host hi, C i ,DISK represents the storage capability of the physical host hi, and C i ,NETW represents the physical host hi is the network bandwidth capability, Load i,CPU represents the overall CPU load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i , MEM represents the overall memory load of the physical host hi .

优选地,所述步骤(3)包括:通过公式(6)对樽海鞘个体的位置进行随机化,获得初始化种群:Preferably, the step (3) includes: randomizing the position of the individual salps by formula (6) to obtain an initialization population:

Figure BDA0002390529530000031
Figure BDA0002390529530000031

其中,q=1,2,…,N,N表示樽海鞘种群的规模,j=1,2,…,n,n表示虚拟机总量,c4表示区间[0,1]内的随机数,ubj,max表示第j维空间的上限值,lbj,min表示第j维空间的下限值,x1,j表示领导者在第j维空间上的位置,xq,j表示追随者在第j维空间上的位置,

Figure BDA0002390529530000032
表示向上取整。Among them, q=1,2,...,N, N represents the size of the salps population, j=1,2,...,n, n represents the total number of virtual machines, c 4 represents a random number in the interval [0,1] , ub j,max represents the upper limit of the jth dimensional space, lb j,min represents the lower limit of the jth dimensional space, x 1,j represents the position of the leader on the jth dimensional space, x q,j represents the position of the follower on the jth dimension space,
Figure BDA0002390529530000032
Indicates rounded up.

优选地,通过公式(7)计算适应度:Preferably, the fitness is calculated by formula (7):

Figure BDA0002390529530000033
Figure BDA0002390529530000033

其中,fitness为适应度。Among them, fitness is the fitness.

优选地,根据适应度,将适应度值最大的樽海鞘个体作为当前的食物源位置,将食物源之外剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者,将剩下的N-2个樽海鞘全部作为追随者。Preferably, according to the fitness, the salp individual with the largest fitness value is used as the current food source position, and the first salp individual among the N-1 salp individuals remaining in the order outside the food source is used as the leader, Make all the remaining N-2 salps as followers.

优选地,通过公式(8)确定领导者位置:Preferably, the leader position is determined by formula (8):

Figure BDA0002390529530000041
Figure BDA0002390529530000041

其中,x1,j表示领导者樽海鞘在第j维空间上的位置,Fj表示食物源在第j维空间上的位置,ubj,max表示第j维空间的上限值,lbj,min表示第j维空间的下限值,c2和c3表示区间[0,1]间的随机数,c1为收敛因子,

Figure BDA0002390529530000042
t表示当前迭代次数,Tmax表示方法的最大迭代次数。Among them, x 1,j represents the position of the leader salps in the jth dimension space, F j represents the position of the food source in the jth dimension space, ub j,max represents the upper limit of the jth dimension space, lb j ,min represents the lower limit of the jth dimension space, c 2 and c 3 represent random numbers in the interval [0,1], c 1 is the convergence factor,
Figure BDA0002390529530000042
t represents the current number of iterations, and Tmax represents the maximum number of iterations of the method.

优选地,通过公式(9)确定追随者位置:Preferably, the follower position is determined by formula (9):

Figure BDA0002390529530000043
Figure BDA0002390529530000043

其中,q’≥2,xq’,j表示追随者在第j维空间上的位置,△t表示时间,v0表示追随者的初始速率,加速度a=(vfinal-v0)/△t,其中,vfinal=xq’-1,j-xq’,j/△t,xq’-1,j表示第q’-1个樽海鞘在第j维空间上的位置。Among them, q'≥2, x q',j represents the position of the follower on the jth dimension, △t represents the time, v 0 represents the initial velocity of the follower, and the acceleration a=(v final -v 0 )/△ t, where v final =x q'-1,j -x q',j /Δt, x q'-1,j represents the position of the q'-1th salps on the jth dimension space.

根据本发明的另一方面,提出了一种能量优化的虚拟机部署系统,其特征在于,该系统包括:存储器,存储有计算机可执行指令;处理器,所述处理器运行所述存储器中的计算机可执行指令,执行以下步骤:步骤1:确定虚拟机部署目标及其约束条件;步骤2:确定部署解计算初始化参数;步骤3:通过樽海鞘算法进行种群初始化,使樽海鞘个体与虚拟机的部署解一一对应;步骤4:根据虚拟机部署目标及其约束条件,计算初始化种群中每一个樽海鞘个体的适应度;步骤5:根据适应度,确定食物源、领导者与追随者,进而确定领导者位置与追随者位置,获得更新种群;步骤6:计算所述更新种群中每一个樽海鞘个体的适应度,确定适应度值最大的樽海鞘个体,判断所述樽海鞘个体的适应度值是否大于所述食物源的适应度值,若是,则将该樽海鞘个体作为新的食物源;若否,则保留原食物源;步骤7:判断当前迭代次数是否小于最大迭代次数,若是,则重复步骤5-6,若否,则输出当前种群中的食物源位置作为最终的虚拟机部署最优解。According to another aspect of the present invention, an energy-optimized virtual machine deployment system is proposed, characterized in that the system includes: a memory storing computer-executable instructions; The computer can execute the instructions and perform the following steps: Step 1: Determine the virtual machine deployment target and its constraints; Step 2: Determine the deployment solution and calculate the initialization parameters; Step 3: Perform population initialization through the salp algorithm, so that the salp individual and the virtual machine are initialized One-to-one correspondence of the deployment solutions; Step 4: According to the virtual machine deployment target and its constraints, calculate the fitness of each Salina individual in the initialization population; Step 5: According to the fitness, determine the food source, leader and follower, Then determine the leader position and the follower position, and obtain the updated population; Step 6: Calculate the fitness of each salp individual in the updated population, determine the salp individual with the largest fitness value, and judge the adaptation of the salp individual Whether the degree value is greater than the fitness value of the food source, if so, use the individual salps as a new food source; if not, keep the original food source; Step 7: Determine whether the current number of iterations is less than the maximum number of iterations, if so , then repeat steps 5-6, if not, output the food source position in the current population as the final optimal solution for virtual machine deployment.

优选地,部署解计算初始化参数包括:最大迭代次数Tmax、虚拟机集合V、物理主机集合H、主机的资源能力矢量、虚拟机的资源请求矢量、主机的满载功耗和空闲功耗。Preferably, the deployment solution calculation initialization parameters include: maximum number of iterations T max , virtual machine set V, physical host set H, host resource capability vector, virtual machine resource request vector, host full load power consumption and idle power consumption.

优选地,所述虚拟机部署目标为:Preferably, the virtual machine deployment target is:

Figure BDA0002390529530000051
Figure BDA0002390529530000051

其中,Pi,full表示主机hi为满负载状态时的功耗,Pi,idle表示主机hi为空闲状态时的功耗,Pi表示主机hi的当前功耗,Ui,CPU为主机hi的CPU利用率。Among them, P i,full represents the power consumption when the host hi is in full load state, P i ,idle represents the power consumption when the host hi is in the idle state, P i represents the current power consumption of the host hi , U i ,CPU is the CPU utilization of host hi .

优选地,所述约束条件为:Preferably, the constraints are:

Loadi,CPU≤Ci,CPU,i=1,2,...,m (2)Load i,CPU ≤C i,CPU ,i=1,2,...,m (2)

Loadi,MEM≤Ci,MEM,i=1,2,...,m (3)Load i,MEM ≤C i,MEM ,i=1,2,...,m (3)

Loadi,DISK≤Ci,DISK,i=1,2,...,m (4)Load i,DISK ≤C i,DISK ,i=1,2,...,m (4)

Loadi,NETW≤Ci,NETW,i=1,2,...,m (5)Load i,NETW ≤C i,NETW ,i=1,2,...,m (5)

其中,Ci,CPU表示物理主机hi的CPU能力,Ci,MEM表示物理主机hi的内存能力,Ci,DISK表示物理主机hi的存储能力,Ci,NETW表示物理主机hi的网络带宽能力,Loadi,CPU表示物理主机hi的总体CPU负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载。Among them, C i,CPU represents the CPU capability of the physical host hi, C i ,MEM represents the memory capability of the physical host hi, C i ,DISK represents the storage capability of the physical host hi, and C i ,NETW represents the physical host hi is the network bandwidth capability, Load i,CPU represents the overall CPU load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i , MEM represents the overall memory load of the physical host hi .

优选地,所述步骤(3)包括:通过公式(6)对樽海鞘个体的位置进行随机化,获得初始化种群:Preferably, the step (3) includes: randomizing the position of the individual salps by formula (6) to obtain an initialization population:

Figure BDA0002390529530000052
Figure BDA0002390529530000052

其中,q=1,2,…,N,N表示樽海鞘种群的规模,j=1,2,…,n,n表示虚拟机总量,c4表示区间[0,1]内的随机数,ubj,max表示第j维空间的上限值,lbj,min表示第j维空间的下限值,x1,j表示领导者在第j维空间上的位置,xq,j表示追随者在第j维空间上的位置,

Figure BDA0002390529530000053
表示向上取整。Among them, q=1,2,...,N, N represents the size of the salps population, j=1,2,...,n, n represents the total number of virtual machines, c 4 represents a random number in the interval [0,1] , ub j,max represents the upper limit of the jth dimensional space, lb j,min represents the lower limit of the jth dimensional space, x 1,j represents the position of the leader on the jth dimensional space, x q,j represents the position of the follower on the jth dimension space,
Figure BDA0002390529530000053
Indicates rounded up.

优选地,通过公式(7)计算适应度:Preferably, the fitness is calculated by formula (7):

Figure BDA0002390529530000061
Figure BDA0002390529530000061

其中,fitness为适应度。Among them, fitness is the fitness.

优选地,根据适应度,将适应度值最大的樽海鞘个体作为当前的食物源位置,将食物源之外剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者,将剩下的N-2个樽海鞘全部作为追随者。Preferably, according to the fitness, the salp individual with the largest fitness value is used as the current food source position, and the first salp individual among the N-1 salp individuals remaining in the order outside the food source is used as the leader, Make all the remaining N-2 salps as followers.

优选地,通过公式(8)确定领导者位置:Preferably, the leader position is determined by formula (8):

Figure BDA0002390529530000062
Figure BDA0002390529530000062

其中,x1,j表示领导者樽海鞘在第j维空间上的位置,Fj表示食物源在第j维空间上的位置,ubj,max表示第j维空间的上限值,lbj,min表示第j维空间的下限值,c2和c3表示区间[0,1]间的随机数,c1为收敛因子,

Figure BDA0002390529530000063
t表示当前迭代次数,Tmax表示方法的最大迭代次数。Among them, x 1,j represents the position of the leader salps in the jth dimension space, F j represents the position of the food source in the jth dimension space, ub j,max represents the upper limit of the jth dimension space, lb j ,min represents the lower limit of the jth dimension space, c 2 and c 3 represent random numbers in the interval [0,1], c 1 is the convergence factor,
Figure BDA0002390529530000063
t represents the current number of iterations, and Tmax represents the maximum number of iterations of the method.

优选地,通过公式(9)确定追随者位置:Preferably, the follower position is determined by formula (9):

Figure BDA0002390529530000064
Figure BDA0002390529530000064

其中,q’≥2,xq’,j表示追随者在第j维空间上的位置,△t表示时间,v0表示追随者的初始速率,加速度a=(vfinal-v0)/△t,其中,vfinal=xq’-1,j-xq’,j/△t,xq’-1,j表示第q’-1个樽海鞘在第j维空间上的位置。Among them, q'≥2, x q',j represents the position of the follower on the jth dimension, △t represents the time, v 0 represents the initial velocity of the follower, and the acceleration a=(v final -v 0 )/△ t, where v final =x q'-1,j -x q',j /Δt, x q'-1,j represents the position of the q'-1th salps on the jth dimension space.

本发明的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。The method and apparatus of the present invention have other features and advantages that will be apparent from, or will be apparent from, the accompanying drawings and the following detailed description incorporated herein. The detailed description is set forth in the detailed description, which together with the detailed description serve to explain certain principles of the invention.

附图说明Description of drawings

通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施例中,相同的参考标号通常代表相同部件。The above and other objects, features and advantages of the present invention will become more apparent from the more detailed description of the exemplary embodiments of the present invention taken in conjunction with the accompanying drawings, wherein the same reference numerals generally refer to the exemplary embodiments of the present invention. same parts.

图1示出了根据本发明的能量优化的虚拟机部署方法的步骤的流程图。FIG. 1 shows a flowchart of steps of an energy-optimized virtual machine deployment method according to the present invention.

具体实施方式Detailed ways

下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。The present invention will be described in more detail below with reference to the accompanying drawings. While preferred embodiments of the present invention are shown in the drawings, it should be understood that the present invention may be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

图1示出了根据本发明的能量优化的虚拟机部署方法的步骤的流程图。FIG. 1 shows a flowchart of steps of an energy-optimized virtual machine deployment method according to the present invention.

在该实施例中,根据本发明的能量优化的虚拟机部署方法可以包括:步骤1:确定虚拟机部署目标及其约束条件;步骤2:确定部署解计算初始化参数;步骤3:通过樽海鞘算法进行种群初始化,使樽海鞘个体与虚拟机的部署解一一对应;步骤4:根据虚拟机部署目标及其约束条件,计算初始化种群中每一个樽海鞘个体的适应度;步骤5:根据适应度,确定食物源、领导者与追随者,进而确定领导者位置与追随者位置,获得更新种群;步骤6:计算更新种群中每一个樽海鞘个体的适应度,确定适应度值最大的樽海鞘个体,判断樽海鞘个体的适应度值是否大于食物源的适应度值,若是,则将该樽海鞘个体作为新的食物源;若否,则保留原食物源;步骤7:判断当前迭代次数是否小于最大迭代次数,若是,则重复步骤5-6,若否,则输出当前种群中的食物源位置作为最终的虚拟机部署最优解。In this embodiment, the energy-optimized virtual machine deployment method according to the present invention may include: step 1: determining the virtual machine deployment target and its constraints; step 2: determining the deployment solution and calculating initialization parameters; step 3: using the salps algorithm Perform population initialization to make the individual salps correspond to the deployment solutions of the virtual machine one-to-one; Step 4: Calculate the fitness of each salp individual in the initialization population according to the virtual machine deployment target and its constraints; Step 5: According to the fitness , determine the food source, leader and follower, and then determine the position of the leader and the follower, and obtain the updated population; Step 6: Calculate the fitness of each individual in the updated population, and determine the individual with the largest fitness value. , determine whether the fitness value of the individual salps is greater than the fitness value of the food source, if so, use the individual salps as a new food source; if not, keep the original food source; Step 7: Determine whether the current iteration number is less than Maximum number of iterations, if yes, repeat steps 5-6, if no, output the food source position in the current population as the final optimal solution for virtual machine deployment.

在一个示例中,部署解计算初始化参数包括:最大迭代次数Tmax、虚拟机集合V、物理主机集合H、主机的资源能力矢量、虚拟机的资源请求矢量、主机的满载功耗和空闲功耗。In one example, the deployment decomputation initialization parameters include: the maximum number of iterations T max , the virtual machine set V, the physical host set H, the resource capability vector of the host, the resource request vector of the virtual machine, the full load power consumption and the idle power consumption of the host .

在一个示例中,虚拟机部署目标为:In one example, the virtual machine deployment targets are:

Figure BDA0002390529530000081
Figure BDA0002390529530000081

其中,Pi,full表示主机hi为满负载状态时的功耗,Pi,idle表示主机hi为空闲状态时的功耗,Pi表示主机hi的当前功耗,Ui,CPU为主机hi的CPU利用率。Among them, P i,full represents the power consumption when the host hi is in full load state, P i ,idle represents the power consumption when the host hi is in the idle state, P i represents the current power consumption of the host hi , U i ,CPU is the CPU utilization of host hi .

在一个示例中,约束条件为:In one example, the constraints are:

Loadi,CPU≤Ci,CPU,i=1,2,...,m (2)Load i,CPU ≤C i,CPU ,i=1,2,...,m (2)

Loadi,MEM≤Ci,MEM,i=1,2,...,m (3)Load i,MEM ≤C i,MEM ,i=1,2,...,m (3)

Loadi,DISK≤Ci,DISK,i=1,2,...,m (4)Load i,DISK ≤C i,DISK ,i=1,2,...,m (4)

Loadi,NETW≤Ci,NETW,i=1,2,...,m (5)Load i,NETW ≤C i,NETW ,i=1,2,...,m (5)

其中,Ci,CPU表示物理主机hi的CPU能力,Ci,MEM表示物理主机hi的内存能力,Ci,DISK表示物理主机hi的存储能力,Ci,NETW表示物理主机hi的网络带宽能力,Loadi,CPU表示物理主机hi的总体CPU负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载。Among them, C i,CPU represents the CPU capability of the physical host hi, C i ,MEM represents the memory capability of the physical host hi, C i ,DISK represents the storage capability of the physical host hi, and C i ,NETW represents the physical host hi is the network bandwidth capability, Load i,CPU represents the overall CPU load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i , MEM represents the overall memory load of the physical host hi .

在一个示例中,步骤(3)包括:通过公式(6)对樽海鞘个体的位置进行随机化,获得初始化种群:In one example, step (3) includes: randomizing the position of the individual salps by formula (6) to obtain an initialization population:

Figure BDA0002390529530000082
Figure BDA0002390529530000082

其中,q=1,2,…,N,N表示樽海鞘种群的规模,j=1,2,…,n,n表示虚拟机总量,c4表示区间[0,1]内的随机数,ubj,max表示第j维空间的上限值,定义为最大可用的物理主机数;lbj,min表示第j维空间的下限值,定义为最小的主机利用数量。通过每个樽海鞘个体的不同的ubj,max、lbj,min和c4的取值,即可得到随机生成的樽海鞘种群,由此可见,部署解空间是一个N×n的欧式空间,x1,j表示领导者第j维空间上的位置,即领导者樽海鞘所代表的部署解中第j个虚拟机部署至序号为x1,j的主机上,xq,j(q>1)表示追随者第j维空间上的位置,即追随者樽海鞘q所代表的部署解中第j个虚拟机部署至序号为xq,j的主机上,

Figure BDA0002390529530000091
表示向上取整。Among them, q=1,2,...,N, N represents the size of the salps population, j=1,2,...,n, n represents the total number of virtual machines, c 4 represents a random number in the interval [0,1] , ub j,max represents the upper limit of the jth dimensional space, which is defined as the maximum number of available physical hosts; lb j,min represents the lower limit of the jth dimensional space, which is defined as the minimum number of hosts used. Through the different values of ub j,max , lb j,min and c 4 of each individual salp, the randomly generated salp population can be obtained. It can be seen that the deployment solution space is an N×n Euclidean space , x 1,j represents the position of the leader in the jth dimension space, that is, the jth virtual machine in the deployment solution represented by the leader salps is deployed to the host with serial number x 1, j , x q, j (q >1) represents the position of the follower in the jth dimension space, that is, the jth virtual machine in the deployment solution represented by the follower salps q is deployed to the host with the serial number x q, j ,
Figure BDA0002390529530000091
Indicates rounded up.

在一个示例中,通过公式(7)计算适应度:In one example, fitness is calculated by formula (7):

Figure BDA0002390529530000092
Figure BDA0002390529530000092

其中,fitness为适应度。Among them, fitness is the fitness.

在一个示例中,根据适应度,将适应度值最大(代表最优部署解)的樽海鞘个体作为当前的食物源位置,将食物源之外剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者,将剩下的N-2个樽海鞘全部作为追随者。In one example, according to the fitness, the salp individual with the largest fitness value (representing the optimal deployment solution) is used as the current food source position, and the No. One salp individual acts as the leader, and all the remaining N-2 salps serve as followers.

在一个示例中,通过公式(8)确定领导者位置:In one example, the leader position is determined by equation (8):

Figure BDA0002390529530000093
Figure BDA0002390529530000093

其中,x1,j表示领导者樽海鞘在第j维空间上的位置,即虚拟机vj部署至序号为x1,j的主机上;Fj表示食物源在第j维空间上的位置;由于对于樽海鞘而言,食物源是未知的,所以初始状态下的领导者的位置定义为食物源的位置;ubj,max表示第j维空间的上限值,定义为最大可用的主机数量;lbj,min表示第j维空间的下限值,定义为最小的主机利用数量;c2和c3表示区间[0,1]间的随机数,用于决定第j维空间的下一个更新位置的移动方向(正向或反向)以及移动的步长;c1称为收敛因子,用于均衡方法迭代过程中樽海鞘个体的局部开发和全局勘探能力,

Figure BDA0002390529530000094
t表示当前迭代次数,Tmax表示方法的最大迭代次数,收敛因子在迭代过程中会从2递减至0。Among them, x 1,j represents the position of the leader salps in the j-th dimensional space, that is, the virtual machine v j is deployed on the host with the serial number x 1, j ; F j represents the position of the food source in the j-th dimensional space ; Since the food source is unknown for the salps, the position of the leader in the initial state is defined as the position of the food source; ub j,max represents the upper limit of the j-th dimension space, which is defined as the maximum available host Quantity; lb j,min represents the lower limit of the j-th dimension space, which is defined as the minimum number of hosts used; c 2 and c 3 represent random numbers in the interval [0,1], which are used to determine the lower limit of the j-th dimension space The moving direction (forward or reverse) of an updated position and the moving step size; c 1 is called the convergence factor, which is used to balance the local development and global exploration ability of the individual salps in the iterative process of the method,
Figure BDA0002390529530000094
t represents the current number of iterations, Tmax represents the maximum number of iterations of the method, and the convergence factor will decrease from 2 to 0 during the iteration.

在一个示例中,通过公式(9)确定追随者位置:In one example, the follower position is determined by formula (9):

Figure BDA0002390529530000101
Figure BDA0002390529530000101

其中,q’≥2,xq’,j表示追随者在第j维空间上的位置,即部署虚拟机vj的主机序号为xq’,j;△t表示时间,v0表示追随者的初始速率,加速度a=(vfinal-v0)/△t,其中,vfinal=xq’-1,j-xq’,j/△t,xq’-1,j表示第q’-1个樽海鞘在第j维空间上的位置,即第q’-1个樽海鞘所处的位置所代表的部署解中,第j个虚拟机部署至主机xq’-1,j上。Among them, q'≥2, x q',j represents the position of the follower in the jth dimension space, that is, the serial number of the host where the virtual machine v j is deployed is x q',j ; △t represents time, v 0 represents the follower The initial rate of , acceleration a=(v final -v 0 )/Δt, where v final =x q'-1,j -x q',j /Δt, x q'-1,j represents the qth The position of '-1 salps on the jth dimension space, that is, in the deployment solution represented by the position of the q'-1 salps, the jth virtual machine is deployed to the host x q'-1,j superior.

具体地,由于主机资源能力的异构性,其满载功耗各不相同,虚拟机请求的各维度资源也不相同,因此,而n台虚拟机在m台物理主机上的部署情况理论上有mn种情况,因此,虚拟虚拟机部署问题本身是NP难问题。利用樽海鞘群算法对该问题进行求解,根据本发明的能量优化的虚拟机部署方法可以包括:Specifically, due to the heterogeneity of host resource capabilities, its full-load power consumption is different, and the resources of each dimension requested by virtual machines are also different. Therefore, the deployment of n virtual machines on m physical hosts theoretically has m n cases, therefore, the virtual virtual machine deployment problem itself is NP-hard. The problem is solved by using the salps swarm algorithm, and the energy-optimized virtual machine deployment method according to the present invention may include:

步骤1:假设云数据中心拥有m台异质物理主机,表示为集合H={h1,h2,…,hm}。每一台物理主机hi拥有四种资源类型:CPU、内存、存储和网络带宽,i=1,2,…,m。通过虚拟化技术,多台虚拟机可以同时部署在同一物理主机上,每台虚拟机可以运行不同的任务。云用户为了执行应用任务,可以在任意时刻向云数据中心以虚拟机的形式提交负载执行需求,假设此时虚拟机请求数量为n台,表示为集合V={v1,v2,…,vn}。即现在需要将n台虚拟机部署在m台物理主机上。Step 1: Suppose the cloud data center has m heterogeneous physical hosts, which is represented as a set H={h 1 , h 2 ,...,h m }. Each physical host h i has four types of resources: CPU, memory, storage and network bandwidth, i=1,2,...,m. Through virtualization technology, multiple virtual machines can be deployed on the same physical host at the same time, and each virtual machine can run different tasks. In order to perform application tasks, cloud users can submit load execution requirements to the cloud data center in the form of virtual machines at any time. Assuming that the number of virtual machine requests is n at this time, it is expressed as the set V={v 1 ,v 2 ,..., v n }. That is, it is now necessary to deploy n virtual machines on m physical hosts.

将每一台物理主机hi的四种资源类型的总体能力定义为矢量Ci=(Ci,CPU,Ci,MEM,Ci,DISK,Ci,NETW),其中,Ci,CPU表示物理主机hi的CPU能力,Ci,MEM表示物理主机hi的内存能力,Ci,DISK表示物理主机hi的存储能力,Ci,NETW表示物理主机hi的网络带宽能力。The overall capability of the four resource types of each physical host h i is defined as a vector C i =(C i,CPU ,C i,MEM ,C i,DISK ,C i,NETW ), where C i,CPU Represents the CPU capability of the physical host hi, C i ,MEM represents the memory capability of the physical host hi, C i ,DISK represents the storage capability of the physical host hi, and C i ,NETW represents the network bandwidth capability of the physical host hi .

将一台虚拟机vj对于主机资源请求的能力定义为矢量Rj=(Rj,CPU,Rj,MEM,Rj,DISK,Rj,NETW),其中,Rj,CPU表示虚拟机vj请求的CPU能力,Rj,MEM表示虚拟机vj请求的内存能力,Rj,DISK表示虚拟机vj请求的存储能力,Rj,NETW表示虚拟机vj请求的网络带宽能力。The ability of a virtual machine v j to request host resources is defined as a vector R j =(R j,CPU ,R j,MEM ,R j,DISK ,R j,NETW ), where R j,CPU represents a virtual machine The CPU capability requested by v j , R j, MEM represents the memory capability requested by the virtual machine v j , R j, DISK represents the storage capability requested by the virtual machine v j , and R j, NETW represents the network bandwidth capability requested by the virtual machine v j .

令Loadi,CPU表示物理主机hi的总体CPU负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载,则一台物理主机hi的CPU利用率为:Let Load i,CPU denote the overall CPU load of the physical host h i , Load i,MEM denote the overall memory load of the physical host h i , Load i,MEM denote the overall memory load of the physical host h i, Load i ,MEM denote the physical host h i The overall memory load of hi , the CPU utilization of a physical host hi is:

Figure BDA0002390529530000111
Figure BDA0002390529530000111

令虚拟机部署π:V→H表示虚拟机在物理主机上的部署解函数,定义部署因子χ为:Let the virtual machine deployment π: V→H represent the deployment solution function of the virtual machine on the physical host, and define the deployment factor χ as:

Figure BDA0002390529530000112
Figure BDA0002390529530000112

即如果虚拟机Vb部署于主机Hg上,则部署因子χ=1;否则,χ=0。那么,That is, if the virtual machine Vb is deployed on the host Hg , the deployment factor χ=1; otherwise, χ=0. So,

Loadi,CPU=∑Rj,CPUχ(V,H),i=1,2,...,m,j=1,2,...,n (12)Load i,CPU =∑Rj , CPUχ(V,H),i=1,2,...,m,j=1,2,...,n (12)

Loadi,MEM=∑Rj,MEMχ(V,H),i=1,2,...,m,j=1,2,...,n (13)Load i,MEM =∑Rj ,MEM χ(V,H),i=1,2,...,m,j=1,2,...,n (13)

Loadi,DISK=∑Rj,DISKχ(V,H),i=1,2,...,m,j=1,2,...,n (14)Load i,DISK =∑Rj ,DISKχ (V,H),i=1,2,...,m,j=1,2,...,n (14)

Loadi,NETW=∑Rj,NETWχ(V,H),i=1,2,...,m,j=1,2,...,n (15)Load i,NETW =∑Rj ,NETWχ (V,H),i=1,2,...,m,j=1,2,...,n (15)

主机能耗主要与其资源利用率相关,且两者之间主要成线性关系。对于主机所具备的四类资源而言,CPU资源消耗了总体能耗的大部分,忽略其它资源类型产生的能耗,因此,为了衡量主机能耗,将利用与CPU利用率成线性关系的主机能耗模型。利用式(12)可以得到主机hi上的CPU负载情况,利用式(10)可以得到主机hi上的CPU利用率情况,该利用率是部署在该主机上所有虚拟机的CPU请求之和。将主机hi的功耗定义为:Host energy consumption is mainly related to its resource utilization, and there is a linear relationship between the two. For the four types of resources possessed by the host, the CPU resource consumes most of the overall energy consumption, ignoring the energy consumption generated by other resource types. Therefore, in order to measure the host energy consumption, the host that has a linear relationship with the CPU utilization will be used. energy consumption model. Using Equation (12), the CPU load on the host h i can be obtained, and using Equation (10), the CPU utilization on the host h i can be obtained, which is the sum of the CPU requests of all virtual machines deployed on the host . The power consumption of host hi is defined as:

Figure BDA0002390529530000113
Figure BDA0002390529530000113

其中,Pi,full表示主机hi为满负载状态时的功耗,即100%的CPU占用时的功耗,单位为watt,Pi,idle表示主机hi为空闲状态时的功耗,通常情况下,主机空闲状态时的功耗为满负载功耗的70%。Pi表示主机hi的当前功耗。Among them, P i ,full represents the power consumption when the host hi is in full load state, that is, the power consumption when 100% of the CPU is occupied, in watts, P i ,idle represents the power consumption when the host hi is in an idle state, Typically, the power consumption when the host is idle is 70% of the full load power consumption. P i represents the current power consumption of the host hi .

虚拟机部署的目标是最小化所有主机的功耗,因此,可将部署目标表示为公式(1),约束条件为公式(2)-(5),其中,式(2)表明主机hi上的CPU资源负载不能越过其总体CPU能力,式(3)表明主机hi上的内存资源负载不能越过其总体内存能力,式(4)表明主机hi上的存储资源负载不能越过其总体存储能力,式(5)表明主机hi上的网络带宽资源负载不能越过其总体网络带宽能力。The goal of virtual machine deployment is to minimize the power consumption of all hosts. Therefore, the deployment goal can be expressed as formula (1), and the constraints are formulas (2)-(5), where formula (2) indicates that on the host h i The CPU resource load cannot exceed its overall CPU capacity. Equation (3) indicates that the memory resource load on the host h i cannot exceed its overall memory capacity. Equation (4) indicates that the storage resource load on the host h i cannot exceed its overall storage capacity. , Equation (5) indicates that the network bandwidth resource load on the host hi cannot exceed its overall network bandwidth capacity.

步骤2:确定部署解计算初始化参数包括:樽海鞘种群规模N、最大迭代次数Tmax、随机变量c1、c2、c3和c4、上限值ubmax和下限值lbmin、虚拟机集合V、物理主机集合H、主机的资源能力矢量(CCPU、CMEM、CDISK、CNETW)、虚拟机的资源请求矢量(RCPU、RMEM、RDISK、RNETW)、主机的满载功耗Pfull和空闲功耗PidleStep 2: Determine the deployment solution and calculate the initialization parameters including: salps population size N, maximum number of iterations T max , random variables c 1 , c 2 , c 3 and c 4 , upper limit ub max and lower limit lb min , virtual machine set V, physical host set H, host resource capability vector (C CPU , C MEM , C DISK , C NETW ), virtual machine resource request vector (R CPU , R MEM , R DISK , R NETW ), host's Full load power consumption P full and idle power consumption P idle ;

步骤3:通过樽海鞘算法进行种群初始化,使樽海鞘个体与虚拟机的部署解一一对应,传统的樽海鞘群优化算法属于连续樽海鞘群优化过程,樽海鞘个体可以连续地在搜索空间中的任意点上移动。对于虚拟机部署问题而言,其部署解将离散地约束在不同的物理主机序号上,以便于表示单个虚拟机部署至哪个主机上。因此,虚拟机部署问题中樽海鞘群优化算法中的樽海鞘个体位置仅能以1至m间的离散数值序号形式出现,m代表资源最大序号。将樽海鞘个体位置编码为以下形式:Step 3: Initialize the population through the salps algorithm, so that the individual salps and the deployment solution of the virtual machine correspond one-to-one. The traditional salps group optimization algorithm belongs to the continuous optimization process of the salps, and the individuals of the salps can be continuously in the search space. move at any point. For the virtual machine deployment problem, the deployment solution will be discretely constrained to different physical host serial numbers, so as to indicate which host a single virtual machine is deployed to. Therefore, in the virtual machine deployment problem, the individual positions of salps in the salp group optimization algorithm can only appear in the form of discrete numerical serial numbers between 1 and m, where m represents the maximum serial number of resources. Individual salps are encoded in the following form:

Xq=[xq,1,xq,2,...,xq,n] (17)X q = [x q,1 ,x q,2 ,...,x q,n ] (17)

其中,Xq表示种群中樽海鞘个体q的位置,位置矩阵中的每个元素xq,j表示樽海鞘q在第j个维度上的位置。同时,令矢量元素xq,j为[1,m]间的随机值,q=1,2,…,N,N表示樽海鞘种群的规模,j=1,2,…,n,n表示待部署的虚拟机总量。樽海鞘的位置,即为虚拟机相应的部署解可定义在n维搜索空间内。Among them, X q represents the position of the salp individual q in the population, and each element x q,j in the position matrix represents the position of the salp q in the jth dimension. At the same time, let the vector elements x q,j be random values between [1,m], q=1,2,…,N,N represents the size of the salps population, j=1,2,…,n,n represents The total number of virtual machines to be deployed. The location of the salps, that is, the corresponding deployment solution for the virtual machine can be defined in the n-dimensional search space.

举例来说:如樽海鞘个体q的位置为Xq=[3,2,5,3,2,1,3,2,6],其代表的虚拟机部署解的具体含义为:虚拟机v1、虚拟机v4和虚拟机v7部署至主机h3上,虚拟机v2、虚拟机v5和虚拟机v8部署至主机h3上,虚拟机v3部署至主机h5上,虚拟机v6部署至主机h1上,虚拟机v9部署至主机h6上。For example: if the position of the individual q of the sea squirt is X q =[3,2,5,3,2,1,3,2,6], the specific meaning of the virtual machine deployment solution it represents is: virtual machine v 1. Virtual machine v4 and virtual machine v7 are deployed on host h3 , virtual machine v2, virtual machine v5 and virtual machine v8 are deployed on host h3, virtual machine v3 is deployed on host h5 , Virtual machine v6 is deployed on host h1 , and virtual machine v9 is deployed on host h6.

所有樽海鞘的位置即为一个二维矩阵,可定义为X:The positions of all salps are a two-dimensional matrix, which can be defined as X:

Figure BDA0002390529530000131
Figure BDA0002390529530000131

矩阵X定义了樽海鞘群体迭代进化过程中所有N个个体的位置,矩阵中每一行代表一个樽海鞘个体在n维空间中的位置,而一个樽海鞘个体的位置则代表了一种可能的虚拟机部署解。通过公式(6)对樽海鞘个体的位置进行随机化,获得初始化种群,即初始的矩阵X,迭代过程中,N个个体不断作位置更新,直到达到最大迭代次数后,得到矩阵X中适应度最大的樽海鞘个体位置作为最终的虚拟虚拟机部署解。The matrix X defines the positions of all N individuals in the iterative evolution of the salp population. Each row in the matrix represents the position of a salp individual in the n-dimensional space, and the position of a salp individual represents a possible virtual Machine deployment solution. By formula (6), the positions of the individuals of the sea squirt are randomized to obtain the initialized population, that is, the initial matrix X. During the iteration process, the N individuals continuously update their positions until the maximum number of iterations is reached, and the fitness in the matrix X is obtained. The location of the largest individual salps as the final virtual virtual machine deployment solution.

步骤4:根据虚拟机部署目标及其约束条件,通过公式(7)计算初始化种群中每一个樽海鞘个体的适应度,由于虚拟机部署的目标是最小化主机能耗,因此,樽海鞘的适应度值越大,个体代表的部署解越优;Step 4: According to the virtual machine deployment goal and its constraints, calculate the fitness of each salps individual in the initialization population by formula (7). Since the goal of virtual machine deployment is to minimize the energy consumption of the host, the adaptation of the salps is The larger the degree value, the better the deployment solution of the individual representative;

步骤5:樽海鞘种群可以划分为两个群组:领导者和追随者。链首的樽海鞘称为领导者,它在寻找食物源过程中拥有最优的判断,引导整个种群的移动。除领导者以外,剩余的其它樽海鞘均称为追随者。追随者之间相互跟随,相互之间被直接或间接领导。搜索空间中的食物源F即为樽海鞘种群的搜索目标。根据适应度,将适应度值最大的樽海鞘个体作为当前的食物源位置,将食物源之外剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者,将剩下的N-2个樽海鞘全部作为追随者。Step 5: The salp population can be divided into two groups: leaders and followers. The salp at the head of the chain is called the leader, and it has the best judgment in the process of finding food sources and guides the movement of the entire population. Except for the leader, the remaining salps are called followers. Followers follow each other and are directly or indirectly led by each other. The food source F in the search space is the search target of the salps population. According to the fitness, the salp individual with the largest fitness value is taken as the current food source position, the first salp individual among the N-1 remaining salp individuals in the order outside the food source is taken as the leader, and the remaining The N-2 salps all serve as followers.

领导者位置发生更新,即代表作为领导者的樽海鞘个体所代表的虚拟机部署解发生更新,通过公式(8)确定领导者位置,由于虚拟机部署解最终仅能限制在[1,m]区间内的整数值,即x1,j的取值必须处于[1,m]区间以内,领导者代表的虚拟机部署解为:The leader position is updated, that is, the virtual machine deployment solution represented by the salps individual as the leader is updated, and the leader position is determined by formula (8). Since the virtual machine deployment solution can only be limited to [1,m] The integer value in the interval, that is, the value of x 1,j must be within the interval [1,m]. The virtual machine deployment solution represented by the leader is:

Figure BDA0002390529530000141
Figure BDA0002390529530000141

其中,mod表示取模运算,即取余数;m表示主机总量,即最大主机序号。Among them, mod represents the modulo operation, that is, taking the remainder; m represents the total number of hosts, that is, the maximum host serial number.

通过公式(9)确定追随者位置,由于时间是迭代次数之差,故△t=1。而每次迭代开始时,追随者樽海鞘的初始速度v0=0,故追随者的位置更新公式可表示为:The follower position is determined by formula (9). Since time is the difference of the number of iterations, Δt=1. At the beginning of each iteration, the initial velocity of the follower salps is v 0 =0, so the position update formula of the follower can be expressed as:

Figure BDA0002390529530000142
Figure BDA0002390529530000142

公式(20)表明,追随者樽海鞘q’中第j个虚拟机的部署主机序号更新等于上一迭代中该樽海鞘对应的部署解与追随者樽海鞘q’-1中第j个虚拟机的部署主机序号之和的一半。基于与领导者位置同样的考虑,追随者的位置所代表的部署解为:Equation (20) shows that the update of the deployment host serial number of the jth virtual machine in the follower salps q' is equal to the deployment solution corresponding to the salps in the previous iteration and the jth virtual machine in the follower salps q'-1. half of the sum of the deployment host sequence numbers. Based on the same considerations as the leader position, the deployment solution represented by the follower position is:

Figure BDA0002390529530000143
Figure BDA0002390529530000143

进而获得更新种群。And then get the updated population.

步骤6:计算更新种群中每一个樽海鞘个体的适应度,确定适应度值最大的樽海鞘个体,判断樽海鞘个体的适应度值是否大于食物源的适应度值,若是,则将该樽海鞘个体作为新的食物源;若否,则保留原食物源;Step 6: Calculate the fitness of each salp individual in the updated population, determine the salp individual with the largest fitness value, and judge whether the fitness value of the salp individual is greater than the fitness value of the food source. individual as a new food source; if not, retain the original food source;

步骤7:判断当前迭代次数是否小于最大迭代次数,若是,则重复步骤5-6,若否,则输出当前种群中的食物源位置作为最终的虚拟机部署最优解。Step 7: Determine whether the current number of iterations is less than the maximum number of iterations. If so, repeat steps 5-6. If not, output the food source position in the current population as the final optimal solution for virtual machine deployment.

本方法通过樽海鞘的群体寻优模型,充分平衡樽海鞘群体迭代过程中的勘探行为和开发行为,在保证全局性和多样性的同时,实现能量优化的虚拟机部署效果。This method fully balances the exploration behavior and development behavior in the iterative process of the salp group through the group optimization model of salp, and achieves the effect of energy-optimized virtual machine deployment while ensuring globality and diversity.

应用示例Application example

为便于理解本发明实施例的方案及其效果,以下给出一个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本发明,其任何具体细节并非意在以任何方式限制本发明。To facilitate understanding of the solutions and effects of the embodiments of the present invention, a specific application example is given below. It will be understood by those skilled in the art that this example is provided only to facilitate understanding of the invention and that any specific details thereof are not intended to limit the invention in any way.

根据本发明的能量优化的虚拟机部署方法包括:The energy-optimized virtual machine deployment method according to the present invention includes:

步骤1:虚拟机部署的目标是最小化所有主机的功耗,因此,可将部署目标表示为公式(1),约束条件为公式(2)-(5),其中,式(2)表明主机hi上的CPU资源负载不能越过其总体CPU能力,式(3)表明主机hi上的内存资源负载不能越过其总体内存能力,式(4)表明主机hi上的存储资源负载不能越过其总体存储能力,式(5)表明主机hi上的网络带宽资源负载不能越过其总体网络带宽能力。Step 1: The goal of virtual machine deployment is to minimize the power consumption of all hosts. Therefore, the deployment goal can be expressed as Equation (1), and the constraints are Equations (2)-(5), where Equation (2) indicates that the host The CPU resource load on hi cannot exceed its overall CPU capacity. Equation (3) indicates that the memory resource load on host hi cannot exceed its overall memory capacity. Equation (4) indicates that the storage resource load on host hi cannot exceed its overall memory capacity. Overall storage capacity, Equation (5) indicates that the network bandwidth resource load on the host hi cannot exceed its overall network bandwidth capacity.

步骤2:确定部署解计算初始化参数包括:樽海鞘种群规模N、最大迭代次数Tmax、随机变量c1、c2、c3和c4、上限值ubmax和下限值lbmin、虚拟机集合V、物理主机集合H、主机的资源能力矢量、虚拟机的资源请求矢量、主机的满载功耗和空闲功耗;Step 2: Determine the deployment solution and calculate the initialization parameters including: salps population size N, maximum number of iterations T max , random variables c 1 , c 2 , c 3 and c 4 , upper limit ub max and lower limit lb min , virtual The machine set V, the physical host set H, the resource capability vector of the host, the resource request vector of the virtual machine, the full load power consumption and the idle power consumption of the host;

步骤3:通过樽海鞘算法进行种群初始化,使樽海鞘个体与虚拟机的部署解一一对应,通过公式(6)对樽海鞘个体的位置进行随机化,获得初始化种群;Step 3: Initialize the population through the salps algorithm, so that the individual salps are in one-to-one correspondence with the deployment solution of the virtual machine, and randomize the position of the individual salps by formula (6) to obtain the initialized population;

步骤4:根据虚拟机部署目标及其约束条件,通过公式(7)计算初始化种群中每一个樽海鞘个体的适应度;Step 4: According to the virtual machine deployment target and its constraints, calculate the fitness of each salps individual in the initialization population by formula (7);

步骤5:根据适应度,将适应度值最大(代表最优部署解)的樽海鞘个体作为当前的食物源位置,将食物源之外剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者,将剩下的N-2个樽海鞘全部作为追随者,进而通过公式(8)确定领导者位置,通过公式(9)确定追随者位置,获得更新种群;Step 5: According to the fitness, the salp individual with the largest fitness value (representing the optimal deployment solution) is used as the current food source position, and the first of the N-1 salp individuals remaining in the order outside the food source is selected. The individual salps is used as the leader, and the remaining N-2 salps are all used as followers, and then the leader position is determined by formula (8), and the follower position is determined by formula (9) to obtain the updated population;

步骤6:计算更新种群中每一个樽海鞘个体的适应度,确定适应度值最大的樽海鞘个体,判断樽海鞘个体的适应度值是否大于食物源的适应度值,若是,则将该樽海鞘个体作为新的食物源;若否,则保留原食物源;Step 6: Calculate the fitness of each salp individual in the updated population, determine the salp individual with the largest fitness value, and judge whether the fitness value of the salp individual is greater than the fitness value of the food source. individual as a new food source; if not, retain the original food source;

步骤7:判断当前迭代次数是否小于最大迭代次数,若是,则重复步骤5-6,若否,则输出当前种群中的食物源位置作为最终的虚拟机部署最优解。Step 7: Determine whether the current number of iterations is less than the maximum number of iterations. If so, repeat steps 5-6. If not, output the food source position in the current population as the final optimal solution for virtual machine deployment.

综上所述,本发明通过樽海鞘的群体寻优模型,充分平衡樽海鞘群体迭代过程中的勘探行为和开发行为,在保证全局性和多样性的同时,实现能量优化的虚拟机部署效果。To sum up, the present invention fully balances the exploration behavior and development behavior in the iterative process of the salp group through the group optimization model of salp, and achieves the effect of energy-optimized virtual machine deployment while ensuring globality and diversity.

本领域技术人员应理解,上面对本发明的实施例的描述的目的仅为了示例性地说明本发明的实施例的有益效果,并不意在将本发明的实施例限制于所给出的任何示例。It should be understood by those skilled in the art that the above description of the embodiments of the present invention is only intended to illustrate the beneficial effects of the embodiments of the present invention, and is not intended to limit the embodiments of the present invention to any examples given.

根据本发明的实施例,提供了一种能量优化的虚拟机部署系统,其特征在于,该系统包括:存储器,存储有计算机可执行指令;处理器,所述处理器运行所述存储器中的计算机可执行指令,执行以下步骤:步骤1:确定虚拟机部署目标及其约束条件;步骤2:确定部署解计算初始化参数;步骤3:通过樽海鞘算法进行种群初始化,使樽海鞘个体与虚拟机的部署解一一对应;步骤4:根据虚拟机部署目标及其约束条件,计算初始化种群中每一个樽海鞘个体的适应度;步骤5:根据适应度,确定食物源、领导者与追随者,进而确定领导者位置与追随者位置,获得更新种群;步骤6:计算更新种群中每一个樽海鞘个体的适应度,确定适应度值最大的樽海鞘个体,判断樽海鞘个体的适应度值是否大于食物源的适应度值,若是,则将该樽海鞘个体作为新的食物源;若否,则保留原食物源;步骤7:判断当前迭代次数是否小于最大迭代次数,若是,则重复步骤5-6,若否,则输出当前种群中的食物源位置作为最终的虚拟机部署最优解。According to an embodiment of the present invention, an energy-optimized virtual machine deployment system is provided, characterized in that the system includes: a memory storing computer-executable instructions; and a processor running a computer in the memory Executable instructions, perform the following steps: Step 1: Determine the virtual machine deployment target and its constraints; Step 2: Determine the deployment solution and calculate the initialization parameters; Step 3: Perform population initialization through the salp algorithm, so that the salp individual and the virtual machine are The deployment solutions are in one-to-one correspondence; Step 4: Calculate the fitness of each salp individual in the initialization population according to the virtual machine deployment target and its constraints; Step 5: Determine the food source, leader and follower according to the fitness, and then Determine the leader position and follower position, and obtain the updated population; Step 6: Calculate the fitness of each salp individual in the updated population, determine the salp individual with the largest fitness value, and determine whether the fitness value of the salp individual is greater than the food. The fitness value of the source, if yes, use the individual salps as a new food source; if not, keep the original food source; Step 7: Determine whether the current iteration number is less than the maximum iteration number, if so, repeat steps 5-6 , if not, output the food source position in the current population as the final optimal solution for virtual machine deployment.

在一个示例中,部署解计算初始化参数包括:最大迭代次数Tmax、虚拟机集合V、物理主机集合H、主机的资源能力矢量、虚拟机的资源请求矢量、主机的满载功耗和空闲功耗。In one example, the deployment decomputation initialization parameters include: the maximum number of iterations T max , the virtual machine set V, the physical host set H, the resource capability vector of the host, the resource request vector of the virtual machine, the full load power consumption and the idle power consumption of the host .

在一个示例中,虚拟机部署目标为:In one example, the virtual machine deployment targets are:

Figure BDA0002390529530000171
Figure BDA0002390529530000171

其中,Pi,full表示主机hi为满负载状态时的功耗,Pi,idle表示主机hi为空闲状态时的功耗,Pi表示主机hi的当前功耗,Ui,CPU为主机hi的CPU利用率。Among them, P i,full represents the power consumption when the host hi is in full load state, P i ,idle represents the power consumption when the host hi is in the idle state, P i represents the current power consumption of the host hi , U i ,CPU is the CPU utilization of host hi .

在一个示例中,约束条件为:In one example, the constraints are:

Loadi,CPU≤Ci,CPU,i=1,2,...,m (2)Load i,CPU ≤C i,CPU ,i=1,2,...,m (2)

Loadi,MEM≤Ci,MEM,i=1,2,...,m (3)Load i,MEM ≤C i,MEM ,i=1,2,...,m (3)

Loadi,DISK≤Ci,DISK,i=1,2,...,m (4)Load i,DISK ≤C i,DISK ,i=1,2,...,m (4)

Loadi,NETW≤Ci,NETW,i=1,2,...,m (5)Load i,NETW ≤C i,NETW ,i=1,2,...,m (5)

其中,Ci,CPU表示物理主机hi的CPU能力,Ci,MEM表示物理主机hi的内存能力,Ci,DISK表示物理主机hi的存储能力,Ci,NETW表示物理主机hi的网络带宽能力,Loadi,CPU表示物理主机hi的总体CPU负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载,Loadi,MEM表示物理主机hi的总体内存负载。Among them, C i,CPU represents the CPU capability of the physical host hi, C i ,MEM represents the memory capability of the physical host hi, C i ,DISK represents the storage capability of the physical host hi, and C i ,NETW represents the physical host hi is the network bandwidth capability, Load i,CPU represents the overall CPU load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i ,MEM represents the overall memory load of the physical host hi, Load i , MEM represents the overall memory load of the physical host hi .

在一个示例中,步骤(3)包括:通过公式(6)对樽海鞘个体的位置进行随机化,获得初始化种群:In one example, step (3) includes: randomizing the position of the individual salps by formula (6) to obtain an initialization population:

Figure BDA0002390529530000172
Figure BDA0002390529530000172

其中,q=1,2,…,N,N表示樽海鞘种群的规模,j=1,2,…,n,n表示虚拟机总量,c4表示区间[0,1]内的随机数,ubj,max表示第j维空间的上限值,lbj,min表示第j维空间的下限值,x1,j表示领导者在第j维空间上的位置,xq,j表示追随者在第j维空间上的位置,

Figure BDA0002390529530000181
表示向上取整。Among them, q=1,2,...,N, N represents the size of the salps population, j=1,2,...,n, n represents the total number of virtual machines, c 4 represents a random number in the interval [0,1] , ub j,max represents the upper limit of the jth dimensional space, lb j,min represents the lower limit of the jth dimensional space, x 1,j represents the position of the leader on the jth dimensional space, x q,j represents the position of the follower on the jth dimension space,
Figure BDA0002390529530000181
Indicates rounded up.

在一个示例中,通过公式(7)计算适应度:In one example, fitness is calculated by formula (7):

Figure BDA0002390529530000182
Figure BDA0002390529530000182

其中,fitness为适应度。Among them, fitness is the fitness.

在一个示例中,根据适应度,将适应度值最大的樽海鞘个体作为当前的食物源位置,将食物源之外剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者,将剩下的N-2个樽海鞘全部作为追随者。In one example, according to the fitness, the salp individual with the largest fitness value is taken as the current food source position, and the first salp individual among the N-1 remaining salp individuals ranked outside the food source is taken as the leader , take all the remaining N-2 salps as followers.

在一个示例中,通过公式(8)确定领导者位置:In one example, the leader position is determined by equation (8):

Figure BDA0002390529530000183
Figure BDA0002390529530000183

其中,x1,j表示领导者樽海鞘在第j维空间上的位置,Fj表示食物源在第j维空间上的位置,ubj,max表示第j维空间的上限值,lbj,min表示第j维空间的下限值,c2和c3表示区间[0,1]间的随机数,c1为收敛因子,

Figure BDA0002390529530000184
t表示当前迭代次数,Tmax表示方法的最大迭代次数。Among them, x 1,j represents the position of the leader salps in the jth dimension space, F j represents the position of the food source in the jth dimension space, ub j,max represents the upper limit of the jth dimension space, lb j ,min represents the lower limit of the jth dimension space, c 2 and c 3 represent random numbers in the interval [0,1], c 1 is the convergence factor,
Figure BDA0002390529530000184
t represents the current number of iterations, and Tmax represents the maximum number of iterations of the method.

在一个示例中,通过公式(9)确定追随者位置:In one example, the follower position is determined by formula (9):

Figure BDA0002390529530000185
Figure BDA0002390529530000185

其中,q’≥2,xq’,j表示追随者在第j维空间上的位置,△t表示时间,v0表示追随者的初始速率,加速度a=(vfinal-v0)/△t,其中,vfinal=xq’-1,j-xq’,j/△t,xq’-1,j表示第q’-1个樽海鞘在第j维空间上的位置。Among them, q'≥2, x q',j represents the position of the follower on the jth dimension, △t represents the time, v 0 represents the initial velocity of the follower, and the acceleration a=(v final -v 0 )/△ t, where v final =x q'-1,j -x q',j /Δt, x q'-1,j represents the position of the q'-1th salps on the jth dimension space.

本系统通过樽海鞘的群体寻优模型,充分平衡樽海鞘群体迭代过程中的勘探行为和开发行为,在保证全局性和多样性的同时,实现能量优化的虚拟机部署效果。This system fully balances the exploration behavior and development behavior in the iterative process of the salps through the group optimization model of salps, and achieves the effect of energy-optimized virtual machine deployment while ensuring globality and diversity.

本领域技术人员应理解,上面对本发明的实施例的描述的目的仅为了示例性地说明本发明的实施例的有益效果,并不意在将本发明的实施例限制于所给出的任何示例。It should be understood by those skilled in the art that the above description of the embodiments of the present invention is only intended to illustrate the beneficial effects of the embodiments of the present invention, and is not intended to limit the embodiments of the present invention to any examples given.

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。Various embodiments of the present invention have been described above, and the foregoing descriptions are exemplary, not exhaustive, and not limiting of the disclosed embodiments. Numerous modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

Claims (10)

1. A method for energy-optimized deployment of virtual machines, comprising:
step 1: determining a virtual machine deployment target and constraint conditions thereof;
step 2: determining a deployment solution calculation initialization parameter;
and step 3: performing population initialization through a goblet sea squirt algorithm to enable the goblet sea squirt individuals to correspond to the deployment solution of the virtual machine one by one;
and 4, step 4: calculating the individual fitness of each bottle sea squirt in the initialized population according to the deployment target of the virtual machine and the constraint conditions thereof;
and 5: determining a food source, a leader and a follower according to the fitness, and further determining the position of the leader and the position of the follower to obtain an updated population;
step 6: calculating the fitness of each individual goblet ascidian in the updated population, determining the individual goblet ascidian with the largest fitness value, judging whether the fitness value of the individual goblet ascidian is greater than the fitness value of the food source, and if so, taking the individual goblet ascidian as a new food source; if not, the original food source is reserved;
and 7: and judging whether the current iteration times are smaller than the maximum iteration times, if so, repeating the steps 5-6, and if not, outputting the position of the food source in the current population as a final optimal solution for deployment of the virtual machine.
2. The energy-optimized virtual machine deployment method according to claim 1, wherein deploying solution computation initialization parameters comprises: maximum number of iterations TmaxThe method comprises the following steps of A, a virtual machine set V, a physical host set H, a resource capacity vector of a host, a resource request vector of a virtual machine, and full power consumption and idle power consumption of the host.
3. The energy-optimized virtual machine deployment method of claim 1, wherein the virtual machine deployment goal is:
Figure FDA0002390529520000011
wherein, Pi,fullIndicates the host hiPower consumption in the fully loaded state, Pi,idleIndicates the host hiPower consumption in idle state, PiIndicates the host hiCurrent power consumption of Ui,CPUIs a main machine hiCPU utilization of.
4. The energy-optimized virtual machine deployment method according to claim 1, wherein the constraints are:
Loadi,CPU≤Ci,CPU,i=1,2,...,m (2)
Loadi,MEM≤Ci,MEM,i=1,2,...,m (3)
Loadi,DISK≤Ci,DISK,i=1,2,...,m (4)
Loadi,NETW≤Ci,NETW,i=1,2,...,m (5)
wherein, Ci,CPURepresents a physical host hiCPU capability of Ci,MEMRepresents a physical host hiMemory capacity of Ci,DISKRepresents a physical host hiStorage capacity of Ci,NETWRepresents a physical host hiNetwork bandwidth capability, Loadi,CPURepresents a physical host hiLoad, Loadi,MEMRepresents a physical host hiLoad, Loadi,MEMRepresents a physical host hiLoad, Loadi,MEMRepresents a physical host hiThe overall memory load.
5. The energy-optimized virtual machine deployment method of claim 1, wherein said step (3) comprises: randomizing the position of the individual goblet sea squirt by formula (6) to obtain an initialization population:
Figure FDA0002390529520000021
wherein q is 1,2, …, N, N represents the size of the ascidian goblet population, j is 1,2, …, N, N represents the total amount of virtual machines, c4Represents the interval [0,1]Inner random number, ubj,maxDenotes an upper limit value, lb, of a j-th spacej,minRepresenting a lower bound, x, of a j-space1,jRepresenting the leader's position in the j-dimensional space, xq,jRepresenting the position of the follower in the j-th dimension space,
Figure FDA0002390529520000022
indicating rounding up.
6. The energy-optimized virtual machine deployment method according to claim 1, wherein fitness is calculated by equation (7):
Figure FDA0002390529520000031
wherein, the fitness is the fitness.
7. The energy-optimized virtual machine deployment method according to claim 1, wherein, according to the fitness, the ascidian goblet with the highest fitness value is used as the current food source position, the first ascidian goblet among the N-1 ascidian goblet individuals in the sequence except the food source is used as the leader, and all the remaining N-2 ascidians goblet are used as followers.
8. The energy-optimized virtual machine deployment method according to claim 1, wherein leader location is determined by equation (8):
Figure FDA0002390529520000032
wherein x is1,jRepresenting the position of the sea squirt of the leader goblet in dimension j, FjRepresenting the position, ub, of the food source in the j-spacej,maxDenotes an upper limit value, lb, of a j-th spacej,minA lower limit value, c, representing the j-th dimension2And c3Represents the interval [0,1]Random number of cells, c1In order to be a factor of convergence, the method comprises the following steps,
Figure FDA0002390529520000033
t denotes the current number of iterations, TmaxRepresenting the maximum number of iterations of the method.
9. The energy-optimized virtual machine deployment method according to claim 1, wherein follower location is determined by equation (9):
Figure FDA0002390529520000034
wherein q' is not less than 2, xq’,jRepresenting the position of the follower in the j-space, △ t representing time, v0Representing the initial velocity of the follower, acceleration a ═ vfinal-v0) /△ t, wherein vfinal=xq’-1,j-xq’,j/△t,xq’-1,jRepresents the location of the q' -1 st ascidian in the j-dimension space.
10. An energy-optimized virtual machine deployment system, comprising:
a memory storing computer-executable instructions;
a processor executing computer executable instructions in the memory to perform the steps of:
step 1: determining a virtual machine deployment target and constraint conditions thereof;
step 2: determining a deployment solution calculation initialization parameter;
and step 3: performing population initialization through a goblet sea squirt algorithm to enable the goblet sea squirt individuals to correspond to the deployment solution of the virtual machine one by one;
and 4, step 4: calculating the individual fitness of each bottle sea squirt in the initialized population according to the deployment target of the virtual machine and the constraint conditions thereof;
and 5: determining a food source, a leader and a follower according to the fitness, and further determining the position of the leader and the position of the follower to obtain an updated population;
step 6: calculating the fitness of each individual goblet ascidian in the updated population, determining the individual goblet ascidian with the largest fitness value, judging whether the fitness value of the individual goblet ascidian is greater than the fitness value of the food source, and if so, taking the individual goblet ascidian as a new food source; if not, the original food source is reserved;
and 7: and judging whether the current iteration times are smaller than the maximum iteration times, if so, repeating the steps 5-6, and if not, outputting the position of the food source in the current population as a final optimal solution for deployment of the virtual machine.
CN202010112558.4A 2020-02-24 2020-02-24 Energy-optimized virtual machine deployment method and system Pending CN111338757A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010112558.4A CN111338757A (en) 2020-02-24 2020-02-24 Energy-optimized virtual machine deployment method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010112558.4A CN111338757A (en) 2020-02-24 2020-02-24 Energy-optimized virtual machine deployment method and system

Publications (1)

Publication Number Publication Date
CN111338757A true CN111338757A (en) 2020-06-26

Family

ID=71183681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010112558.4A Pending CN111338757A (en) 2020-02-24 2020-02-24 Energy-optimized virtual machine deployment method and system

Country Status (1)

Country Link
CN (1) CN111338757A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113128127A (en) * 2021-04-27 2021-07-16 国网上海市电力公司 Multi-region virtual power plant coordinated optimization scheduling method
CN113537833A (en) * 2021-08-12 2021-10-22 北方工业大学 Emergency vehicle dispatching method, device and equipment for traffic accident

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843689A (en) * 2016-04-12 2016-08-10 合肥工业大学 Virtual machine deployment method and system
US20160306644A1 (en) * 2015-04-14 2016-10-20 Dell Products L.P. Performance optimization of workloads in virtualized information handling systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160306644A1 (en) * 2015-04-14 2016-10-20 Dell Products L.P. Performance optimization of workloads in virtualized information handling systems
CN105843689A (en) * 2016-04-12 2016-08-10 合肥工业大学 Virtual machine deployment method and system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
MIRJALILI S. ET AL: "Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems", pages 163 - 191 *
SHAYEM SALEH ALRESHEEDI1.ET AL: "Improved multiobjective salp swarm optimization for virtual machine placement in cloud computing", pages 1 - 24 *
卓金武等: "MATLAB数学建模方法与实践", 30 June 2018, 北京航空航天大学出版社, pages: 121 - 126 *
卓金武等: "高职高专MATLAB数据建模", 31 August 2019, 北京航空航天大学出版社, pages: 124 - 129 *
张炳达: "智能信息处理技术基础", 31 October 2008, 天津大学出版社, pages: 50 - 53 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113128127A (en) * 2021-04-27 2021-07-16 国网上海市电力公司 Multi-region virtual power plant coordinated optimization scheduling method
CN113537833A (en) * 2021-08-12 2021-10-22 北方工业大学 Emergency vehicle dispatching method, device and equipment for traffic accident
CN113537833B (en) * 2021-08-12 2023-08-22 北方工业大学 Emergency vehicle dispatching method, device and equipment for traffic accidents

Similar Documents

Publication Publication Date Title
Fu et al. Task scheduling of cloud computing based on hybrid particle swarm algorithm and genetic algorithm
Liu et al. Adaptive asynchronous federated learning in resource-constrained edge computing
Junaid et al. Modeling an optimized approach for load balancing in cloud
Pacini et al. Distributed job scheduling based on Swarm Intelligence: A survey
Al-Olimat et al. Cloudlet scheduling with particle swarm optimization
Keshk et al. Cloud task scheduling for load balancing based on intelligent strategy
Hariharan et al. WBAT job scheduler: a multi-objective approach for job scheduling problem on cloud computing
Dubey et al. A hybrid multi-faceted task scheduling algorithm for cloud computing environment
CN104461728A (en) Migration event dispatching management
CN110058924A (en) A kind of container dispatching method of multiple-objection optimization
CN113641447B (en) Online learning type scheduling method based on container layer dependency relationship in edge calculation
CN116366658B (en) A cloud computing load balancing method and system
Li et al. Page-sharing-based virtual machine packing with multi-resource constraints to reduce network traffic in migration for clouds
Filiposka et al. Community-based VM placement framework
CN114461386A (en) Task allocation method and task allocation device
CN111338757A (en) Energy-optimized virtual machine deployment method and system
Xia et al. Towards energy-aware federated learning via marl: A dual-selection approach for model and client
CN117112145A (en) Training model distribution method, device, computer equipment and storage medium
CN114168311A (en) Computing device and processor-implemented method
CN117032902A (en) Cloud task scheduling method for improving discrete particle swarm algorithm based on load
Hao et al. QoS-aware augmented reality task offloading and resource allocation in cloud-edge collaboration environment
CN111488208B (en) Edge-cloud collaborative computing node scheduling optimization method based on variable step size bat algorithm
CN110175172B (en) A Parallel Enumeration Method for Large Bipartite Cliques Based on Sparse Bipartite Graphs
Kaur et al. Cuckoo-Neural Approach for Secure Execution and Energy Management in Mobile Cloud Computing
Srivastava et al. Multi-objective binary whale optimization-based virtual machine allocation in cloud environments

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: 20200626