当前位置: 首页 > 专利查询>东南大学专利>正文

一种最小化MapReduce集群能耗的任务调度方法技术

技术编号:14533047 阅读:92 留言:0更新日期:2017-02-02 16:10
本发明专利技术公开了一种最小化MapReduce集群能耗的任务调度方法,包括预处理阶段:在每个服务器上构建模糊逻辑控制系统,以便动态的更新服务器上的工作槽数量;解决方案阶段:根据截止期和数据本地化的约束,对作业和任务进行排序,使得较多的作业可以在截止期内完成,并使得集群总运行时间降低;更新阶段:在每个心跳期,根据任务的执行情况更新任务排序,并根据服务器的资源利用率和模糊逻辑控制系统,实时更新集群环境。本发明专利技术通过减少集群总运行时间,降低能耗。在绿色计算领域有广泛的应用价值和使用前景。

Task scheduling method for minimizing energy consumption of MapReduce cluster

Task scheduling method of the invention discloses a cluster to minimize the MapReduce energy consumption, including the preprocessing stage: on each server to construct fuzzy logic control system, in order to work on the dynamic update server slot number; the solution stage: according to the deadline and data localization constraints, sort of job and task, make more homework can be completed before deadline, and reduce the total running time of the cluster; update stage: in each heartbeat period, update the task order according to the implementation of the task, and according to the server resource utilization rate and fuzzy logic control system, real-time update cluster environment. The invention reduces the energy consumption by reducing the total running time of the cluster. It has a wide range of applications and prospects in the field of green computing.

【技术实现步骤摘要】

本专利技术涉及到一种最小化MapReduce集群能耗的任务调度方法,属于云计算应用、计算机技术、绿色计算领域。
技术介绍
近年来,不同形式的数据在社会、经济、网络等各个领域呈指数型增长。各企业尤其是IT企业每年都会产生庞大的数据量,据IDC(InternationalDataCorporation)报告[1]称,在2020一年中将会有将近40ZB的数据被处理,其中机器生成的数据量从2005年的10%涨至2020年的40%。因此,数据中心的能量消耗将非常可观。据文献[2]称,全世界数据中心的能量消耗总和呈每年15%的比率增长。在大数据中进行数据挖掘,需要大量BDAApps(BigDataAnalyticsApplications)对数据进行处理,这些应用提交给数据中心计算集群的作业往往拥有不同的时间参数如开始时间,执行时间,截止期等。如何对其进行合理调度执行将直接影响数据中心的能量消耗。因此,任务调度在节约能量方面起到至关重要的作用。为了加快大规模数据集下的运算速度,云计算领域中出现了一种编程模型MapReduce[3]并迅速被广泛运用。该模型采用简单的两步映射和化简来实现数据运算之间的高度并行化,针对上文提出的问题,在此模型中可以把BDAApps所要计算的数据进行划分,用并行任务进行求解。本专利技术提出的任务调度方法主要应用于云计算环境下MapReduce计算集群。基于MapReduce的任务调度,许多研究者已提出不同的方法,但这些方法在控制能量消耗方面均存在不同程度的缺陷。Lang等人[4]提出CS(CoveredSet)方法,考虑数据本地化约束,在系统利用率降低时,构建覆盖集将有用数据所在的服务器覆盖,将处于覆盖集之外的服务器关闭,从而降低集群能耗。Leverich等人[5]提出AIS(All-InStrategy),只有在所有提交的作业全部完成时才关闭集群中所有服务器。当其中一台服务器的运行时间远远大于其它服务器的运行时间时,无疑增加了集群的能量浪费。针对MapReduce上作业的三个性能因素:数据本地化,资源利用率和作业截止期,现有的大部分方法只考虑了其中的一种或两种,但实际中三者都应被考虑。[1]Datatogrowmorequicklysaysidc’sdigitaluniversestudy.http://www.computerweekly.com/news/2240174381/Data-to-grow-more-quickly-says-IDCs-Digital-Universe-study.[2]KoomeyJonathanG.Worldwideelectricityusedindatacenters.EnvironmentalResearchLetters,3,2008.[3]J.DeanandS.Ghemawat,“Mapreduce:Simplifieddataprocessingonlargeclusters,”inProc.ofthe6thUSENIXSymposiumonOperatingSystemDesignandImplementation,2004,pp.137–150.[4]WillisLangandJigneshMPatel.Energymanagementformapreduceclusters.ProceedingsoftheVLDBEndowment,3(1-2):129–139,2010.[5]JacobLeverichandChristosKozyrakis.Ontheenergy(in)efficiencyofhadoopclusters.ACMSIGOPSOperatingSystemsReview,44(1):61–65,2010.
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,本专利技术主要从节能的角度来考虑云计算中的任务调度问题,体现绿色计算的理念提供一种最小化MapReduce集群能耗的任务调度方法,该方法综合考虑数据本地化,资源利用率和作业截止期约束,最小化服务器集群能耗。技术方案:为实现上述目的,本专利技术采用的技术方案为:一种最小化MapReduce集群能耗的任务调度方法,包括以下阶段:A.预处理阶段:根据收集到的资源利用率,所述资源利用率包括CPU利用率、内存利用率和网络带宽利用率,分别获取CPU利用率、内存利用率和网络带宽利用率的频率分布情况,根据CPU利用率、内存利用率和网络带宽利用率的频率分布情况分别确定出CPU利用率、内存利用率和网络带宽利用率的隶属函数。依据相应专家给出的模糊规则和得到的隶属函数构造每个服务器上的模糊控制系统,在任务调度过程中,利用构建在服务器上的模糊逻辑控制系统,动态改变服务器的工作槽数量,优化任务调度顺序,从而动态的决定服务器上的工作槽数量。B.解决方案阶段:首先根据每个作业的正在运行任务数、等待处理的任务数和已经完成的任务数进行作业所需最少工作槽数量的计算,依据最少工作槽数建立作业的优先级队列。然后根据作业的优先级队列,依次取出优先级队列中的作业,交替选择该作业的执行时间长的任务和执行时间短的任务进行排队建立任务队列,直到任务队列的长度和集群上的全部空闲工作槽数量相等。建立任务工作槽关联列表,优先选择数据本地化代价最小的空闲工作槽分配给任务并执行。C.更新阶段:在每个心跳期,根据任务的当前执行情况实时更新任务排序。在服务器配置了模糊控制系统的前提下,根据每个服务器当前的CPU利用率、内存利用率和网络带宽利用率动态决定是否要改变该服务器上的工作槽数量。通过改变工作槽的数量,来提高服务器的利用率,尽早的完成全部作业,减少整个集群的能耗。所述预处理阶段具体步骤如下:A1.记录服务器的CPU利用率、内存利用率和网络带宽利用率的实时数据,形成数据集。A2.对步骤A1中的数据集通过采样分析得到CPU利用率、内存利用率和网络带宽利用率的频率分布图,由频率分布图和数学模型确定各个服务器CPU利用率、内存利用率和网络带宽利用率的隶属函数。A3.利用经验和专家知识构建模糊规则。A4.根据确定的CPU利用率、内存利用率和网络带宽利用率的隶属函数和构建的模糊规则构造每个服务器上的模糊逻辑控制系统,在任务调度过程中根据模糊逻辑控制系统实时更新服务器环境状态,动态改变服务器上的工作槽数量。所述解决方案阶段中包括以下步骤:B1.根据每个作业的正在运行任务数、等待处理的任务数和已经完成的任务数进行作业所需最少工作槽数量的计算,并按照所需最少工作槽数从大到小对作业进行排序得到作业的优先级队列。B2.在每个心跳期,按序从作业优先级队列中获取作业,交替选择作业中的具有长执行时间的任务和短执行时间的任务,依次加入到任务队列,直到任务队列的长度和集群上的全部空闲工作槽数量相等为止。B3.每一个任务都有一个本地节点工作槽列表、本地机架工作槽列表和远程工作槽列表,它们分别代表着节点层次的数据本地化、机架层次的数据本地化和远程的数据本地化,通过一个数据本地化代价的矩阵,确定分配给各任务的工作槽,得到一个关联列表,并执行任务。其中数据本地化表示任务所分配到的节点要接近于它所需处理的输入数据所在的节点。数据本地化程度由高到低可分为三本文档来自技高网
...

【技术保护点】
一种最小化MapReduce集群能耗的任务调度方法,其特征在于:包括以下阶段:A.预处理阶段:根据收集到的资源利用率,所述资源利用率包括CPU利用率、内存利用率和网络带宽利用率,分别获取CPU利用率、内存利用率和网络带宽利用率的频率分布情况,根据CPU利用率、内存利用率和网络带宽利用率的频率分布情况分别确定出CPU利用率、内存利用率和网络带宽利用率的隶属函数;依据相应专家给出的模糊规则和得到的隶属函数构造每个服务器上的模糊控制系统,在任务调度过程中,利用构建在服务器上的模糊逻辑控制系统,动态改变服务器的工作槽数量,优化任务调度顺序,从而动态的决定服务器上的工作槽数量;B.解决方案阶段:首先根据每个作业的正在运行任务数、等待处理的任务数和已经完成的任务数进行作业所需最少工作槽数量的计算,依据最少工作槽数建立作业的优先级队列;然后根据作业的优先级队列,依次取出优先级队列中的作业,交替选择该作业的执行时间长的任务和执行时间短的任务进行排队建立任务队列,直到任务队列的长度和集群上的全部空闲工作槽数量相等;建立任务工作槽关联列表,优先选择数据本地化代价最小的空闲工作槽分配给任务并执行;C.更新阶段:在每个心跳期,根据任务的当前执行情况实时更新任务排序;在服务器配置了模糊控制系统的前提下,根据每个服务器当前的CPU利用率、内存利用率和网络带宽利用率动态决定是否要改变该服务器上的工作槽数量。...

【技术特征摘要】
1.一种最小化MapReduce集群能耗的任务调度方法,其特征在于:包括以下阶段:A.预处理阶段:根据收集到的资源利用率,所述资源利用率包括CPU利用率、内存利用率和网络带宽利用率,分别获取CPU利用率、内存利用率和网络带宽利用率的频率分布情况,根据CPU利用率、内存利用率和网络带宽利用率的频率分布情况分别确定出CPU利用率、内存利用率和网络带宽利用率的隶属函数;依据相应专家给出的模糊规则和得到的隶属函数构造每个服务器上的模糊控制系统,在任务调度过程中,利用构建在服务器上的模糊逻辑控制系统,动态改变服务器的工作槽数量,优化任务调度顺序,从而动态的决定服务器上的工作槽数量;B.解决方案阶段:首先根据每个作业的正在运行任务数、等待处理的任务数和已经完成的任务数进行作业所需最少工作槽数量的计算,依据最少工作槽数建立作业的优先级队列;然后根据作业的优先级队列,依次取出优先级队列中的作业,交替选择该作业的执行时间长的任务和执行时间短的任务进行排队建立任务队列,直到任务队列的长度和集群上的全部空闲工作槽数量相等;建立任务工作槽关联列表,优先选择数据本地化代价最小的空闲工作槽分配给任务并执行;C.更新阶段:在每个心跳期,根据任务的当前执行情况实时更新任务排序;在服务器配置了模糊控制系统的前提下,根据每个服务器当前的CPU利用率、内存利用率和网络带宽利用率动态决定是否要改变该服务器上的工作槽数量。2.根据权利要求1所述的最小化MapReduce集群能耗的任务调度方法,其特征在于:所述预处理阶段具体步骤如下:A1.记录服务器的CPU利用率、内存利用率和网络带宽利用率的实时数据,形成数据集;A2.对步骤A1中的数据集通过采样分析得到CPU利用率、内存利用率和网络带宽利用率的频率分布图,由频率分布图和数学模型确定各个服务器CPU利用率、内存利用率和网络带宽利用率的隶属函数;A3.利用经验和专家知识构建模糊规则;A4.根据确定的CPU利用率、内存利用率和网络带宽利用率的隶属函数和构建的模糊规则构造每个服务器上的模糊逻辑控制系统,在任务调度过程中根据模糊逻辑控制系统实时更新服务器环境状态,动态改变服务器上的工作槽数量。3.根据权利要求2所述的最小化MapReduce集群能耗的任务调度方法,其特征在于:所述解决方案阶段中包括以下步骤:B1.根据每个作业的正在运行任务数、等待处理的任务数和已经完成的任务数进行作业所需最少工作槽数量的计算,并按照所需最少工作槽数从大到小对作业进行排序得到作业的优先级队列;B2.在每个心跳期,按序从作业优先级队列中获取作业,交替选择作业中的具有长执行时间的任务和短执行时间的任务,依次加入到任务队列,直到任务队列的长度和集群上的全部空闲工作槽数量相等为止;B3.每一个任务都有一个本地节点工作槽列表、本地机架工作槽列表和远程工作槽列表,它们分别代表着节点层次的数据本地化、机架层次的数据本地化和远程的数据本地化,通过一个数据本地化代价的矩阵,确定分配给各任务的工作槽,得到一个关联列表,并执行任务;其中数据本地化表示任务所分配到的节点要接近于它所需处理的输入数据所在的节点;数据本地化程度由高到低可分为三个级别,分别为节点级别,机架级别,远程级别。4.根据权利要求3所述的最小化MapReduce集群能耗的任务调度方法,其特征在于:所述更新阶段包括以下步骤:C1.对当前所有未完成的作业,依据B1中所示公式计算其相应的所需最少工作槽数,并按照所需最少工作槽数从大到小对作业进行排序;C2.将服务器的当前CPU利用率,内存利用率和网络带宽利用率作为模糊控制系统的输入值,依据隶属函数和所满足的模糊规则得到其对应的输出值,即当前服务器的工作槽数是否需要发生变化。5.根据权利要求5所述的最小化MapReduce集群能耗的任务调度方法,其特征在于;作业所需分配的工作槽数的计算公式如下:&x...

【专利技术属性】
技术研发人员:李小平王佳陈龙陈复超
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1