随着云计算的快速发展,IT资源规模的不断扩大导致能耗问题日益凸显.为降低MapReduce编程模型带来的高能耗,文中研究Map/Reduce任务的资源消费特征及该特征与能效的关系,旨在寻找一种能够指导资源分配和任务调度的资源模型,进而实现能效优化.文中提出任务的能效与任务被分配的资源量无关,而与其被分配的各种资源的资源量比例相关,且存在一个"最佳资源比"使得能效达到最高.基于此,文中首先提出了普适的资源和能效模型,从模型层面证明最佳资源比和能效之间的关系,量化空闲资源量和空闲能耗;随后分析MapReduce编程模型,将普适资源比模型变换到MapReduce下.通过抽象的数据的"生产者-消费者"模式,求解Map/Reduce任务的最佳资源比;最后,通过实验从任务能效和空闲能耗两个角度证明了最佳资源比的存在,并根据实验结果,对MapReduce执行过程进行划分,给出了部分Map/Reduce任务的最佳资源比.最佳资源比的提出和求解将有利于基于该最佳资源比的任务调度和资源分配算法的研究,进而实现Map/Reduce任务能效的提高.
With the rapid development of cloud computing,the explosion of IT resources brings serious high energy consumption problems.To optimize energy consumption of MapReduce applications,we analyze resource consumption characteristics of Map/Reduce task and its relationships with energy efficiency,and aim at finding a resource model that could provide guidance on how to optimize energy-efficiency by using more reasonable resource allocation and task scheduling approach.The paper proposes that the energy efficiency of task is irrelevant to the resource quantity allocated to it,but relevant to a certain ratio of multiple allocated resources,and there exists a best resource ratio that maximizes the energy efficiency.On the basis of these theories,firstly,a universal resource and energy efficiency model is proposed,which proves the relationship between best resource ratio and energy efficiency,then idle resource quantity and idle energy consumption is quantified;Secondly,the MapReduce programming model is analyzed,then,universal resource ratio model is adapted to MapReduce;afterwards,the paper derives the value of best resource ratio of MapReduce task through an abstract producer-consumer model of data processing;finally,through experiments,the existence of best resource ratio is proved from perspectives of energy efficiency and idle energy consumption.The MapReduce execution process is divided into phrases on the basis of experiment results,and best resource ratio is also derived.The proposed best resource ratio of task and its derivation could benefit the further study of resource allocation and task scheduling algorithms,which enables energy efficiency optimization of MapReduce applications.