基于MapReduce虚拟集群的能耗优化算法*

2014-09-13 02:21邓聃婷李天瑞
计算机工程与科学 2014年11期
关键词:数据中心集群能耗

邓聃婷,滕 飞,2,李天瑞,杨 浩

(1.西南交通大学信息科学与技术学院, 四川 成都 610031;2.南京大学计算机软件新技术国家重点实验室,江苏 南京 210023)

基于MapReduce虚拟集群的能耗优化算法*

邓聃婷1,滕 飞1,2,李天瑞1,杨 浩1

(1.西南交通大学信息科学与技术学院, 四川 成都 610031;2.南京大学计算机软件新技术国家重点实验室,江苏 南京 210023)

随着全球能源危机的出现,许多研究者开始关注数据中心的能耗问题。在满足用户需求的前提下,减少数据中心的活跃节点个数能够有效地降低其能耗。传统的减少活跃节点的方式是虚拟机迁移,但虚拟机迁移会造成极大的系统开销。提出一种基于MapReduce虚拟集群的能耗优化算法——在线时间平衡算法OTBA,能够减少活跃物理节点数,有效降低数据中心的能耗,并且避免了虚拟机的迁移。通过建立云数据中心的能耗模型、用户提交服务的排队模型和评价作业完成质量的作业运行模型,确定了数据中心节能模型的目标函数和变量因子。在线时间平衡算法是基于虚拟云环境和在线MapReduce作业的一种节能调度算法,能够在虚拟机的生命周期和资源利用率之间做出权衡,使数据中心激活的服务器达到最少,能耗降到最低。此外,该结果通过仿真和Hadoop平台上的实验得到了验证。

能耗优化;虚拟机放置;在线;MapReduce;云计算

1 引言

近年来,云计算这种新型计算方式已经成为研究和应用的热点。各种各样的云计算产品层出不穷,例如,Amazon推出的弹性计算云EC2、Google推出的谷歌应用软件引擎AppEngine、Microsoft推出的Azure云计算平台等。然而,这些大规模的云计算基础设施使得能量消耗逐年增长。据Amazon的估计[1],云数据中心的能耗成本占到营业总成本的42%。事实证明,数据中心除了必要的能量消耗之外,其运行过程中存在能量浪费现象,文献[2]研究显示,数据中心的物理节点在空闲时的功耗为满负载时功耗的60%左右。

目前,降低云数据中心能耗的主要方法是虚拟化技术。虚拟化技术实现了多个虚拟机在一台服务器上运行,使用该技术通常采用的方法是集中管理,即使用虚拟机放置控制器对云数据中心的所有服务器上的虚拟机进行统一管理[3]。其中有两种常用的资源整合方法。第一种是根据现有的虚拟机需求分配活跃的服务器,放置虚拟机,并且让剩余的未使用的服务器处于低能耗的状态[1]。另一种是当检测到虚拟机放置不合理时,对不合理的虚拟机进行迁移。尽管虚拟机的迁移可以平衡工作负载以及减少服务器的数量,但是迁移会造成服务器CPU资源的消耗,导致极大的系统开销,有时迁移的成本甚至超过关闭服务器所带来的收益[4]。因此,本文主要采用虚拟机放置策略降低能耗,不考虑迁移技术。

MapReduce是一种编程模型,用于大规模数据集的并行运算,采用分布式处理框架,能够在廉价机器组成的集群下保持较高的性能,其两个特点将直接影响数据中心的节能效果。第一个是可扩展性,其计算效率可通过扩展提高;第二个是可伸缩性,这意味着每增加一个节点,就能将其计算能力接入到集群中,这将影响作业的执行时间。许多云数据中心采用MapReduce模型处理数据密集型服务。一些研究者也开始研究基于MapReduce并行计算框架的节能机制,如DVFS[5]、数据放置[6]和数据压缩[7]。

本文为了最小化基于MapReduce框架的云数据中心的能量消耗,提出一种基于MapReduce虚拟集群针对随机作业的能耗优化算法——在线时间平衡算法OTBA(Online Time Balance Algorithm)。OTBA在某些方面不同于传统的虚拟机放置算法。该算法是为提供基础设施服务的云供应商设计的。云供应商根据不同的CPU、内存、存储、操作系统等制定虚拟机类型。MapReduce用户可根据需求定制虚拟集群,其规模和类型由用户给出。云供应商根据随机到达的用户需求,以能耗最小化为目标,放置MapReduce虚拟集群。

本文的主要贡献如下:通过建立数据中心模型、能耗模型、随机作业模型和作业运行模型,建立了云计算节能目标,并提出一种针对在线模式的虚拟机放置算法。该算法根据当前作业队列和当前服务器的使用情况,在线生成虚拟机放置方案,使云数据中心通过合理放置虚拟机降低能量消耗,减少活跃服务器的数目。最后,本文还通过模拟实验和Hadoop平台实验对OTBA的性能进行了测试,验证了OTBA在节能方面的有效性。

2 系统模型

本节介绍本文的系统模型,包含云数据中心模型、能耗模型、随机作业模型和作业运行模型。

2.1 云数据中心模型

云数据中心模型包含一个虚拟机放置控制器和很多台同构服务器。虚拟机放置控制器用于调配每台服务器分配多少个虚拟机。

定义1云数据中心表示为集合DataCenter={pm1,pm2,…,pmm}。云数据中心DataCenter中包含有m台服务器,pmi代表数据中心中任意一台服务器。

定义2一台服务器的物理资源用一个三维向量(r1,r2,r3)来表示。r1代表CPU的个数,r2代表Memory的大小,r3代表Storage的大小。

定义3服务器表示为集合S={vm1,…,vmn}。每台服务器S中运行n台虚拟机,vmi代表任意一台虚拟机。

定义4虚拟机的资源占用情况用一个三维向量(vr1,vr2,vr3)来表示。vr1代表虚拟机所分得的CPU个数,vr2代表虚拟机所分得的Memory大小,vr3代表虚拟机所分得的Storage的大小。

本文采用的云数据中心模型类似于Amazon EC2 IaaS平台,云供应商根据用户需求提供定制虚拟主机服务。云数据中心可提供多种不同类型的虚拟机供用户选择,用户根据CPU、内存、存储等参数以及自身作业特点选择虚拟机。其中虚拟机种类是离散、有限的,通常由云供应商预先设定。通常来说,云数据中心提供的虚拟机类型不会太多,例如Amazon EC2根据CPU、内存、存储和网络容量等不同组合提供30种虚拟机方案,其中常用的类型仅八种。

在这个模型中,用户提交的数据存储于共用的HDFS文件系统中,在MapReduce作业开始时,虚拟集群从共用的HDFS集群中读取数据。云数据中心根据用户选定的虚拟机类型以及用户输入的虚拟机最小使用量,建立单独的虚拟集群。

2.2 能耗模型

云数据中心的能耗主要分为三个部分:服务器能耗、网络能耗和冷却设备能耗。其中,服务器是数据中心的关键设备,服务器能耗是云数据中心能耗的主要部分。因此,本文暂不考虑网络能耗和冷却设备能耗。

能耗是计算机系统一段时间内的能量消耗[3],单位是焦耳J,其定义如下所示:

其中,E表示服务器的总能耗消耗,由时间t和功耗p两个因素共同决定。功耗指单位时间内能量的消耗,反映计算机系统消耗能量的速率,单位是瓦特W。

本文采用文献[8]给出的功耗的一般定义:

其中,Pmax为服务器满负载时的功耗,文中将其设为250 W[1]。k取值为0.6表示服务器在空负载时的功耗为满载时功耗的60%[8]。这说明,服务器在空闲状态时,如果不将其关闭或休眠,服务器的能耗也很大。u(t)为资源利用率。

本文采用的模型仅支持服务器开关两种能耗状态。服务器无论满负荷运行与否,能耗为一定值。当服务器上所有的作业执行完毕时,服务器将进入休眠状态,能量消耗可忽略不计。

根据上面的描述,云数据中心能耗EDataCenter可以看作是云数据中心内的所有服务器的能耗值之和,其定义式如下:

其中,Epmi为一台服务器的能耗。

服务器的能耗主要由CPU、内存、存储等决定,而这些物理资源的使用又与虚拟机的放置息息相关。虚拟机的资源占用量越大,必然服务器的能耗也越大。本文重点考虑MapReduce虚拟集群的能耗管理问题。

2.3 随机作业模型

在云数据中心,所有作业随机到达,虚拟机放置控制器为作业分配虚拟集群,作业完成后释放虚拟集群,回收服务器资源,这就是本文的随机作业模型。

用户提交作业的时间、作业类型和作业大小、所需要的虚拟机类型以及虚拟机的最小使用量都不同,所以这里假设所有作业都是独立的。虚拟机的最小使用量指的是,用户根据作业特点以及所采用的虚拟机类型为每一种作业制定的,用来保障作业能在截止期内完成。

由于用户提交时间的不同,作业到达云数据中心的时间是不确定的,这类似于现实生活中的排队购票、收银等现象。根据实际情况中的统计数据,本文采用的随机作业模型的到达率服从泊松分布,排队规则为单队多服务台规则。根据用户提交的作业类型和作业大小的不同,通常将作业类型分为CPU密集型、I/O密集型等。作业所需要的虚拟机类型以及虚拟机的最小使用量是不同的,用户选择云供应商预先设定的适合自己作业的虚拟机类型。

定义5随机到达的作业用七维向量(λi,MTi,RTi,mi,ri,VMi,VMnumi)来表示。λi是作业平均到达率,平均到达率是单位时间内到达任务的平均数,在[0,t]时间间隔内任务到达的平均数量为λit。换言之,平均到达时间间隔为1/λi。如果平均到达时间间隔为1/λt小于作业预处理时间,则会造成排队现象。MTi为map任务,RTi为reduce任务,这两个值是作业在给定虚拟集群下的完成时间,是在作业预处理过程通过历史信息估计得到的。mi是map任务大小,ri是reduce任务大小。VMi是所需要的虚拟机类型。VMnumi是用户制定的虚拟机的最小使用量。

随机作业模型可描述为:不同类型、不同大小的作业以一定的时间间隔到达云数据中心,云数据中心对当前排队的作业进行预处理,分配虚拟集群,最后执行作业。

2.4 作业运行模型

作业的运行时间是评价MapReduce集群的一个重要标准。本文通过历史信息估计作业运行时间,建立MapReduce作业运行模型。

MapReduce作业由两个阶段组成:map任务阶段和reduce任务阶段。

在每个阶段中,任务输入数据的大小相同,如map任务阶段的默认分片大小为64 MB。同时,由于采用了相同的函数,因此每个任务的处理时间基本相同,可根据历史信息获得其运行时间。MapReduce作业的运行时间主要和作业的数据量大小、虚拟机类型以及虚拟集群规模有关。因此,本文对运行时间的估计如下:

其中,mT为该作业的map任务的平均时间,rT为reduce任务的平均时间。mNum为map任务的个数,与作业的数据量相关,rNum为reduce任务的个数,与作业的类型相关。mSlot为map槽数,与虚拟机的类型相关,一般来说虚拟机的map槽数为该虚拟机vCPU个数的两倍,rSlot为reduce槽数。Num为分配给该作业的虚拟集群的大小。δ为作业预处理的时间。

服务器S的运行时间为:

服务器的运行时间等于服务器上最后一个作业完成的时间与服务器开机时间之差。

云数据中心的运行时间为:

云数据中心的运行时间为所有服务器的运行时间之和。

3 虚拟集群能耗优化策略

本节介绍的核心算法用于虚拟机放置控制器。MapReduce作业随机到达,虚拟机放置控制器首先对已使用的服务器的剩余资源进行判断,如果没有已使用的服务器或不满足二次利用的条件,则开启新的服务器,对其进行一次配方生成打包算法;反之,如果满足条件则对剩余资源加以利用,进行二次配方生成打包算法,重复这个过程直至所有作业完成。虚拟机放置控制器在为每台服务器放置虚拟机的过程中涉及两个算法:配方生成打包算法和在线时间平衡算法。

3.1 配方生成打包算法

配方生成打包算法[9]是生成有序虚拟机放置方案列表并放置的过程。配方指一种填充给定物理资源的可行的虚拟机放置方案。例如,云供应商提供三种类型的虚拟机VM1、VM2和VM3,配方可由一个向量表示〈2,1,0〉,其含义是在给定物理资源上放置2台VM1的虚拟机、1台VM2的虚拟机、0台VM3的虚拟机。先根据MapReduce作业队列、所需要的虚拟机、虚拟机资源占用情况和给定的物理资源生成基本的配方列表、再对其进行排序,生成有序的配方列表。最后,虚拟机放置控制器根据有序配方列表、虚拟机资源池和待放置的服务器,对虚拟机进行放置。

配方生成打包算法[9]中设置了一个排序机制,用于找出给定物理资源中最节能的配方。这个排序机制首先保证服务器的空间利用率。一个云数据中心的总能耗取决于活跃服务器的数量,以及每台服务器的运行时间。再优先选择同种类型的或完成时间相近的作业的配方,即配方包含的虚拟机种类的数量越少越好。换言之,时间平衡的配方比时间不平衡的配方更节能。不同的配方会导致能耗有高有低,为了减少服务器的使用数量和运行时间,在进行配方生成时优先选择系统利用率高和时间平衡的配方,提高数据中心的平均系统利用率。在打包过程中,先放置优先级高的配方。

3.2 在线时间平衡算法OTBA

在线时间平衡算法是针对在线提交作业的云数据中心提出的。其主要过程是:MapReduce作业随机到达,虚拟机放置控制器找出每台服务器最节能的虚拟机放置方案,最小化云数据中心的能耗。

这个过程主要面临如下几个问题:第一是当作业到达时,如何统计现有物理资源;第二是如何对已经放置了虚拟机的服务器的剩余资源进行判断,即判断是否需要开启新的服务器;第三是如何对剩余资源可用的服务器进行二次配方生成;第四是当作业完成时,如何调整剩余物理资源。

对于第一个问题,本文提出的算法设置了一个物理资源表。物理资源表用于记录当前数据中心的服务器的资源占用情况。当分配虚拟机时,物理资源表中记录的物理资源减少。

对于第二个问题,本文提出的算法将当前的服务器的剩余资源与最小虚拟机的资源占用进行对比,如果当前服务器的剩余资源小于最小虚拟机的资源占用,则说明剩余物理资源不可用,需要开启新的服务器。

对于第三个问题,如果当前服务器剩余资源大于最小虚拟机的资源占用,则说明剩余物理资源可用。假如遇到多台剩余物理资源可用的服务器时,优先选择运行完成时间相近的作业的服务器对其进行二次配方生成。进行二次配方生成的目的是避免资源浪费,节约能量。

定义6时间平衡指数(timeBalance)。描述原服务器运行时间和待分配作业的时间之间的时间差。计算公式为:

timeBalance=TPMruntime-Tnewjob

其中,TPMruntime指服务器目前的剩余运行时间,Tnewjob指新到达作业的运行时间。

对于第四个问题,当作业完成时,释放虚拟机资源,服务器收回物理资源,更新物理资源表。

算法在线时间平衡算法OTBA

输入:作业队列JobQueue,虚拟机资源池vp;

输出:虚拟机分配列表。

1.同步作业队列JobQueue和虚拟机资源池vp;

2.获取当前PM信息,生成物理资源表PMResourceList;

3.if有作业完成do

4. 收回虚拟集群资源,更新PMResourceList;

5.endif

6.令n=1;//表示当前物理机

7.whilen

8. if 当前的PM资源率大于最小VM资源利用率 do

9. 将当前PM标记为可用PM;

10. 计算每个可用PM的时间平衡指数timeBalance;

11. end if

12.n++;

13.end while

14.将可用PM以timeBalance由低到高排序,生成可用物理机列表PMAvailable;

15.fori=1,…,PMAvailabledo //遍历可用物理机

16. while 虚拟机资源池vp不为空 do

17. 从PMResourceList中读取当前PM的资源情况;

18. 使用配方生成算法生成配方;

19. 使用打包算法为当前PM放置VM;

20. end while

21.end for

时间平衡指数越大说明原服务器与待分配作业之间越不平衡,反之则越平衡。

OTBA展示了如何针对随机到达的作业获取虚拟机分配列表。首先获取作业队列及虚拟机资源池,再根据当前服务器信息生成物理资源表。当虚拟机资源池不为空时,遍历已使用的服务器,对其剩余资源进行判定,假如没有满足条件的或没有已使用的服务器,则开启新的服务器,对其进行一次配方生成。如果有多个满足条件的服务器,优先选择这些服务器与待分配作业之间时间平衡指数小的,对选出的服务器进行二次配方生成,并更新虚拟机资源池,如果虚拟机资源池不为空,则重复上述过程,直至虚拟机资源池为空,作业全部完成。在执行过程中,如果有作业完成,则收回虚拟集群资源,更新物理资源表。

4 实验和分析

本节将在线时间平衡算法OTBA与在线装箱算法OBBA(Online Binning-Based Algorithm)、在线最佳拟合算法OBFA(Online Best-Fit Algorithm)和在线首次拟合算法OFFA(Online First-Fit Algorithm)[10]进行对比。在线装箱放置算法OBBA是基于装箱算法思想的一种针对在线处理模式的能耗优化算法,其主要过程如下:当作业到达时,首先对作业的执行时间进行估计,再将作业执行时间与非空闲的服务器的剩余时间进行对比,如果作业执行时间在服务器剩余时间的T范围之内(T为OBBA设置的时间间隔),则对该服务器进行分配,反之则开启新的服务器。在线最佳拟合算法OBFA也是一种针对在线处理模式的能耗优化算法,其主要过程是:当作业到达时,首先挑选出满足虚拟机资源分配条件的服务器,再对挑选出的服务器按照资源利用率进行排序,资源利用率高的服务器优先级高;如果没有已使用的物理服务器或无满足虚拟机资源分配条件的服务器,则开启新的服务器。在线首次拟合算法OFFA的基本过程与OBFA类似,区别在于OFFA每次都是从第一台服务器开始匹配。

4.1 仿真实验

为了验证算法的有效性,本文首先设计了一个仿真实验。算法的仿真框架由Java实现。本文的仿真框架模拟一个云数据中心,MapReduce作业随机到达,虚拟机放置控制器为作业分配虚拟集群。当服务器上的作业全部完成时,其虚拟机全部关闭,此时服务器调至休眠状态。

在本文的模拟中,假设数据中心有足够多的服务器资源,以满足所有运行的MapReduce作业建立各自所需的虚拟集群,假设数据中心的所有服务器是同构的。云用户根据作业的特点决定所采用虚拟机的类型,并为每一种作业制定虚拟机最小使用量,通过定义输入数据大小和map/reduce函数来初始化MapReduce作业。

本文的实验中,模拟了100个作业,其中包含八种类型,如表1所示。每种类型作业所需要的虚拟机不同,这些虚拟机的资源占用情况如表2所示;Input Size代表每种作业的输入数据大小,从6 GB到20 GB中随机选取;VMnum代表虚拟机最小使用量,从8到14的整数中随机选取;MT代表map任务时间,从10 s到30 s中随机选取;RT代表reduce任务时间,从20 s到40 s中随机选取;每种类型的作业随机到达,即每个时刻到达的作业类型在八种类型中随机获取,这样的设置避免了不同类型的作业所占比例对实验结果的影响;虚拟集群中每个虚拟结点的map槽数为2或4,reduce槽数为1或2。

Table 1 Job types表1 作业类型

Table 2 VM types表2 虚拟机类型

实验过程如下:作业到达时,记录其到达时刻,分别按四种算法对到达作业进行虚拟机分配,根据需要开启服务器并记录其开启时刻以及开启数目。作业完成时,查看所开启的服务器是否还有其他作业运行,如果有,继续运行;如果没有,关闭服务器,并记录其关闭时刻。服务器的活跃时间为服务器关闭时刻减去开启时刻。当100个作业全部完成时,仿真实验结束。

图1为四种算法的能量消耗图。如图1所示,随着系统中MapReduce作业的增加,这四种算法的能耗增加。从图1中可明显看出,在刚开始的时候,即作业刚开始提交时,四种算法的能耗差异不大,随着时间的增加,作业的提交量增加,四种算法出现差异。OTBA在相同条件下能耗最低,并且作业越多,OTBA的优势越明显。在实验过程中,本文还监测到,OTBA的活跃服务器数目相对稳定并且偏低。这说明,OTBA是四种算法里最节能并且空间利用率最高的,因为OTBA设置了两个机制,其中一个与时间平衡相关:对剩余资源可用,且时间平衡度高的服务器赋予高优先级;另一个机制与空间利用率相关:对已使用的服务器的剩余资源判断,若剩余资源可用,则定会对其加以利用,以提高空间利用率

Figure 1 Energy consumption among OTBA,OBBA,OBFA, and OFFA图1 OTBA、OBBA、OBFA、OFFA能量消耗图

4.2 Hadoop平台实验

为了进一步说明虚拟机分配算法的有效性,本文又在Hadoop平台上进行了一次平台实验。本文实验所使用的服务器都是同构的,服务器机器型号为DELL(Xeon E5506/四核心/12 GB/600 GB),操作系统为Redhat 5.4,Hadoop版本为Hadoop-1.1.0。所有服务器使用千兆以太网进行连接。

在平台实验中,本文设计了三种不同类型的虚拟机,其资源占用情况如表3所示。每台服务器为每种类型的虚拟机存储虚拟机镜像,当请求该类型的虚拟机时,实例化虚拟机。本文提供了三种不同类型的作业:wordcount、sort、terasort。这三个作业都是经典的MapReduce基准测试用例,作业描述如表4所示。

Table 3 VM resources表3 虚拟机资源占用情况

图2展示了Hadoop平台下四种算法的能量消耗。平台实验得到了与仿真实验相同的结果:刚

Table 4 Job description of MapReduce表4 MapReduce作业描述

提交作业时,四种算法能耗相同,随着提交作业的增多,逐渐出现差异。由图2可知,OTBA为四种算法中能耗最低的。从实验统计的服务器数目可知,OTBA的服务器数目稳定,且相对较少。

Figure 2 Energy consumption among OTBA,OBBA,OBFA, and OFFA on Hadoop platform图2 Hadoop:OTBA、OBBA、OBFA、OFFA能量消耗图

5 结束语

本文针对云数据中心的能量消耗问题,建立云数据中心模型,结合作业到达的随机性和排队模型建立随机作业模型,分析系统的能量消耗建立能量模型,根据MapReduce作业的执行特点建立评价作业完成质量的作业运行模型,最后提出一种在线的虚拟机分配算法——在线时间平衡算法OTBA。实验表明,本文提出的在线时间平衡算法在保证性能的前提下,能够大幅降低云数据中心的能量消耗,并且减少其活跃服务器的数目。本文考虑的云数据中心的服务器都是同构的,而现实的数据中心使用的都是廉价的服务器,不能保证同构。因此,下一步的工作重心是研究异构环境下的在线虚拟机分配策略。

[1] 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.

[2] Chase J S,Anderson D C,Thakar P N, et al. Managing energy and server resources in hosting centers[J]. ACM SIGOPS Operating Systems Review,2001,35(5):103-116.

[3] Dong Jian-kang,Wang Hong-bo.Issa environment to improve energy efficiency and network performance method for virtual machine placement[J].Communications Journal, 2014,34(1):78-81.(in Chinese)

[4] Liu H,Jin H,Xu C-Z, et al. Performance and energy modeling for live migration of virtual machines[J]. Cluster computing, 2013, 16(2):249-264.

[5] Wirtz T, Ge R. Improving MapReduce energy efficiency for computation intensive workloads[C]∥Proc of the IEEE International Green Computing Conference and Workshops (IGCC),2011:1-8.

[6] Xie R,Jia X,Yang K,et al. Energy saving virtual machine allocation in cloud computing[C]∥Proc of the IEEE 33rd International Conference on Distributed Computing Systems Workshops (ICDCSW), 2013:132-137.

[7] Leverich J, Kozyrakis C. On the energy inefficiency of Hadoop clusters[J]. ACM SIGOPS Operating Systems Review, 2010, 44(1):61-65.

[8] Li Qiang, Hao Qin-fen, Xiao Li-min, et al. Adaptive management and multi-objective optimization for virtual machine placement in cloud computing[J]. Chinese Journal of Computer, 2011,34(12):2253-2264.(in Chinese)

[9] Teng Fei, Deng Dan-ting, Yu Lei, et al. An energy-efficient VM placement in cloud datacenter[C]∥Proc of 2014 IEEE International Conference on High Performance Computing and Communications (HPCC), 2014:173-180.

[10] Cardosa M, Singh A,Pucha H,et al.Exploiting spatiotemporal tradeoffs for energy-aware MapReduce in the cloud[J].IEEE Transactions on Computers,2012,61(12):1737-1751.

附中文参考文献:

[3] 董建康, 王洪波. Issa环境下改进能源效率和网络性能的虚拟机放置方法[J]. 通信学报, 2014, 34(1):71-81.

[8] 李强, 郝沁汾, 肖利民. 云计算中虚拟机放置的自适应管理与多目标优化[J]. 计算机学报, 2011, 34(12):2253-2264.

DENGDan-ting,born in 1990,MS candidate,her research interest includes cloud computing scheduling.

滕飞(1984),女,山东泰安人,博士,讲师,CCF会员(E200030587M),研究方向为云计算、并行计算和工作流调度。E-mail:fteng@swjtu.edu.cn

TENGFei,born in 1984,PhD,lecturer,CCF member(E200030587M),her research interests include cloud computing,parallel computing, and workflow scheduling.

Anenergy-savingalgorithmforMapReduce-basedvirtualcluster

DENG Dan-ting1,TENG Fei1,2,LI Tian-rui1,YANG Hao1

(1.School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610031;2.State key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210023,China)

In the global energy crisis, many researchers begin to pay close attention to the problem of data centers’ energy consumption. On the premise of meeting the users’ demand, reducing the active nodes of adata center can effectively reduce the whole energy consumption. Virtual machine migration is a traditional way to reduce active nodes, but causes huge system cost. An energy-saving algorithm for MapReduce-based virtual cluster, named Online Time Balance Algorithm (OTBA), is proposed. The proposed algorithm can reduce the number of active physical nodes, reduce the energy consumption effectively, and avoid migrating the virtual machines. The objective function and the variable factors are determined by building the energy consumption model, the queue model and the MapReduce performance model. Since OTBA is based on virtual cloud environment and online MapReduce, it can make a tradeoff between the runtime of virtual machines and the resource utilization so as to minimize the number of the activated physical servers in the data center and the energy consumption. At last, the algorithm is validated through experiments in simulation environment and on Hadoop platform.

energy efficiency;VM placement;online;MapReduce;cloud computing

1007-130X(2014)11-2054-07

2014-06-10;

:2014-08-21

国家自然科学基金资助项目(61202043);网络智能信息处理四川省高校重点实验室开放课题资助项目(SZJJ2014-049)

TP393.027

:A

10.3969/j.issn.1007-130X.2014.11.002

邓聃婷(1990),女,四川成都人,硕士生,研究方向为云计算调度。E-mail:dengdanting5@163.com

通信地址:610031 四川省成都市二环路北一段111号西南交通大学信息科学与技术学院

Address:School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610031,Sichuan,P.R.China

猜你喜欢
数据中心集群能耗
酒泉云计算大数据中心
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
浅析数据中心空调节能发展趋势
探讨如何设计零能耗住宅
海上小型无人机集群的反制装备需求与应对之策研究
日本先进的“零能耗住宅”
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人