APP下载

云数据中心基于贪心算法的虚拟机迁移策略

2019-12-23刘开南

计算机应用 2019年11期

刘开南

摘 要:为了节省云数据中心的能量消耗,提出了幾种基于贪心算法的虚拟机(VM)迁移策略。这些策略将虚拟机迁移过程划分为物理主机状态检测、虚拟机选择和虚拟机放置三个步骤,并分别在虚拟机选择和虚拟机放置步骤中采用贪心算法予以优化。提出的三种迁移策略分别为:最小主机使用效率选择且最大主机使用效率放置算法MinMax_Host_Utilization、最大主机能量使用选择且最小主机能量使用放置算法MaxMin_Host_Power_Usage、最小主机计算能力选择且最大主机计算能力放置算法MinMax_Host_MIPS。针对物理主机处理器使用效率、物理主机能量消耗、物理主机处理器计算能力等指标设置最高或者最低的阈值,参考贪心算法的原理,在指标上超过或者低于这些阈值范围的虚拟机都将进行迁移。利用CloudSim作为云数据中心仿真环境的测试结果表明,基于贪心算法的迁移策略与CloudSim中已存在的静态阈值迁移策略和绝对中位差迁移策略比较起来,总体能量消耗少15%,虚拟机迁移次数少60%,平均SLA违规率低5%。

关键词:低能量消耗;服务等级协议违规;虚拟机迁移;云数据中心;贪心算法

中图分类号:TP393.093

文献标志码:A

Greedy algorithmbased virtual machine migration strategies in cloud data center

LIU Kainan

School of Information and Intelligent Engineering, Sanya University, Sanya Hainan 572022, China

Abstract:

In order to save the energy consumption in cloud data center, some greedy algorithmsbased Virtual Machine (VM) migration strategies were proposed. In these strategies, the virtual migration process was divided into physical host status detection, virtual machine selection and virtual machine placement, and the greedy algorithm was adopted in the process of virtual selection and virtual placement respectively. The three proposed migration strategies were: Minimum Host Utilization selection, Maximum Host Utilization placement (MinMax_Host_Utilization); Maximum Host Power Usage selection, Minimum Host Power Usage placement (MaxMin_Host_Power_Usage); Minimum Host MIPS selection, Maximum Host MIPS placement (MinMax_Host_MIPS). The maximum or minimum thresholds were set for the processor utilization efficency, the energy consumption and the processor computing power of physical host. According to the principle of greedy algorithm, the virtual machines with indicators higher or lower than the thresholds should be migrated. With CloudSim as the simulated cloud data center, the test results show that compared with the static threshold and median absolute deviation migration strategies existing in CloudSim, the proposed strategies have the total energy consumption reduced by 15%, the virtual machine migration number decreased by 60%, and the average SLA violation rate lowered about 5%.

Key words:

low energy consumption; Service Level Agreement (SLA) violation; virtual machine migration; cloud data center; greedy algorithm

0 引言

近年来随着网络带宽的提高与通信流量成本的降低,各类云服务提供商都已经逐步建立了自己的基于云的大数据中心,其能源消耗也日益增大,所以研究节能与环保的云数据中心已经成了政府与IT企业的迫切任务[1-4]。

虚拟化是云数据中心的关键技术,它通过虚拟机(Virtual Machine, VM)的形式将应用程序的任务与数据封装起来,通过虚拟机调度策略将虚拟机分派到具体的物理节点之上执行。为了提高物理资源使用效率,它们还采用虚拟机迁移(VM Migration) 策略来使虚拟机在各个物理服务器上选择与放置,最终目标是节省云数据中心能量消耗、提高服务质量(Quality of Service,QoS)、节省物理空间和高可靠性等。

目前以Beloglazov等为团队开發的Cloudsim项目在云数据中心的节能研究方面处于世界领先地位[5-8],Cloudsim项目[5]中把虚拟机迁移过程划分为物理主机状态检测、虚拟机选择和虚拟机放置三个步骤, 最终完成整个虚拟机迁移。

物理主机状态检测可以通过观察它的资源使用状态来判断,如果CPU的使用效率超过90%或者低于10%都可以认为是超负载或者低负载(overutilized 或 underutilized);这时该物理节点的这个虚拟机将被选择出来,同时放置到另外一个物理节点之上。虚拟机选择的含义是通过判断物理主机的运行状态, 然后从中选择出合适的候选迁移虚拟机集合,形成列表VmsToMigrationList。虚拟机放置的含义是将虚拟机选择算法中选择出来的候选虚拟机按照一定的算法重新放置到云数据中心其他的最合适的物理节点。

Cloudsim项目[8]还提出了一个基本框架来模拟和评测Cloudsim模拟器中的各种能量相关的算法,例如绝对中位差检测方法(Median Absolute Deviation, MAD)、静态的资源使用效率阈值检测法(Static Threshold, THR)等[9],但是这些算法只是单纯的物理主机资源阈值管理策略,没有采用智能算法进行优化。

贪心算法(Greedy Algorithm)是在软件方面很有效的一种方法,本文将CloudSim中物理主机资源阈值管理策略的算法和贪心算法相结合起来,提出了三类贪心算法, 分别对云数据中心的虚拟机选择算法和虚拟机放置算法予以优化,目的是为了减少虚拟机的迁移次数,降低云数据中心的能源消耗,减小服务等级协议(Service Level Agreement, SLA)违规比率,改善云端的服务质量。

1 相关工作

目前学术界利用虚拟机动态迁移的手段来节省云数据中心的能量消耗,构建绿色云计算环境,进行了大量的研究[10-12]。主要分为三大类:第一类是单纯的虚拟机迁移策略,没有利用相关智能算法进行优化;第二类是采用贪心算法、遗传算法、蛙跳算法等来进行优化的虚拟机分配与迁移策略;第三类是Anton Beloglazov等为团队开发的以Cloudsim模拟器平台中的迁移策略为主线的虚拟机分配策略的研究。

第一类相关研究属于早期的研究,文献[13]提出了云数据中心的绿色计算的思路和减少碳泄露的方法,该方法支持低能量消耗和减少碳泄露,实验结果显示它可以减少23%的能量消耗和25%的碳泄露。文献[14]提出了虚拟机迁移中一个自适应的低能量消耗方法,实验结果显示针对普通的能量管理算法,它可以减少18%的能量消耗。

对于第二类研究, 例如文献[15-16]提出了云计算中的基于贪心算法的任务调度及改进,实验结果表明贪心算法在串行调度算法的基础上可以改进任务调度的性能,但是它们并没有将贪心算法使用到物理资源使用和低能量消耗相关的算法之中。文献[17]提出了贪心算法优化云数据中心的虚拟机迁移策略,迁移时考虑的约束条件包括硬件因素、软件因素、网络带宽因素,是一种比较先进的迁移方法,但是其主要在多个云数据中心中迁移,本文主要研究的是虚拟机在一个云数据中心的物理节点之间的迁移。文献[18]提出了遗传算法优化的云数据中心虚拟机迁移策略,该文中作者直接指出相关实验数据表明遗传算法其性能要优于无智能优化算法等。

对于第三类研究,都以Cloudisim项目为研究背景,如基于温度感知[19]、安全检测[20]、遗传算法[21]、贪心算法[22-23]、任务映射[24]、数据依赖[25]、稳定匹配[26]等的虚拟机迁移策略。这些文献往往把虚拟机迁移过程划分为物理主机状态检测(超负载overutilized 或 低负载underutilized)、虚拟机选择(VM Selection)和虚拟机放置(VM Placement)三个步骤, 分别在虚拟机选择和放置阶段进行优化,取得了很好的效果。

本文提出的基于贪心算法的虚拟机迁移策略也是针对上述问题的改进,可以认为它是第三类针对Cloudsim云计算模拟器进行后续研究的虚拟机迁移策略。将CloudSim中虚拟机选择和虚拟机放置相关策略和贪心算法相结合起来,包括最小主机使用效率选择且最大主机使用效率放置算法(Minimum Host Utilization selection, Maximum Host Utilization placement, MinMax_Host_Utilization)、最大主机能量使用选择且最小主机能量使用放置算法(Maximum Host Power Usage selection, Minimum Host Power Usage placement, MaxMin_Host_Power_Usage)、最小主机计算能力选择且最大主机计算能力放置算法(Minimum Host MIPS selection, Maximum Host MIPS placement, MinMax_Host_MIPS)三种贪心算法,最后通过与CloudSim中已有的物理主机资源阈值管理策略进行比较,实验结果验证了贪心算法在一定程度上可以减少虚拟机迁移次数,降低云数据中心的能量消耗,降低SLA违规比率。

2 基于贪心算法的虚拟机迁移策略

2.1 虚拟机迁移的工作机制

本文也把虚拟机的迁移过程分为物理主机状态检测过程、虚拟机选择过程与虚拟机放置过程,最终完成整个虚拟机迁移过程,具体包括下面3个步骤:

步骤1 周期性地检测云数据中心的物理主机的超负载或者低负载状态(overutilized or underutilized);

步骤2 基于贪心算法完成虚拟机的选择;

步骤3 基于贪心算法进行虚拟机放置操作。

由于本文属于Cloudsim项目的后续研究,所以先指出在Cloudsim项目中已经有的物理主机状态检测方法(也可以称为物理主机阈值管理办法), 常见的包括下面5种,即根据物理资源使用效率的使用阈值情况来决定:

1)局部归约检测方法(Local Regression, LR);

2)鲁棒局部归约检测方法(Local Robust Regression, LRR);

3)绝对中位差检测方法(Median Absolute Deviation, MAD);

4)静态的资源使用效率阈值检测法(Static Threshold, THR);

5)四分位数区间检测方法(Inter Quartile Range, IQR)。

在步骤2中指出在CloudSim项目中已经有的虚拟机选择算法包括下面几种:

1)最大关联选择方法(Maximum Correlation, MC):即选择同一个物理主机上的,与CPU使用效率有最高关联度的虚拟机作为对象;

2)最小迁移时间选择方法(Minimum Migration Time, MMT):即迁移一个在最短时间内能够完成的虚拟机作为选择对象;

3)最小资源使用效率选择办法(Minimum Utilization, MU):即对一个具有最小使用效率的虚拟机进行迁移。

4)随机选择策略(Random Selection, RS):即在物理主机上随机选择一个虚拟机进行迁移。

虚拟机放置研究中一个最重要的因素是活动物理主机的数量(Number of Turnon PMs),因为它可以最大限度地决定能量消耗的大小;还有一个重要因素是物理主机的动态能量消耗的负载相关性和最小化超负载物理主机的数量。

在虚拟机放置中,如果资源比较单一,只把目标放到物理主机的数量降低上,该类问题可以划归为经典的装箱问题,该类属于NP难度问题。Cloudsim项目在最后的虚拟机放置阶段,以降低活动物理主机的个数为最重要目标,采用的是经典装箱方法(Bin Packing Problem, BPP)和改进的递减经典装箱方法(BestFitDecreasing, BFD)[8]。

本文的贪心算法策略与Cloudsim项目中不同的是,在虚拟机选择和虚拟机放置过程中,不是Cloudsim项目中的普通方法,而是参考对这些方法结合贪心算法进行了改进与优化。

2.2 虚拟机迁移的相关术语

1)物理主机使用效率(host utilization)。

物理主机的使用效率体现了云数据中心资源使用状态,公式中ui是当前的物理主机i的CPU使用效率,m是物理主机的数目,在该情况下,所有的物理主机的平均使用效率可以用式(1)来计算:

=∑mi=1ui/m(1)

2)能源消耗模型(Energy Consumption)。

为了计算云数据中心的能源消耗,假设服务器是空闲的,它的能源消耗的百分比是k,Pfull表示服务器在完全满负载工作时的能源消耗,ui是当前的物理主机i的CPU使用效率, 这样整个云服务器端的能源消耗公式为:

E=∫t(k*Pfull+(1-k)*Pfull)(2)

3)主机计算能力(Host_MIPS)。

物理主机的分配可以通过处理能力,即MIPS(Million Instructions Per Second)来分配虚拟机,在虚拟机级别的分配往往通过一个单独的任务单元(worker unit)的处理能力的总数来确定,这些单独的任務单元往往都保存在等待队列中。

虚拟机的资源使用效率如下:

Uvm=所有请求的MIPS某个虚拟机上请求的MIPS(3)

2.3 最小主机使用效率迁移策略

本节描述第一种基于贪心算法的虚拟机迁移策略,即MinMax_Host_Utilization。

前面提到,虚拟机迁移具体的过程是先物理主机状态检测,然后选择,最后放置。

如果主机的CPU的使用效率越高,在某种程度上意味着主机的能量消耗越大,有研究表明当CPU处于空闲模式时,与其具有100%的使用效率时,其能量消耗占70%的比例。因此如果把空闲的主机转入睡眠模式,能量消耗的还是有很大的降低空间。

在MinMax_Host_Utilization 算法中,所有的主机都在一定的周期范围内按照它们的使用效率进行排序,具有比较低的使用效率的主机上的虚拟机将被迁移到那些具有高使用效率的主机之上,同时将那些低使用效率的主机进入屏保模式。同时这个高使用效率不能超过一个特定的阈值(utilThreshold)。该算法属于一类单一阈值贪心算法,其伪代码如下所示:

程序前

1)

input: hostList, utilThreshold

2)

hostList.sortDecreasingUtilization()

3)

lastIndex=hostList.indexOfLastNonZeroHostUtilization()

4)

fori:= lastIndex downto 1

5)

forj:= 1 toi-1

6)

if hostList[j].currentUtil() + hostList[i].currentUtil() <= utilThreshold

7)

vmList=hostList[i].getAllVms()

8)

host[i].deleteAllVms()

9)

host[j].addVms(vmList)

10)

break

程序后

2.4 最大主机能量使用迁移策略

第二种基于贪心算法的虚拟机迁移策略,即MaxMin_Host_Power_Usage。

在一个异构主机组成的云数据中心中,各类物理服务器可能在任意的时间范围内加入到数据中心来,每个物理主机都有其自身的能量消耗。改善整个云数据中心能量消耗的一个最直接的方法就是把虚拟机从高能量消耗的主机迁移到低能量消耗的主机之上,这也是贪心算法的思路,在这种情况下,具有低能量消耗的物理主机的能量消耗也应该设置一个最小阈值(utilThreshold),其伪代码如下所示:

程序前

1)

input: hostList, utilThreshold

2)

hostList.sortIncreasingPowerUsage()

3)

fori:= hostList.size() downto 1

4)

if host[i]is off break

5)

forj:= 1 toi-1

6)

if hostList[j].currentUtil() + hostList[i].currentUtil()<=utilThreshold

7)

vmList=hostList[i].getAllVms()

8)

host[i].deleteAllVms()

9)

host[j].addVms(vmList)

10)

break

程序后

2.5 最小主机计算能力迁移策略

第三种基于贪心算法的虚拟机迁移策略,即MinMax_Host_MIPS。

在CloudSim云计算中,计算能力往往通过MIPS来表达,该贪心算法就以MIPS计算能力作为主要指标来进行虚拟机的选择和虚拟机分配。物理服务器也是按照计算能力进行降序排列,然后虚拟机从那些低MIPS的物理服务器迁移到高MIPS的物理服务器。这里值得注意的是高MIPS的物理服务器也有一个阈值(utilThreshold)。其伪代码如下所示:

程序前

1)

input: hostList, utilThreshold

2)

hostList.sortDecreasingTotalMips()

3)

fori:= hostList.size() downto 1

4)

forj:=1 toi-1

5)

if hostList[j].currentUtil() + hostList[i].currentUtil()<=utilThreshold

6)

vmList=hostList[i].getAllVms()

7)

host[i].deleteAllVms()

8)

host[j].addVms(vmList)

9)

break

程序后

3 贪心算法的虚拟机迁移策略实现

3.1 虚拟机选择过程的实现

根据CloudSim项目的思路,在CloudSim模拟器中把能量相关的虚拟机迁移策略的实现划分为两个部分:虚拟机选择算法和虚拟机放置算法。文献[8]并没有在这两个部分中加入贪心算法,本文也是参考文献[8]的思路来实现基于贪心算法的虚拟机迁移策略。图1显示了贪心算法虚拟机选择算法在CloudSim中的实现过程,它被描述成通用类图,在该图中,每个虚拟机算法算法都按照一个类来实现。中间的4个类是代表CloudSim中已经有的类,最底层的3个类表示贪心算法中新增加的类。

该虚拟机迁移策略中新增加的最底层的4个类解释如下:

PowerVmSelectionPolicyGreedyAbstract 该类包括所有贪心算法中的通用方法。

PowerVmSelectionPolicyMinHostUtilization 这个类用来从低使用效率的主机中选择虚拟机并将其迁移到高使用效率的主機之中。

PowerVmSelectionPolicyMaxHostPowerUsage 这个类将虚拟机从高能量消耗的主机迁移到低能量消耗的主机之中。

PowerSelectionPolicyMinHostMips 该类将虚拟机从低计算能力MIPS的物理服务器迁移到高计算能力MIPS的物理服务器。

3.2 虚拟机放置过程的实现

虚拟机放置过程的主要任务是发现最适合的物理主机,并将其放置在上面。图2显示了虚拟机放置的主要通用类图,中间的4个分别表示了CloudSim中已经实现的四分位数区间检测方法(Inter Quartile Range, IQR),绝对中位差检测方法(Median Absolute Deviation, MAD), 局部归约检测方法(Local Regression, LR)和静态的资源使用效率阈值检测法(Static Threshold, THR)等虚拟机迁移策略,它代表了CloudSim中已经预存在的类,最下面的三个类是表示本文的贪心算法中新增加的类。

对下面的4个的类解释如下:

PowerVmAllocationGreedyAbstract 这个类包括基于贪心算法的所有虚拟机放置的方法。

PowerVmAllocationMaxHostUtilization 这个类为那些从低使用效率到高使用效率的选择好的物理服务器放置虚拟机。

PowerVmAllocationMinHostPowerUsage 这个类为那些从高能量消耗到低能量消耗的选择好的物理服务器放置虚拟机。

PowerVmAllocationMaxHostMips 这个类为那些从低计算能力到高计算能力的选择好的物理服务器放置虚拟机。

4 贪心算法虚拟机迁移的测试

4.1 仿真环境与性能评价标准

为了对本文提出的基于贪心算法的虚拟机迁移模型进行实验分析,采用了CloudSim模拟器。CloudSim的最新版本中还提供了很多已经有的虚拟机迁移策略的能量消耗模型的实验数据,它方便科研工作者对云数据中心的能量相关的虚拟机迁移算法的比较与研究。本文主要与绝对中位差检测方法和静态的资源使用效率阈值检测法进行比较。被模拟的云数据中心主要由三类物理服务器组成,物理服务器总数为50个,物理服务器配置如表1所显示。

这50个物理服务器被设置为运行100个虚拟机,根据亚马逊Amazon EC22云服务主机的建议,虚拟机具有四种不同类型的需求,表2显示了这些虚拟机的具体情况。测试过程中假设每个虚拟机运行的是一个Web应用程序或者其他一个具有不同类型工作负载的应用程序。

按照CloudSim项目研究内容,虚拟机迁移策略评价的主要指标有三个:云数据中心的总体能量消耗、虚拟机迁移次数和平均的SLA违规分析。它们可以体现物理主机资源阈值管理策略的虚拟机迁移的性能好坏。

4.2 总能量消耗性能分析

由于本文贪心算法中是一种单一阈值算法,所以实验结果和静态阈值算法(Static Threshold, ST)进行了比较。另外,本文还与CloudSim中已有的绝对中位差检测方法(Median Absolute Deviation, MAD)策略进行了比较。把三种贪心算法中的使用效率阈值分配参数从20%~100%进行调整,从表3的实验结果显示,随着的使用效率阈值增加,云数据中心的能量消耗越来越小,MinMax_Host_MIPS贪心算法的能量消耗最小。特别在使用效率阈值20%时,ST静态阈值算法和MAD策略消耗了45.2KWh的电量,MinMax_Host_MIPS只消耗了14.9KWh的电量。在使用效率阈值相同的情况下MinMax_Host_MIPS算法的能量消耗都小于MaxMin_Host_Power_Usage算法和MinMax_Host_Utilization算法,分析原因是本文的貪心算法在虚拟机选择和虚拟机放置阶段都进行了资源使用阈值边界的优化,充分提高了活动物理主机的资源使用效率,最终间接地降低了云数据中心的能量消耗。

4.3 虚拟机迁移次数分析

表4显示了随着资源使用效率阈值从20%~100%的变化,几种物理主机资源阈值管理策略在虚拟机迁移后的迁移个数比较情况。

表4结果显示ST算法迁移次数最多,MaxMin_Host_Power_Usage和MinMax_Host_Utilization迁移次数最小,所以采用了贪心算法策略比CloudSim中已有的物理主机资源阈值管理策略要好。只要减少动态虚拟机的迁移个数,就间接减少了云数据中心的能源消耗。

4.4 平均SLA违规率分析

云数据中心中,服务质量(QoS)必须保证,QoS的衡量标准主要通过SLA违规来体现。SLA违规可以通过最小的吞吐量或者最大响应时间来表示。但是在云计算中针对不同的应用,表示方法也不完全一致,在本文中通过式(1)来表示SLA违规。

SLAviolation=

所有请求的MIPS-所有已经分配的MIPS所有请求的MIPS×100%(1)

SLA违规值的百分比将表明在客户有服务请求时,CPU并没有分配资源的比例,因此,为了云客户端增加QoS,本文的首要目标是减少SLA违规的值。一般来说,贪心算法性能应该优于CloudSim中提到的方法,但是值得注意的是,从表5可以看出来,本文的贪心算法在SLA违规指标上起初还比较低, 但是后来整体上差于MAD策略和ST策略,这个是因为贪心算法过于追求最优的目标而降低了服务质量(QoS),MinMax_Host_MIPS算法的总体能量消耗最小,这个是以SLA违规率比较高为代价的。其他的2个MaxMin_Host_Power_Usage贪心算法和MinMax_Host_Utilization贪心算法比MAD策略和ST策略的平均SLA违规比率在某些条件下还是要低,保证了云服务器的QoS。

5 结语

本文针对云数据中心的总体低能量消耗和高服务质量需求,在CloudSim物理主机资源阈值管理策略中增加了贪心算法,进一步降低服务器的能量消耗。仿真结果表明,与CloudSim中已有的虚拟机迁移策略比较起来,采用了最小主机计算能力选择且最大主机计算能力分配的MinMax_Host_MIPS算法在一定程度上可以很好地降低能量消耗,可以为企业构造云数据中心提供参考。在后续过程中将针对提出的贪心虚拟机迁移算法考虑更加多的硬件资源因素(网络带宽、内存大小、空余磁盘空间等),设计新的虚拟机动态迁移策略。

参考文献 (References)

[1]ARIANYAN E,TAHERI H,KHOSHDEL V. Novel fuzzy multi objective DVFSaware consolidation heuristics for energy and SLA efficient resource management in cloud data centers[J]. Journal of Network & Computer Applications, 2017, 78 :43-61.

[2]LEI Z, SUN E, CHEN S, et al. A novel hybridcopy algorithm for live migration of virtual machine[J]. Future Internet, 2017, 9(3):1-13.

[3]JIN X, ZHANG F, WANG L, et al. Joint optimization of operational cost and performance interference in cloud data centers[J]. IEEE Transactions on Cloud Computing, 2017, 5(4):697-711.

[4]张玉清,王晓菲,刘雪峰,等. 云计算环境安全综述[J]. 软件学报, 2016, 27(6): 1328-1348. (ZHANG Y Q, WANG X F, LIU X F, et al. Survey on cloud computing security[J]. Journal of Software, 2016, 27(6): 1328-1348.)

[5]CALHEIROS R N, RANJAN R, BELOGLAZOV A, et al. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms[J]. Software — Practice & Experience, 2011, 41(1):23-50.

[6]BELOGLAZOV A, BUYYA R. Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers[J]. Concurrency and Computation Practice and Experience, 2012, 24(13): 1397-1420.

[7]CloudsLab. CloudSim: a framework for modeling and simulation of cloud computing infrastructures and services[EB/OL]. [2019-01-03]. http://github.com/Cloudslab/cloudsim.

[8]BELOGLAZOV A, ABAWAJY J, BUYYA R. Energyaware resource allocation heuristics for efficient management of data centers for cloud computing[J]. Future Generation Computer Systems, 2012, 28(5):755-768.

[9]葉可江,吴朝晖,姜晓红,等. 虚拟化云计算平台的能耗管理[J]. 计算机学报, 2012, 35(6): 1262-1285. (YE K J, WU Z H, JIANG X H, et al. Power management of virtualized cloud computing platform[J]. Chinese Journal of Computers, 2012, 35(6): 1262-1285.)

[10]CHASE J, NIYATO D. Joint optimization of resource provisioning in cloud computing[J]. IEEE Transactions on Services Computing, 2017, 10(3): 396-409.

[11]ZHOU B, WU J, WANG L, et al. Joint optimization of server and network resource utilization in cloud data centers[C]// Proceedings of the 2018 IEEE Global Communications Conference. Piscataway: IEEE, 2018 :1-6.

[12]LI Y, LIU J, CAO B, et al. Joint optimization of radio and virtual machine resources with uncertain user demands in mobile cloud computing[J]. IEEE Transactions on Multimedia, 2018, 20(9): 2427-2438.

[13]GARG S K, YEO C S, BUYYA R. Green cloud framework for improving carbon efficiency of clouds[C]// Proceedings of the 2011 European Conference on Parallel Processing, LNCS 6852 . Berlin: Springer, 2011:491-502.

[14]SALEHI M A, KRISHNA P R, DEEPAK K S, et al. Preemptionaware energy management in virtualized data centers[C]// Proceedings of the IEEE 5th International Conference on Cloud Computing. Piscataway: IEEE, 2012:844-851.

[15]CHOUDHARY M, PEDDOJU S K. A dynamic optimization algorithm for task scheduling in cloud environment[J]. International Journal of Engineering Research & Applications, 2012, 2(3): 2564-2568.

[16]SHARMA R K, SHARMA N. A dynamic optimization algorithm for task scheduling in cloud computing with resource utilization[J]. International Journal of Scientific Engineering & Technology, 2013, 2(10): 1062-1068.

[17]PAUL A K, ADDYA S K, SAHOO B, et al. Application of greedy algorithms to virtual machine distribution across data centers[C]// Proceedings of the 2014 IEEE India Conference. Piscataway: IEEE, 2014:1-6.

[18]PORTALURI G, GIORDANO S, KLIAZOVICH D, et al. A power efficient genetic algorithm for resource allocation in cloud computing data centers[C]// Proceedings of the IEEE 3rd International Conference on Cloud Networking. Piscataway: IEEE, 2014:58-63.

[19]WANG J V, CHENG C T, TSE C K. A power and thermalaware virtual machine allocation mechanism for cloud data centers[C]// Proceedings of the 2015 IEEE International Conference on Communication Workshop. Piscataway: IEEE, 2015:2850-2855.

[20]AHAMED F, SHAHRESTANI S, JAVADI B. Security aware and energyefficient virtual machine consolidation in cloud computing systems[C]// Proceedings of the 2016 IEEE Trustcom/BigDataSE/ISPA. Piscataway: IEEE, 2016:1516-1523.

[21]VASUDEVAN M, TIAN Y, TANG M, et al. Energyefficient application assignment in profilebased data center management through a repairing genetic algorithm[J]. Applied Soft Computing, 2018, 67:399-408.

[22]BEIK R. Green cloud computing: greedy algorithms for virtual machines migration and consolidation to optimize energy consumption in a data center[J]. International Journal of Digital Application & Contemporary Research, 2014, 2(9):1-9.

[23]MAURYA K, SINHA R. Energy conscious dynamic provisioning of virtual machines using adaptive migration thresholds in cloud data center[J]. International Journal of Computer Science & Mobile Computing, 2013, 2(3):74-82.

[24]MANN Z A. Interplay of virtual machine selection and virtual machine placement[C]// Proceedings of the 2016 European Conference on ServiceOriented & Cloud Computing, LNCS 9846. Berlin: Springer, 2016: 137-151.

[25]JOSEPH C T, MARTIN J P. Task Dependency Aware Selection (TDAS) in cloud[J]. Procedia Computer Science, 2016, 93:269-275.

[26]WANG J V, FOK K Y, CHENG C T, et al. A stable matchingbased virtual machine allocation mechanism for cloud data centers[C]// Proceedings of the 2016 IEEE World Congress on Services. Piscataway: IEEE, 2016:103-106.

This work is partially supported by Hainan Natural Science Foundation Surface Project (618MS082), the National Key R&D Program of China (2017YFC0306400).

LIU Kainan, born in 1970, Ph. D., professor. His research interests include computer network, cloud computing.