计算机应用   2016, Vol. 36 Issue (10): 2692-2697  DOI: 10.11772/j.issn.1001-9081.2016.10.2692
0

引用本文 

薛胜军, 邱爽, 许小龙. 云环境下能耗感知的公平性提升资源调度策略[J]. 计算机应用, 2016, 36(10): 2692-2697.DOI: 10.11772/j.issn.1001-9081.2016.10.2692.
XUE Shengjun, QIU Shuang, XU Xiaolong. Energy-aware fairness enhanced resource scheduling method in cloud environment[J]. JOURNAL OF COMPUTER APPLICATIONS, 2016, 36(10): 2692-2697. DOI: 10.11772/j.issn.1001-9081.2016.10.2692.

基金项目

国家自然科学基金资助项目(41275116)

通信作者

邱爽(1992—),女,江苏南京人,硕士研究生,主要研究方向:云计算、资源调度,E-mail:13813953451@163.com

作者简介

薛胜军(1956—),男,山东青岛人,教授,博士生导师,博士,CCF会员,主要研究方向:计算机网络、云计算、应用气象;
许小龙(1988—),男,江苏海安人,博士研究生,主要研究方向:云计算、绿色计算。

文章历史

收稿日期:2016-04-14
修回日期:2016-05-26
云环境下能耗感知的公平性提升资源调度策略
薛胜军1,2, 邱爽1,2, 许小龙3    
1. 南京信息工程大学 计算机与软件学院, 南京 210044 ;
2. 江苏省网络监控中心(南京信息工程大学), 南京 210044 ;
3. 计算机软件新技术国家重点实验室(南京大学), 南京 210023
摘要: 针对云计算环境下大量的能源消耗和一些用户非法占有计算资源的问题,为了节约资源,同时提高系统的公平性,使所有用户能合理地使用数据中心的所有资源,提出一种基于能耗感知的节能公平的资源调度算法(FGRSA)。该算法能高效调度各种类型的资源使所有资源使用量达到一个相对的公平。通过CloudSim仿真平台,对提出的调度策略进行仿真实验。实验结果表明,与Greedy算法和Round Robin算法相比,FGRSA能够在大幅度降低系统能耗的同时,保证各类型资源的公平使用。
关键词: 云计算    资源调度    能耗模型    公平性    多类型资源    
Energy-aware fairness enhanced resource scheduling method in cloud environment
XUE Shengjun1,2, QIU Shuang1,2, XU Xiaolong3     
1. School of Computer and Software, Nanjing University of Information Science and Technology, Nanjing Jiangsu 210044, China ;
2. Jiangsu Engineering Center of Network Monitoring (Nanjing University of Information Science and Technology), Nanjing Jiangsu 210044, China ;
3. State Key Laboratory for Novel Software Technology (Nanjing University), Nanjing Jiangsu 210023, China
Abstract: To address the problems of large energy consumption and illegal possession of computing resources by users in cloud environment, a new algorithm named Fair and Green Resource Scheduling Algorithm (FGRSA) was proposed to save resources and enhance the fairness of the system, so that all users can reasonably use all the resources in the data center. By using the proposed method, various types of resources can be can scheduled to make use of all resources to achieve relative fairness. The simulation experiments of the proposed scheduling strategy was conducted on CloudSim. Experimental resutls show that, compared with Greedy algorithm and Round Robin algorithm, FGRSA can significantly reduce the energy consumption and simultaneously ensure fair use of all types of resources.
Key words: cloud computing    resource scheduling    energy consumption model    fairness    multi-type resources    
0 引言

从Google公司提出云计算的概念以来,很多大型企业纷纷参与到云计算的研究中,Amazon率先推出了AWS服务,而后,Google、微软和IBM也分别推出了Google App Engine、Windows Azure和Lotus等云服务[1],使得云计算的市场规模迅速扩大,用户急剧增长。随着云计算规模迅速提升,随之而来的是能源消耗的急剧增长,在数据中心,服务器等基础设施会带来大量的电能消耗[2]。由于云计算被提倡为“绿色计算”[3],针对以上现状,目前云计算数据中心在硬件方面大多采用动态变频变压技术(Dynamic Voltage and Frequency Scaling,DVFS)及服务器状态切换技术等[4],这些硬件技术为云计算数据中心的技能管理系统提供了有效的硬件技术支持。在软件方面,云计算广泛采用虚拟化机制,在任务调度和资源迁移调度方面为云计算数据中心的节能调度提供了很大的便利。

在数据中心能源被大量消耗的同时,一些计算节点为了得到更多的资源,会通过长期占用等手段非法使用资源[5],这样会造成系统资源使用不合理,对资源调度的公平性造成破坏。在已提出的经典的资源调度问题中,如加权轮转法和最小负载优先等,都不能保证所有用户的任务得到高效公平的完成。在异构的云计算环境下,用户提供的任务往往有多种类型,如计算密集型任务、存储密集型任务等,相对于单一类型资源的调度问题而言,多类型资源的调度更加难以做到完全的公平。所以在异构的云计算环境下,节能减排的同时实现公平高效的调度多类资源就显得尤其重要,这也成为近来研究的一个热点问题。

针对现存的云计算数据中心高能耗的问题,国内外学术界以及工业界都展开了很多深入的研究。近年来也有人提出了“绿色云计算”的概念。目前,大多数的研究学者认为,绿色云计算是指通过各种软硬件的技术来改善云计算数据中心的硬件设施设计,提高数据中心的资源利用率,减少能源的损失以达到降低能耗的目的,从而减少二氧化碳的排放量,取得更高效的节能环保成果[6]。能耗模型是实现绿色云计算的核心问题,文献[7]主要研究了物理主机的能耗,但该能耗模型没有考虑具体的工作负载对特定硬件的影响。文献[8]针对云任务提出了一个能源模型,该模型的节能任务合并算法可以减少云环境下的能源消耗;不足之处在于其假定物理机的能耗和CPU的使用率成线性关系,但是在异构云计算环境下,往往是多资源类型多任务类型,不一定和CPU的使用率成线性关系。Liu等[9]提出了一种可以基于服务器CPU利用率来动态合并虚拟机的云基础设施,根据CPU的使用率判定空闲的物理服务器并将其关闭,但该方法没有考虑具有多任务类型的大型任务对模型的影响,所以方法还不完善。每一个物理机的能源消耗是由CPU、缓存、内存和硬盘产生的[10],但在虚拟化的云计算环境中,能源消耗可以由两方面组成[11-12]:静态的能源消耗与动态的能源消耗。Kansal等[10]提出了一个集CPU、内存、磁盘及其他静态资源为一体的能耗模型。Bohra等[12]提出了一个新的虚拟机能耗模型,将每个资源当作一个域,该能耗模型由两部分组成:基础的能源消耗和动态的能源消耗。本文采取的计算能耗模型,则避开了上述能耗模型的弊端,将系统的能耗分为动态能耗和静态能耗两种,分别根据物理机的不同状态的基础能耗比,准确实时地计算系统能耗。

为了减少数据中心的能耗,学者们研究出了许多技术,包括动态变频变压技术、内存最优化[13]等。但这些技术都未考虑虚拟化的环境、能源管理机制的集成和虚拟化技术的策略,例如虚拟机的实时迁移和计算节点状态的切换[14-15]等都可以用来减少云计算数据中心的能源消耗。Beloglazov等[16]提出了一个用实时迁移方法动态分配虚拟机的启发式调度算法。

在虚拟机迁移的过程中,存在一个虚拟机是否公平得迁移到新的物理机上的问题。早期的研究大多是寻求最小资源需求最大化,保证大多数的用户请求得到满足,但这些都是针对单一类型资源的调度情况,在多资源的公平性调度方面,已有的工作也是针对同一种资源的多实例分配方法,文献[17]就是针对多个CPU实例的调度方法,这些方法并没有真正涉及到多资源类型。文献[18]提出了一种基于“优势份额”(Dominant Share)的DRF调度算法,解决了在多种类型资源共存的情况下如何保证公平调度的问题。本文将DRF的一些思想引入到云平台资源调度问题,首先提出了多类型任务公平分配算法(Multi-type Tasks Allocation Algorithm,MTAA),接着在MTAA算法的基础上提出了一种基于能耗感知的节能公平的资源调度算法(Fair and Green Resource Scheduling Algorithm,FGRSA)。该算法真正实现了在多种类型的任务和资源共存的环境下,最小化系统能耗量和提升系统各资源公平性。

1 系统模型 1.1 能耗计算模型

在现有的大多数的能耗模型中,主要存在基于系统使用率的能耗模型和基于性能计数器的能耗模型两种。对于系统使用率的能耗模型显得更为稳定,本文的公平性参数就是物理机上各类资源的使用率,所以本文将物理机的基础能耗和虚拟机不同状态的能耗、虚拟机内部外部通信、物理机内外部通信和物理机不同状态的切换产生的能耗同时考虑进去,是一套完整的系统能耗计算模型。

云计算数据中心的能耗E由静态能耗EStatic和动态能耗EDyna组成,即

${{\delta }_{m}}\text{=}2\gamma \text{*(}{{\varphi }_{m}}\text{+}Nu{{m}_{vm,m}}*\beta \text{)/}{{\varphi }_{m}}$ (1)

其中:静态能耗EStatic代表应用程序执行时的能源消耗;动态能耗EDyna代表数据中心所有动态操作的能源消耗;1≤m≤M,M为总的物理机数量。

每台物理机在运行状态下的基本能耗称作基础能耗比,所以所有物理机的总基础能耗表示为PMbase

$P{{M}_{base}}={{\sum\nolimits_{m=1}^{M}{T_{m}^{active}\varphi }}_{m}}$ (2)

其中:M表示物理机的总量;T mactive为物理机Pm的总运行时间;φm表示一台物理机的基础能耗比例。

执行程序时由运行的虚拟机产生的能耗可以表示为:

$V{{M}_{exe}}=\sum\nolimits_{m=1}^{M}{\sum\nolimits_{i=1}^{{{V}_{m}}}{t_{m,i}^{exe}\beta }}$ (3)

定义物理机集合:PM={PM1,PM2,…,PMm,…,PMM}。对于每一个物理机PMm,运行在其上的虚拟机表示为vmm,每台物理机上有vm台虚拟机,PMm,i表示物理机PMm上第i(1≤i≤vm)个虚拟机。所以,tm,iexe代表PMm,i的总执行时间,β为每个虚拟机的执行能源消耗比。

当一台物理机上存在一些空闲的虚拟机时,这些虚拟机只消耗一些基本的能耗。这种情况下由空闲虚拟机产生的能耗表示为:

$V{{M}_{idle}}=\sum\nolimits_{m=1}^{M}{\sum\nolimits_{i=1}^{{{V}_{m}}}{t_{m,i}^{idle}\text{ }\!\!\gamma\!\!\text{ }}}$ (4)

其中:tm,iidle为PMm,i的总空闲时间;γ为每个虚拟机的基本的能源消耗。

由于一些任务过大,需要将其分配到两台或两台以上的虚拟机上执行,当这些虚拟机都分布在同一台物理机上时,会产生同一台物理机上不同虚拟机之间的通信能耗。内部通信能耗可以表示为:

${{C}_{\text{inter}}}=\sum\nolimits_{m=1}^{M}{\sum\nolimits_{i=1}^{{{V}_{m}}}{\sum\nolimits_{j=1}^{{{V}_{m}}}{\frac{{{d}_{i,j}}}{b{{w}_{m}}}{{\vartheta }_{m}}}}}$ (5)

其中:di,j表示从虚拟机Vi到虚拟机Vj的总数据传输量;bwm表示物理机PMm的内部通信带宽;m表示PMm的内部通信能耗比。

当任务过大分配到多个虚拟机上执行时,这些虚拟机若是分布在不同的物理机上,则会产生不同物理机之间的通信能耗,称作外部通信能耗,表示为:

${{C}_{exter}}=\sum\nolimits_{m=1}^{M}{\sum\nolimits_{m=1}^{M}{\frac{{{D}_{m,{{m}^{'}}}}}{b{{w}_{m,{{m}^{'}}}}}}}{{\omega }_{m,{{m}^{'}}}}$ (6)

其中:D′m,m表示从PMm到PM′m 的总数据传输量;bw′m,m表示PMm和PM′m 之间的通信带宽;ω′m,m为相应的能源消耗比例。

所以,应用程序执行时的总能源消耗EStatic可表示为:

${{E}_{Static}}=P{{M}_{base}}+V{{M}_{exe}}+V{{M}_{idle}}+{{C}_{\operatorname{int}er}}+{{C}_{exter}}$ (7)

当一台物理机上的所有虚拟机都处于空闲状态时,这台物理机可以设定成两种状态:低能耗状态和睡眠状态。状态切换能耗ECSwitch是由物理机向睡眠状态、低能耗状态和运行状态之间的相互切换所消耗的能源组成的。一个空闲的物理机该切换为低能耗状态或睡眠状态的阈值为δmm计算为:

${{\delta }_{m}}\text{=}2\gamma \text{*(}{{\varphi }_{m}}\text{+}Nu{{m}_{vm,m}}*\beta \text{)/}{{\varphi }_{m}}$ (8)

其中:γ为开启一个物理机或将一个物理机切换到睡眠模式所需要的时间;φm为物理机m的基础能耗比;Numvm,m为物理机m上虚拟机的数量; β为每个虚拟机运行时的能源消耗比。

当一台物理机的空闲总时间超过阈值δm,则切换到睡眠模式;否则切换到低能耗模式,即

${{\omega }_{m}}=\left\{ \begin{matrix} {{\rho }_{m}},{{T}_{idle}}>{{\delta }_{m}} \\ {{\varphi }_{m}},{{T}_{idle}}<{{\delta }_{m}} \\ \end{matrix} \right.$ (9)

其中: ρm为睡眠状态的物理机m的能耗比; φm为低能耗状态的物理机m的能耗比。所以,空闲状态的物理机能耗为:

$E{{C}_{idle}}=\sum\nolimits_{m=1}^{M}{T_{m}^{idle}}*{{\omega }_{m}}$ (10)

其中:T midle为物理机m上的所有虚拟机的空闲时间。

在切换状态时的能源消耗表示为ECSwitch,设定物理机在开启和睡眠状态的切换操作要消耗最多的能源,即

$E{{C}_{switch}}=\sum\nolimits_{m=1}^{M}{Nu{{m}_{switch,m}}*\left( {{\varphi }_{m}}+Nu{{m}_{vm,m}}*\alpha \right)*\gamma }$ (11)

其中:NumSwitch,m表示物理机m在睡眠状态和运行状态之间的切换次数。

那么,系统动态操作的能耗可以由式(12)计算:

${{E}_{Dyna}}=E{{C}_{idle}}+E{{C}_{Switch}}$ (12)
1.2 公平性计算模型

由于数据中心每时每刻都在处理海量数据,所以公平性度量函数也要充分地考虑到云计算平台的这种特性,在资源动态变化的情况下,对当前状态的公平值有个准确有效的评估。所以本文提出的公平性函数如下:

$G={{F}_{\lambda \left( R \right),t}}(x)$ (13)

其中:函数F为动态公平性映射关系;λ为资源利用率参数,不同类型的资源返回的λ值是不同的;t表示时间的变化;x为当前时间t的节点计算任务集合。该公平性函数是可以实时评估系统的公平性的。

设定云计算数据中心提供的资源集合为R,资源池由一系列的异构资源组成,定义数据中心共有K种资源。则R={R1,R2,…,Rk,…,RK}。所有用户提交的任务集合为T,T包括所有等调度的任务。每一个任务表示为Tn(1≤n≤N)。存在的资源对应的资源总量为Rk。不同的密集型任务应该分配给不同类型的虚拟机。设定任务Tn分配到物理机m上,在物理机m上的资源需求向量为di={dm,n,1,dm,n,2,…,dm,n,k,…,dm,n,K},物理机m上的各资源消耗量为Cm,n,1,Cm,n,2,…,Cm,n,k,…,Cm,n,K

一个任务的主要份额就是它对应k类型所需要的资源占执行该任务的物理机的对应类型资源的百分比,即

${{\mu }_{i}}=\frac{{{d}_{n}}}{{{R}_{k}}}$ (14)

其中:dn为任务n对应类型的资源需求量;Rk表示所有k类资源的总量。

所以,公平值的计算公式为:

$G={{\sum\nolimits_{k=1}^{k=K}{(\sum\nolimits_{i=1}^{i=Nu{{m}_{Task}}}{judge\left( k,tas{{k}_{i}} \right)*{{\mu }_{i}}})}}^{{{\eta }_{k}}}}$ (15)

其中:ηk表示各类资源的资源利用率,是同种类型的正在运行的虚拟机个数与对应类型的所有虚拟机个数比; judge(k,taski)用于判断任务taski是否是k类型的任务,当任务taski是类型k的任务,返回值为1,否则为0。

2 本文算法 2.1 多类型任务公平分配算法

由于用户往数据中心提交的海量任务中有很多类型,例如视频流任务对网络资源带宽的需求量大,而对CPU、内存和存储资源等其他资源的需求量较小,所以将视频流任务设定为带宽密集型任务。在云计算资源池中,有一系列异构的服务器,每台服务器对于各种类型的任务处理效率不同,每种类型的任务对物理机中各种资源的需求量也是不同的。所以在创建虚拟机时,要根据相应的任务类型创建相应类型的虚拟机,配置在相应类型的物理机上。若以CPU密集型任务、带宽密集型任务、内存密集型任务和存储资源密集型任务对虚拟机资源的需求举例,则结果如图 1所示。

图 1 虚拟机各种资源的资源量分配示意图

假设CPU密集型的任务分配到VM1上,则VM1的各种类型的资源分配应如图 1所示,余下的三个虚拟机规格设置以此类推。

将任务分配到物理机上时,要采用公平的分配方法,本文提出一种按任务类型请求物理机的分配方法,将同种类型的任务分配到对应类型的物理机上。

本文提出的MTAA是将每个任务的各类型资源的消耗量与同一类型的物理机资源量进行对比,若任务n为CPU密集型任务,则该任务对CPU的需求量与物理机m的CPU资源量比为:

${{W}_{n,m}}=\frac{{{d}_{n,CPU}}}{{{R}_{m,CPU}}}$ (16)

其中:dn,CPU为任务n对CPU资源的需求量。

别的任务类型的需求量比值以此类推可计算出,先根据任务列表中的每个资源的任务的需求量比进行降序排列,得到最小的物理机m。将每个任务分配到对应类型物理机列表中需求量比值最小的物理机上且要满足可分配准则F为1:

$F={{C}_{m,k}}<{{R}_{m,k}}$ (17)

其中:1≤k≤K。即待分配任务的物理机各类资源的现有使用量均不超过总资源量,当满足分配准则时,将任务n分配到物理机m上,再更新该物理机的已使用资源量和任务列表T,若不满足分配准则,则在剩下的可满足分配准则的物理机中寻找Wn,m值最小的物理机,将任务分配上去,最后更新任务列表和物理机的各类资源使用量。以此类推,直到所有任务执行完毕。

算法MTAA的伪代码如下所示。

算法1 多类型任务公平分配算法MTAA。

输入 一组多类型任务,各个物理机各类资源量。

输出 任务分配结果。

1) 初始化任务列表T,物理机列表P,每个物理机的四种资源使用量等参数

2)  while n <N

3)   do for 任务列表中的每个任务

4)    do 计算每个类型任务的需求量比Wn,m;

5)     降序排列Wn,m;

6)     选出Wn,m最小的物理机m;

7)     Cm,k=Cm,k+di,m,k;/*判定物理机未超负荷*/

8)   if 满足可分配准则 then

9)    将任务n分配到物理机m上;

10)   else then

11)    do 选出满足可分配准则的物理机中Wn,m值最小的物理机;

12)     do 分配任务n到该物理机上并从任务列表中删除任务n;

13)   end if

14)  do 更新任务列表和物理机的各类资源使用量;

15)  until 满足可分配准则;

16)  end for

17) end while

18) 算法MTAA停止

2.2 算法FGRSA

虚拟机的动态迁移是指虚拟机在运行时,可以在服务器节点之间迁移。虚拟机的动态迁移包含两个基本过程:对于主机负载过高的服务器,迁移其中的虚拟机以降低主机负载,这个阈值定义为上限阈值θ1;对于低负载的主机,可以将运行在上面的虚拟机迁出,然后切换到一种低功耗的模式,降低活动主机数量,从而降低数据中心的总能耗,这个阈值定义为下限阈值θ2

将虚拟机的动态迁移问题划分为以下几个部分:

1) 决策主机处于低负载状态的阈值θ2,负载低于这个阈值的物理机将会被切换到休眠或者关闭状态,并将运行在其上的虚拟机全部调度出去;

2) 决策主机处于高负载状态的阈值θ1,将从中迁移出来一些特定的虚拟机,使主机的负载降低;

3) 决策处于高负载状态的主机中,迁移出哪些虚拟机。

FGRSA的伪代码如下所示。

算法2 节能公平的资源调度算法FGRSA。

输入 物理机列表,各物理机的各类资源使用率。

输出 资源调度方案。

1) 初始化物理机列表P

2) 根据算法1对任务进行初始分配

3) for 所有运行的物理机

4)  do 定时将各物理机的各类资源使用率发送到调度中心;

5)  if 存在资源使用率> θ1的物理机 then

6)   从过载物理机中获得虚拟机迁移列表List;

7)   将List中的虚拟机根据算法1迁移到当前物理机列表中负载最低的物理机上;

8)  else if 被分配的物理机过载 then

9)   开启一台新的物理机,根据算法1将虚拟机迁移到该物理机上;

10)  else 按照当前调度方案,更新各个物理机状态信息;

11)  end if

12)  if (存在资源使用率<θ2的物理机)&&(迁移出的资源量小于剩下物理机不高于阈值的资源量) then

13)   do 从过低负载物理机上获得虚拟机迁移列表

14)    并关闭该物理机;

15)    将物理机列表中的虚拟机根据算法1迁移到当前物理机列表中负载最低的物理机上;

16)  else if (迁移出的资源量小于剩下物理机不高于阈值的资源量) then

17)    do 不迁移虚拟机;

18)  else 将调度方案分发到各个物理机;

19)  end if

20) end for

21) 虚拟机资源调度算法停止

为了进行对比性分析,将FGRSA、Greedy算法和Round Robin算法进行比照分析。FGRSA先对任务进行需求量比Wn,m的计算,然后将最低Wn,m的任务分配到相应的物理机m上,所以其算法复杂度为O(N2);由于Greedy算法和Round Robin算法对任务列表不需要进行排序处理,所以这两个算法的复杂度都为O(N)。虽然FGRSA的复杂度较高,但是该调度算法对于数据中心的能耗节省和资源调度的公平性提升方面,都比另两个算法优越很多。

3 实验评估 3.1 实验环境

本研究采用CloudSim-3.0.3 仿真工具[19]进行了大量云环境中的资源调度模拟实验,来评估提出的能耗感知的公平性提升资源调度方法。实验所需数据部分来源于文献[20],本文使用公平性指数和能源消耗量来评估提出的调度策略的优越性。

由于不同机型在执行上的差异会导致评估误差,所以在仿真实验中,创建数据中心时用了四种不同的服务器。这四种服务器配置如表 1所示。

表 1 实验环境

表 1所示,四种服务器各用了250台,云数据中心共有1 000台服务器。

从亚马逊EC2示例可看出,可以将一个微弹性计算单元视为一个虚拟机,那么服务器容量就可以用服务器上配置的虚拟机个数来衡量[21-22]。基于实例,在本文的仿真平台中,这四种类型的服务器的容量分别被设置成8、10、26和40。虚拟机的基础能耗和运行时的能耗分别为4 W和7 W。

实验中用到的数据集可以用四个基本参数说明,如表 2所示。数据集中的一条数据记录是一个十一元组,如数据记录(009,2,1,0,1 343,1,180,2,593 669,3,91),它表示第9个任务,是第二种类型的任务,需要1个虚拟机执行,剩下4个数据为任务对几种类型物理机的资源需求量。

表 2 参数设置
3.2 实验结果与分析

从系统的能源消耗量出发,根据任务进入数据中心的量不同,要开启不同数量的虚拟机。

本文通过四个数据集对三个算法进行对比实验,各算法资源调度的能源消耗如图 2所示。

图 2 Greedy、Round Robin和FGRSA能源消耗量对比

图 2可看出,在同样的配置条件下,本文提出的FGRSA比Greedy算法和Round Robin算法在相同时间内能耗要节省很多,并且随着数据中心运行的虚拟机台数越多,系统运行时间增加,其性能优势就越明显。

以虚拟机数量为1 000的实验结果图 2(c)为例,在运行了700 s以前,三种算法的能耗量并没有明显差别,但是当时间超过700 s,FGRSA的优势就越来越明显。

系统公平值方面的对比如图 3所示。从图 3可看出,FGRSA比Greedy算法和Round Robin算法在相同时间公平值都高,并且在数据中心运行的虚拟机台数越多,其优越性能就越明显。由于系统运行过一段时间之后,总体的运行任务减少,导致资源利用率减少,所以公平值是呈下降趋势的,但是FGRSA的公平值一直在另两个算法之上。

图 3 Greedy、Round Robin和FGRSA公平值对比
4 结语

目前由于云计算的节能减排问题日益突出,数据中心对于如何防止通过恶意占用资源、欺骗资源等手段破坏公平性的问题很少有学者关注,所以本文提出了一种能耗感知的公平性提升资源调度方案。在解决数据中心基础设施如何减少能耗问题以及构建解决该问题的可行技术上,针对目前数据中心的大量能源消耗,采用有效的算法进行虚拟机资源调度,提高物理服务器上的资源使用率,关闭一些闲置的物理机并使一部分负载偏低的物理机处于休眠状态,以达到降低云计算中心的能源消耗的目的。在物理机的运行状态、休眠状态和关闭状态之间相互切换时对物理机上的虚拟机进行实时的虚拟机迁移,达到各个物理资源的公平使用,并通过公平的分配算法,将任务合理地分配到物理机上。

但由于数据中心任务种类和数量都在不断动态变化,所以两个固定阈值θ1和θ2不能最大限度地减少数据中心的能源消耗。如何在动态变化的环境下,根据系统当前的情况实时改变阈值使系统可以节省更多的能源是笔者未来的工作目标。

参考文献
[1] 刘鹏. 云计算[M]. 北京: 电子工业出版社, 2011 : 2 -3. ( LIU P. Cloud Computing[M]. Beijing: Publishing House of Electronics Industry, 2011 : 2 -3. ) (0)
[2] COOK G, VAN HOM J. How dirty is your data? A look at the energy choices that power cloud computing [EB/OL]. [2015-03-10]. http://www.greenpeace.org/international/en/publications/reports/How-dirty-is-your-data/. (0)
[3] LAGO D G D, MADEIRA E R M, BITTENCOURT L F. Power-aware virtual machine scheduling on clouds using active cooling control and DVFS[C]//Proceedings of the 9th International Workshop on Middleware for Grids, Clouds and e-Science. New York: ACM, 2011: Article No. 2. (0)
[4] JUVE G, CHERVENAK A, DEELMAN E, et al. Characterizing and profiling scientific workflows[J]. Future Generation Computer Systems, 2013, 29 (3) : 682-692. doi: 10.1016/j.future.2012.08.015 (0)
[5] 卢笛, 马建峰, 王一川, 等. 云计算下保障公平性的多资源分配算法[J]. 西安电子科技大学学报(自然科学版), 2014, 41 (3) : 162-168. ( LU D, MA J F, WANG Y C, et al. Enhanced fairness-based multi-resource allocation algorithm for cloud computing[J]. Journal of Xidian University (Natural Science), 2014, 41 (3) : 162-168. ) (0)
[6] 邓维, 郝沁汾, 金海. 云计算数据中心的新能源应用:研究现状与趋势[J]. 计算机学报, 2013, 36 (3) : 582-96. ( DENG W, HAO Q F, JIN H. Leveraging renewable energy in cloud computing datacenters: state of the art and future research[J]. Chinese Journal of Computers, 2013, 36 (3) : 582-96. ) (0)
[7] JUNG G, HILTUNEN M A, JOSHI K R, et al. Mistral: dynamically managing power, performance, and adaptation cost in cloud infrastructures[C]//Proceedings of the 2010 IEEE 30th International Conference on Distributed Computing Systems. Piscataway, NJ: IEEE, 2010:62-73. (0)
[8] LEE Y C, ZOMAYA A Y. Energy efficient utilization of resources in cloud computing systems[J]. Journal of Supercomputing, 2010, 60 (2) : 268-280. (0)
[9] LIU L, WANG H, LIU X, et al. GreenCloud: a new architecture for green data center[C]//Proceedings of the 6th International Conference Industry Session on Autonomic Computing and Communications Industry Session. New York: ACM, 2009:29-38. (0)
[10] KANSAL A, ZHAO F, LIU J, et al. Virtual machine power metering and provisioning[C]//Proceedings of the 1st ACM Symposium on Cloud Computing. New York: ACM, 2010:39-50. (0)
[11] SCHILL A. Power consumption estimation models for processors, virtual machines, and servers[J]. IEEE Transactions on Parallel & Distributed Systems, 2014, 25 (6) : 1600-1614. (0)
[12] BOHRA A E H, CHAUDHARY V. VMeter: power modelling for virtualized clouds[C]//Proceedings of the 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum. Piscataway, NJ: IEEE, 2010: 1-8. (0)
[13] MEZMAZ M, MELAB N, KESSACI Y, et al. A parallel bi-objective hybrid metaheuristic for energy-aware scheduling for cloud computing systems[J]. Journal of Parallel & Distributed Computing, 2011, 71 (11) : 1497-1508. (0)
[14] NATHUJI R, SCHWAN K. VirtualPower: coordinated power management in virtualized enterprise systems[C]//Proceedings of the 2007 ACM Symposium on Operating Systems Principles. New York: ACM, 2007:265-278. (0)
[15] BELOGLAZOV A, ABAWAJY J, BUYYA R. Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing[J]. Future Generation Computer Systems, 2012, 28 (5) : 755-768. doi: 10.1016/j.future.2011.04.017 (0)
[16] BELOGLAZOV A, BUYYA R. Energy efficient resource management in virtualized cloud data centers[C]//CCGRID 2010: Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing. Washington, DC: IEEE Computer Society, 2010: 826-831. (0)
[17] ZHU D, MOSSE D, MELHEM R. Multi-resource periodic scheduling problem: how much fairness is necessary? [C]//Proceedings of the 24th IEEE International Real-Time Systems Symposium. Piscataway, NJ: IEEE, 2003: 142-151. (0)
[18] GHODSI A, ZAHARIA M, HINDMAN B, et al. Dominant resource fairness: fair allocation of multiple resource types[C]//Proceedings of the 8th USENIX Conference on NSDI. Berkeley: USENIX, 2011: 24-37. (0)
[19] 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. (0)
[20] XU X, DOU W, ZHANG X, et al. EnReal: an energy-aware resource allocation method for scientific workflow executions in cloud environment[J]. IEEE Transactions on Cloud Computing, 2016, 4 (2) : 166-179. doi: 10.1109/TCC.2015.2453966 (0)
[21] GUOY, STOLYAR A L, WALID A. Shadow-routing based dynamic algorithms for virtual machine placement in a network cloud[C]//Proceedings of IEEE INFOCOM 2013. Piscataway, NJ: IEEE, 2013: 620-628. (0)
[22] LI X, WU J, TANG S, et al. Let's stay together: towards traffic aware virtual machine placement in data centers[C]//Proceedings of the IEEE INFOCOM 2014. Piscataway, NJ: IEEE, 2014:1842-1850. (0)