CN104991830B - 基于服务等级协议的yarn资源分配和节能调度方法及系统 - Google Patents
基于服务等级协议的yarn资源分配和节能调度方法及系统 Download PDFInfo
- Publication number
- CN104991830B CN104991830B CN201510404752.9A CN201510404752A CN104991830B CN 104991830 B CN104991830 B CN 104991830B CN 201510404752 A CN201510404752 A CN 201510404752A CN 104991830 B CN104991830 B CN 104991830B
- Authority
- CN
- China
- Prior art keywords
- mapreduce
- mapreduce programs
- task
- frequency
- programs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于服务等级协议的YARN资源分配和节能调度方法及系统,步骤如下:在提交MapReduce程序前对其进行预分析,从该程序过去的运行日志中解析出所需的性能指标;在提交MapReduce程序后,根据其性能指标计算出基于完成时间上限的最低任务并行度;根据每个MapReduce程序不同的并行度,通过SLA资源调度器为其分配定量的资源;监控每个MapReduce程序的任务完成情况,并据此得出剩余任务的理想执行时间和频率;根据剩余任务的预期执行频率,利用CPUfreq子系统动态调节CPU的电压和频率,从而达到节能的目的。本发明在保证MapReduce程序服务等级协议的前提下为其分配定量资源,并结合动态电压频率调整技术最大限度地降低云计算平台中的能耗。
Description
技术领域
本发明属于云计算技术领域,尤其涉及一种基于服务等级协议的YARN(YetAnother Resource Negotiator)资源分配和节能调度方法及系统。
背景技术
随着云计算的兴起,越来越多的公司开始使用MapReduce和Apache Hadoop来提供云计算服务。MapReduce是谷歌提出的一种编程模型,通常用于大规模数据集的并行运算。这个模型可以使任务在大型集群上自动并行化,因此特别适用于大数据的分析与处理。Hadoop是一个实现了包括分布式文件系统(HDFS)和MapReduce模型在内的开源的分布式并行编程框架,这个框架可以部署在普通的商业硬件上,具有低成本、高有效和高容错等特性。
虽然Hadoop已成为当前最流行的大数据分析系统,但是它在可扩展性、可靠性和资源利用等方面还存在一定的局限性。为了克服这些问题,Apache将Hadoop 1.0中的资源管理功能抽象成一个独立的通用系统YARN。由于YARN的通用性,Hadoop 2.0的目标已经不再局限于支持MapReduce一种计算框架,而是朝着对多种框架(如Storm、Spark和S4等)进行统一管理的方向发展。
在云计算环境下,云计算服务供应商必须尽可能地满足应用程序的服务等级协议(SLA)中指定的截止时间。此外,高性能计算集群的不断增加和大规模部署带来了巨大的资源和能源消耗,所以在保证SLA的前提下,服务商们还需要考虑资源和能源的成本问题。
YARN提供了三种可用的资源调度器,分别是FIFO(First In First Out)、Capacity Scheduler和Fair Scheduler。Capacity Scheduler是Yahoo!开发的多用户调度器,它以队列为单位划分资源,每个队列可设定一定比例的资源最低保证和使用上限,同时,每个用户也可设定一定的资源使用上限以防止资源滥用。Fair Scheduler是Facebook开发的多用户调度器,它同样添加了多层级别的资源限制条件以更好地让多用户共享一个Hadoop集群。此外,Fair Scheduler提供了更多样化的调度策略,它允许为每个队列单独配置调度策略,分别是先来先服务、公平调度和主资源公平调度。然而,这三种资源调度器都不能保证应用程序的完成时间不超过截止时间,也没有考虑基于SLA的资源分配和节能调度问题。事实上,在共享的云计算环境下,没有一种资源调度器可以准确判断出满足应用程序SLA的最少硬件资源,这是由数据本地化、网络带宽、访问延迟等因素的不确定性造成的。
目前,云计算环境中的节能机制有多种不同的分类标准。其中,按照功耗管理的不同方式可以分为动态功耗管理技术和静态功耗管理技术两类。按照降低能耗阶段的不同可分为关闭/开启技术、动态电压频率调整技术以及虚拟机技术三类,前者主要降低空闲能耗,后两者均使用了动态功耗管理技术来降低任务的执行能耗。此外,基于主机关闭/开启的节能策略又可以分为三类:随机式策略、超时式策略和预测式策略。利用这些节能机制,有些研究提出了针对分布式系统或第一代MapReduce(MRv1)模型的实时和/或节能调度方案。然而由于系统结构和资源管理机制的差异,这些现有的调度策略有的并不能适用于YARN,其他的策略则会导致次优的调度和资源分配决定。
鉴于上述研究背景,目前亟需一种基于服务等级协议的资源分配和节能调度方案来解决YARN环境中存在的两大挑战:
一是在共享的云计算环境下如何根据服务等级协议SLA(Service LevelAgreement)自动调整和控制每个程序的资源分配;
二是如何最大限度地降低整个集群系统的能耗。
发明内容
本发明的目的就是为了解决上述问题,提供一种基于服务等级协议的YARN资源分配和节能调度方法及系统,它具有(1)在Hadoop 2.0集群中,根据每个MapReduce程序的截止时间自动为其分配合适的资源;(2)在保证SLA的前提下,最大限度地降低整个集群系统的能耗的优点。本发明通过对MapReduce程序进行预分析得到的性能指标来确定资源分配,并结合动态电压频率调整(DVFS)技术充分利用任务的松弛时间来降低Hadoop集群的能耗。
为了实现上述目的,本发明采用如下技术方案:
基于服务等级协议的YARN资源分配和节能调度方法,包括如下步骤:
步骤(1):在提交MapReduce程序前,对每个MapReduce程序进行预分析,即从MapReduce程序过去的运行日志中解析出所需的性能指标;
步骤(2):在提交MapReduce程序后,根据步骤(1)解析出的性能指标,计算每个MapReduce程序最差执行情况下任务的最低并行度;
步骤(3):根据每个MapReduce程序各自的最低并行度,为每个MapReduce程序分配不同的资源容器;
步骤(4):监控每个MapReduce程序的任务完成情况,并据此得出剩余任务的理想执行时间和预期执行频率;
步骤(5):根据剩余任务的预期执行频率,利用CPUfreq子系统动态调节CPU的电压和频率,从而达到节能的目的。
所述步骤(1)的性能指标包括:
程序初始化最长用时、map任务的平均执行时间、map任务的最长执行时间、首次shuffle的最长持续时间、shuffle阶段的平均持续时间、shuffle阶段的最长持续时间、reduce任务的平均执行时间和reduce任务的最长执行时间。
每个MapReduce程序包括两种子任务:map子任务和reduce子任务。
Map子任务负责读取输入的数据块并产生中间结果,中间结果存在本地磁盘中并成为reduce子任的输入数据。
Reduce子任务负责合并相关的中间结果并将生成的最终结果写入HDFS。
所述步骤(1)中:
如果所述MapReduce程序从未在集群中运行过,则在一个设定的数据集上预先执行MapReduce程序来解析出所需的性能指标。
解析出所得的性能指标均独立于分配给所述MapReduce程序的资源量,并且反映了MapReduce程序所有阶段的信息。
此外,为了对频率进行更加精确地调整,解析时还需要提取任务的性能和运行频率之间的关系。
所述步骤(2)的具体步骤为:
步骤(201):在提交MapReduce程序时,将MapReduce程序的性能指标提交到资源管理器中;
步骤(202):当MapReduce程序加入作业队列后,根据MapReduce程序的性能指标利用边界定理预估MapReduce程序在最差执行情况下的完成时间;
步骤(203):根据步骤(202)中得出的完成时间的上限,计算出程序map和reduce两阶段任务的最低并行度。
所述步骤(202)的最差执行情况下的完成时间的计算方法为:
其中,
A=(Mj-1)·Mavg
其中,表示map任务的最低并行度,表示reduce任务的最低并行度,Mj表示map任务的数量,Mavg表示map任务的平均执行时间,Rj表示reduce任务的数量,表示shuffle阶段的平均持续时间,Ravg表示reduce任务的平均执行时间,Imax表示程序初始化最长用时,Mmax表示map任务的最长执行时间,Rmax表示reduce任务的最长执行时间,表示首次shuffle的最长持续时间,表示shuffle阶段的最长持续时间。A、B、Q只是为了简化长公式采用的符号,它们表示的就是上面的三个公式。
所述步骤(203)的计算方法为:
基于程序完成时间的上限,根据拉格朗日公式计算出的最小值。在这种情况下,程序会占用最少的硬件资源,同时保证其执行时间不超过截止时间。
其中,C=Dj-Q,表示map任务的最低并行度,表示reduce任务的最低并行度,Dj表示程序的截止时间。此外还需对取上限,因为在实际环境中,任务并行度必须为整数。
所述步骤(3)中:
SLA资源调度算法给出了具体的资源分配策略,其中表示程序j当前正在运行的map/reduce任务数,表示已完成的map任务数,CMFR表示启动reduce任务的阈值。
具体的资源分配策略的步骤为:
步骤(301):当程序j被提交后:首先完善其程序模型,
步骤(302):当收到来自节点n的心跳时:首先根据最早截止时间优先算法EDF对程序队列排序;然后对每个空闲的资源容器c重复步骤(303);
步骤(303):对每个程序j重复步骤(3031);
步骤(3031):如果小于将资源容器c分配给应用程序管理器来执行具有最高资源请求优先级的map任务;否则如果大于或者等于CMFR并且小于将资源容器c分配给应用程序管理器来执行reduce任务;
步骤(304):结束;
所述步骤(4)的具体步骤为:
步骤(401):将MapReduce程序的任务划分为“已完成任务”、“正在运行的任务”和“尚未开始的任务”三类;
步骤(402):实时收集已完成任务的完成时间,并据已完成任务的完成时间计算出未完成任务的理想执行时间;
步骤(403):根据未完成任务的理想执行时间来匹配未完成任务的预期执行频率。
所述步骤(5)中:在启动MapReduce任务时将预期执行频率封装到任务的运行环境变量中,从而降低芯片的运行电压和频率,最终达到节能的目的。
通过对CPUfreq子系统提供的用户空间调控器接口进行操作来动态调整处理器的电压和频率。一旦确定了要启动的reduce任务后,应用程序管理器AM(ApplicationMaster)需将该任务的预期运行频率连同Container中的资源信息封装到启动资源的Context对象中,进而与对应的节点管理器NM(NodeManager)通信以启动该任务。
所述步骤(5)的节能方法为:
步骤(501):当程序j启动后:将Mj和Rj加入到任务监控集;设置任务频率为最高可用频率;
步骤(502):当得到资源容器c时:如果c用于执行map任务,在c所在的节点上启动map任务;否则如果c用于执行reduce任务,循环步骤(503);
步骤(503):性能监控器首先给出剩余任务的理想执行时间频率估计器根据执行时间重设任务频率;在c所在的节点上以频率启动reduce任务;
步骤(504):结束。
基于服务等级协议的YARN资源分配和节能调度系统,包括:
程序分析器:在提交MapReduce程序前,对每个MapReduce程序进行预分析,即从MapReduce程序过去的运行日志中解析出所需的性能指标;并将解析出的性能指标传输给资源管理器的并行度估计器;
并行度估计器:在提交MapReduce程序后,根据解析出的性能指标,计算每个MapReduce程序最差执行情况下任务的最低并行度;并将最低并行度传输给资源管理器的SLA资源调度器;
SLA资源调度器:根据每个MapReduce程序各自的最低并行度,为MapReduce程序分配不同的资源容器,并将资源容器的所在机架和节点位置信息传输给应用程序管理器;
应用程序管理器:监控每个MapReduce程序的任务完成情况,并据此得出剩余任务的理想执行时间和预期执行频率;所述应用程序管理器将预期执行频率传输给CPUfreq子系统;
CPUfreq子系统:根据剩余任务的预期执行频率,动态调节CPU的电压和频率,从而达到节能的目的。
所述程序分析器中:如果所述MapReduce程序从未在集群中运行过,则需要在一个设定的数据集上预先执行MapReduce程序来解析出所需的性能指标。
解析出得的性能指标均独立于分配给所述MapReduce程序的资源量,并且反映了MapReduce程序所有阶段的信息。
此外,为了对频率进行更加精确地调整,解析时还需要提取任务的性能和运行频率之间的关系。
所述并行度估计器,包括:
性能指标接收模块:在提交MapReduce程序时,程序分析器将MapReduce程序的性能指标提交到资源管理器中;
完成时间预估模块:当MapReduce程序加入作业队列后,根据MapReduce程序的性能指标利用边界定理预估MapReduce程序在最差执行情况下的完成时间;
最低并行度计算模块:根据完成时间预估模块中得出的完成时间的上限,计算出程序map和reduce两阶段任务的最低并行度。
资源调度器是YARN中最核心的组件之一,且是插拔式的,它定义了一整套接口规范以便用户可按照需要实现自己的调度器。本发明所述的SLA资源调度器就是按照YARN给出的这套接口规范编写的。
SLA资源调度器会根据每个MapReduce程序不同的并行度为其分配定量的资源。当程序的map和reduce两阶段任务的当前并行度小于程序模型中的并行度时,才为其分配新的资源容器,从而保证程序运行期间占用的资源量不超出预算。
在程序的执行过程中,SLA资源调度器保持每个程序map/reduce阶段的并行度不小于也不超过并行度估计器指定的最低并行度。
所述应用程序管理器包括性能监控器和频率估计器,
性能监控器,将MapReduce程序的任务划分为“已完成任务”、“正在运行的任务”和“尚未开始的任务”三类;性能监控器实时收集已完成任务的完成时间,并据已完成任务的完成时间计算出未完成任务的理想执行时间;
频率估计器,负责根据性能监控器的未完成任务的理想执行时间来匹配未完成任务的预期执行频率。
所述CPUfreq子系统:在启动MapReduce任务时将预期执行频率封装到任务的运行环境变量中,从而降低芯片的运行电压和频率,最终达到节能的目的。
本发明的有益效果:
(1)本发明首次提出针对云计算环境中YARN架构的资源分配和节能调度策略,在保证MapReduce程序SLA的前提下为其分配定量资源,并结合DVFS技术最大限度地降低云计算平台中的能耗。
(2)根据MapReduce程序的预分析结果,本发明提出一种求云计算环境中两阶段任务最低并行度的方法。
(3)本发明按照YANR中提供的接口规范编写了SLA资源调度器,其中包括基于MapReduce程序截止时间的资源分配算法。
(4)为了基于服务等级协议实现对MapReduce程序的宏观调控,本发明利用YARN的特性在每个应用程序的管理器中增加了性能监控器和频率估计器,并提出了两阶段任务的节能调度算法。
(5)以前的方法通常用过去的CPU利用率来预测任务将来所需的CPU频率,往往导致错过截止时间。本发明利用Hadoop框架中主/从的结构特性,通过对CPUfreq子系统提供的用户空间调控器接口进行操作来动态调整处理器的频率,在保证MapReduce程序SLA的前提下降低集群系统的能耗。
(6)由于YARN的通用性,Hadoop 2.0朝着对多种框架进行统一管理的方向发展:从支持离线处理的MapReduce到支持在线处理的Storm,从迭代式计算框架Spark到流式处理框架S4,还有用于数据挖掘的MPI等。因此,本发明对将来这种轻量级弹性计算平台的发展具有深远的意义。
附图说明
图1本发明的总体架构图;
图2资源调度器分配流程;
图3MapReduce程序的三个阶段;
图4CPUfreq子系统结构图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
YARN是Hadoop 2.0中的资源管理系统,它主要由资源管理器RM、节点管理器NM、应用程序管理器AM和资源容器Container等几个组件构成。资源调度器是YARN最核心的组件之一,如图2所示,YARN采用了双层资源调度模型:
在第一层中,全局资源管理器RM中的资源调度器将资源分配给各个应用程序管理器AM;
在第二层中,应用程序管理器AM再进一步将资源分配给它内部的各个任务。
本发明提出了一种基于服务等级协议的YARN资源分配和节能调度策略,在YARN架构的基础上修改了资源调度器,并增加了程序分析器、并行度估计器、性能监控器和频率估计器四个模块,其总体架构如图1所示,具体实施方式包括如下步骤:
(1)对MapReduce程序进行预分析
一个MapReduce程序包括两种子任务:map子任务和reduce子任务。
Map子任务负责读取输入的数据块并产生中间结果,这些中间结果存在本地磁盘中并成为reduce任务的输入数据。
Reduce子任务负责合并相关的中间结果并将生成的最终结果写入HDFS。
此外,reduce子任务还可以细分为三个阶段:shuffle阶段,sort阶段和reduce阶段。
由于shuffle阶段和sort阶段是交错进行的,本发明将这两个阶段当做一个整体看待。图3描述了MapReduce程序的三个主要阶段,其中map阶段和shuffle阶段是并行的,而shuffle阶段和reduce阶段是串行的,并且只有当map任务的完成数量超过设定的阈值后,reduce任务才可以启动。
本发明中,定义程序J=(I,M,R,D,PM,PR)为MapReduce程序。其中,I表示输入数据集的大小,M/R表示map/reduce任务的数量,D表示MapReduce程序SLA中指定的截止时间,PM/PR表示map/reduce任务的最低并行度。
在云计算集群中,假设MapReduce程序j在提交时的程序模型为其中,map任务的数量Mj是由输入数据集的大小Ij以及当前集群中默认数据块的大小决定的,reduce任务的数量Rj是由用户指定的。如果程序j要在截止时间Dj之前完成,那么它的最低并行度应由并行度估计器指定。
在共享的Hadoop集群中,现有的资源调度器无法准确推断出能保证SLA的最少资源并分配给每个应用程序。因为尽管所有的map/reduce任务函数相同,但它们的执行时间不尽相同,这是由数据本地化、网络带宽、访问延迟等因素的不确定性造成的。如图1所示,为了解决这个问题,本发明在MapReduce程序提交前,通过一个程序分析器从执行日志中解析出独立于分配给这个程序资源量的性能指标,并在程序提交时将这些指标一并交给资源管理器。表格1列出了这些相关的性能指标。
表格1
(2)计算最差执行情况下任务的最低并行度
MapReduce是一种并行计算模型,所以map/reduce任务的并行度会严重影响MapReduce程序的性能。并行度太低,则会像图3中的程序那样错过截止时间;并行度太高,则是对硬件资源的一种浪费。鉴于map阶段和reduce阶段的并行度都会影响MapReduce程序的性能,本发明提出一种求云计算环境中两阶段任务最低并行度的方法,并在RM中增加了一个并行度估计器来辅助资源调度器进行资源分配。并行度估计器首先需要根据步骤(2)中解析出的性能指标计算出程序j在最差执行情况下的完成时间(记为)。
其中,
A=(Mj-1)·Mavg
基于程序完成时间的上限,并行度估计器可以根据拉格朗日公式计算出的最小值。在这种情况下,程序会占用最少的硬件资源,同时保证其执行时间不超过截止时间。
其中C=Dj-Q,此外还需对取上限,因为在实际环境中,任务并行度必须为整数。
(3)通过SLA资源调度器为每个程序分配定量资源
本发明按照YANR中提供的接口规范编写了一个SLA资源调度器,该调度器按照每个应用程序不同的并行度来分配定量资源,资源分配单位用一个抽象概念Container表示。不同于MRv1中基于槽位的资源划分方式,Container是一个动态划分单位,可以根据应用程序的需求动态生成。Container封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,从而限定每个任务使用的资源量。
算法1给出了本发明具体的资源分配策略,其中表示程序j当前正在运行的map/reduce任务数,表示已完成的map任务数,CMFR表示启动reduce任务的阈值。
当程序的AM向RM申请资源时,RM中的SLA资源调度器会为程序的每个任务分配一个Container,并且这个任务只能使用该Container中描述的资源。与此同时,每个节点的NM一方面通过周期性的心跳向RM汇报当前的可用资源,另一方面还要接收来自AM的Container启动/停止等各种请求。当一个新的程序加入队列后,SLA调度器将按照最早截止时间优先(EDF)算法对所有的作业进行排序。鉴于EDF算法已被证明是动态最优调度算法,本发明中利用EDF算法来确定应用程序的优先级。此外,考虑到map任务具有数据本地化优势,本发明中的资源分配算法尽量保证在存储输入数据的节点上运行map任务。
(4)监控MapReduce程序中子任务的运行情况
以前的DVFS策略通常使用过去的CPU利用率来预测未来的CPU需求,由于预测的不准确性,这些方法虽然可以降低能耗但通常导致错过截止时间。本发明利用YARN中主/从架构的特性,从另一角度提出一种新的松弛时间再利用方法来解决这个问题。本发明将map阶段和reduce阶段视为两个任务,通过使用整个map阶段的松弛时间来动态调整所有reduce任务的执行时间。为了实现这种任务级之上的DVFS策略,本发明在每个应用程序的AM中增加了性能监控器和频率估计器两个模块,进而对整个reduce阶段进行宏观调控。
性能监控器负责收集当前程序j的运行信息,并将程序的reduce任务划分为已完成任务正在运行的任务和尚未开始的任务三类,其中,当程序j的AM要启动一个reduce任务时,性能监控器会根据其程序模型中reduce阶段的并行度和截止时间Dj计算出剩余任务的理想执行时间假设当前时间为T,则
为了充分利用松弛时间,当时,使Nj个剩余reduce任务的执行时间是其他任务的两倍。
频率估计器需要得到程序预分析时reduce任务的性能与运行频率之间的关系,然后基于性能监控器的结果匹配剩余任务的预期执行频率()。在一个支持DVFS技术的云计算集群中,假设每个计算节点支持N种频率{f0,f1,...,fn},且f0<f1<...<fn=fmax。则当时,令其中f1和f2是CPU支持的一组相邻频率。
(5)利用DVFS技术对剩余任务的运行频率进行动态调整
随着集群的应用越来越广泛,人们越来越关注云计算带来高处理性能的同时一并带来的高能耗。DVFS是当下应用很广泛的一种实时电压和频率调整的技术,它可以通过调控CPU的电压和频率达到降低CPU能耗的目的。该技术的理论依据是如下公式:
E=P·t=αCV2F·t
CPUfreq模块是为了在Linux内核中更好的支持不同CPU的变频技术而提出的一个统一设计的框架,它的具体结构如图4所示。CPUfreq提供了性能调控器、电能节省调控器、随需应变调控器、保守调控器和用户空间调控器五种CPU管理器供用户选择使用,其中前4种为CPUfreq智能模式,用户只需要设定相应的阈值,CPUfreq就会根据阈值和升降频规则自动进行匹配,而用户空间模式则是将具体的控制权完全交给用户,用户可以通过自己编程对接口进行操作。本发明通过对CPUfreq子系统提供的用户空间调控器接口进行操作来动态调整处理器频率,算法2描述了本发明具体的节能调度策略。
应用程序的AM首先向RM中的SLA资源调度器请求资源(用Container表示),再将得到的资源进一步分配给内部的任务。一旦确定该任务后,AM需将该任务的运行环境(包含运行命令、环境变量、运行频率以及依赖的外部文件等)连同Container中的资源信息封装到启动资源的Context对象中,进而与对应的NM通信以启动该任务。任务启动后会自动执行Context对象中的命令,进而通过CPUfreq子系统调整Container中所有CPU核的频率,算法中对频率的动态调整保证了整个架构的有效性和可靠性。
由于CPUfreq模块底层是基于各个CPU厂商的默认ACPI驱动进行频率调节的,例如Intel的SpeedStep和AMD的PowerNow高级电源管理硬件驱动均会自动根据CPU运行频率对主板供电进行合理电压匹配,所以在使用CPUfreq对CPU的频率进行调节的过程中,系统会自动匹配合适的CPU电压,使CPU能在指定频率下正常工作,因此,只需通过CPUfreq模块对CPU核心频率进行调节,即可同时做到对CPU核心频率和电压的调节。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.基于服务等级协议的YARN资源分配和节能调度方法,其特征是,包括如下步骤:
步骤(1):在提交MapReduce程序前,对每个MapReduce程序进行预分析,即从MapReduce程序过去的运行日志中解析出所需的性能指标;
步骤(2):在提交MapReduce程序后,根据步骤(1)解析出的性能指标,计算每个MapReduce程序最差执行情况下任务的最低并行度;
步骤(3):根据每个MapReduce程序各自的最低并行度,为每个MapReduce程序分配不同的资源容器;
步骤(4):监控每个MapReduce程序的任务完成情况,并据此得出剩余任务的理想执行时间和预期执行频率;
步骤(5):根据剩余任务的预期执行频率,利用CPUfreq子系统动态调节CPU的电压和频率,从而达到节能的目的。
2.如权利要求1所述的基于服务等级协议的YARN资源分配和节能调度方法,其特征是,
所述步骤(1)中:
如果所述MapReduce程序从未在集群中运行过,则在一个设定的数据集上预先执行MapReduce程序来解析出所需的性能指标。
3.如权利要求1所述的基于服务等级协议的YARN资源分配和节能调度方法,其特征是,所述步骤(2)的具体步骤为:
步骤(201):在提交MapReduce程序时,将MapReduce程序的性能指标提交到资源管理器中;
步骤(202):当MapReduce程序加入作业队列后,根据MapReduce程序的性能指标利用边界定理预估MapReduce程序在最差执行情况下的完成时间;
步骤(203):根据步骤(202)中得出的完成时间的上限,计算出程序map和reduce两阶段任务的最低并行度。
4.基于服务等级协议的YARN资源分配和节能调度系统,其特征是,包括:
程序分析器:在提交MapReduce程序前,对每个MapReduce程序进行预分析,即从MapReduce程序过去的运行日志中解析出所需的性能指标;并将解析出的性能指标传输给资源管理器的并行度估计器;
并行度估计器:在提交MapReduce程序后,根据解析出的性能指标,计算每个MapReduce程序最差执行情况下任务的最低并行度;并将最低并行度传输给资源管理器的SLA资源调度器;
SLA资源调度器:根据每个MapReduce程序各自的最低并行度,为MapReduce程序分配不同的资源容器,并将资源容器的所在机架和节点位置信息传输给应用程序管理器;
应用程序管理器:监控每个MapReduce程序的任务完成情况,并据此得出剩余任务的理想执行时间和预期执行频率;所述应用程序管理器将预期执行频率传输给CPUfreq子系统;
CPUfreq子系统:根据剩余任务的预期执行频率,动态调节CPU的电压和频率,从而达到节能的目的。
5.如权利要求4所述的基于服务等级协议的YARN资源分配和节能调度系统,其特征是,所述程序分析器中:如果所述MapReduce程序从未在集群中运行过,则需要在一个设定的数据集上预先执行MapReduce程序来解析出所需的性能指标。
6.如权利要求4所述的基于服务等级协议的YARN资源分配和节能调度系统,其特征是,所述并行度估计器,包括:
性能指标接收模块:在提交MapReduce程序时,程序分析器将MapReduce程序的性能指标提交到资源管理器中;
完成时间预估模块:当MapReduce程序加入作业队列后,根据MapReduce程序的性能指标利用边界定理预估MapReduce程序在最差执行情况下的完成时间;
最低并行度计算模块:根据完成时间预估模块中得出的完成时间的上限,计算出程序map和reduce两阶段任务的最低并行度。
7.如权利要求4所述的基于服务等级协议的YARN资源分配和节能调度系统,其特征是,
所述应用程序管理器包括性能监控器和频率估计器,
性能监控器,将MapReduce程序的任务划分为“已完成任务”、“正在运行的任务”和“尚未开始的任务”三类;性能监控器实时收集已完成任务的完成时间,并据已完成任务的完成时间计算出未完成任务的理想执行时间;
频率估计器,负责根据性能监控器的未完成任务的理想执行时间来匹配未完成任务的预期执行频率。
8.如权利要求4所述的基于服务等级协议的YARN资源分配和节能调度系统,其特征是,
所述CPUfreq子系统:在启动MapReduce任务时将预期执行频率封装到任务的运行环境变量中,从而降低芯片的运行电压和频率,最终达到节能的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404752.9A CN104991830B (zh) | 2015-07-10 | 2015-07-10 | 基于服务等级协议的yarn资源分配和节能调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404752.9A CN104991830B (zh) | 2015-07-10 | 2015-07-10 | 基于服务等级协议的yarn资源分配和节能调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104991830A CN104991830A (zh) | 2015-10-21 |
CN104991830B true CN104991830B (zh) | 2018-01-02 |
Family
ID=54303646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510404752.9A Active CN104991830B (zh) | 2015-07-10 | 2015-07-10 | 基于服务等级协议的yarn资源分配和节能调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991830B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878042A (zh) * | 2015-12-18 | 2017-06-20 | 北京奇虎科技有限公司 | 基于sla的容器资源调度方法和系统 |
CN106020933B (zh) * | 2016-05-19 | 2018-12-28 | 山东大学 | 基于超轻量虚拟机的云计算动态资源调度系统及方法 |
CN107479962B (zh) * | 2016-06-08 | 2021-05-07 | 阿里巴巴集团控股有限公司 | 一种用于任务下发的方法与设备 |
CN107483364A (zh) * | 2016-06-08 | 2017-12-15 | 国家计算机网络与信息安全管理中心 | 一种Hadoop Yarn网络带宽资源调度、隔离方法和装置 |
CN106326011A (zh) * | 2016-08-25 | 2017-01-11 | 上海交通大学 | 云计算中面向资源成本优化的多资源调度方法 |
CN107818097B (zh) * | 2016-09-12 | 2020-06-30 | 平安科技(深圳)有限公司 | 数据处理方法和装置 |
US10331485B2 (en) | 2016-11-18 | 2019-06-25 | Huawei Technologies Co., Ltd. | Method and system for meeting multiple SLAS with partial QoS control |
CN108205469B (zh) * | 2016-12-20 | 2023-12-15 | 华为技术有限公司 | 一种基于MapReduce的资源分配方法及服务器 |
CN107229830A (zh) * | 2017-06-01 | 2017-10-03 | 上海联影医疗科技有限公司 | 放疗计划系统及其任务执行方法 |
CN109144709A (zh) * | 2017-06-16 | 2019-01-04 | 田文洪 | 一种处理大数据平台yarn数据分配不均衡的方法 |
CN108536559A (zh) * | 2018-04-19 | 2018-09-14 | 深圳市沃特沃德股份有限公司 | 手机性能测试方法及装置 |
CN110888732B (zh) * | 2018-09-10 | 2023-04-25 | 中国移动通信集团黑龙江有限公司 | 一种资源配置方法、设备、装置和计算机可读存储介质 |
CN109582119B (zh) * | 2018-11-28 | 2022-07-12 | 重庆邮电大学 | 基于动态电压频率调整的双层Spark节能调度方法 |
CN111258745B (zh) * | 2018-11-30 | 2023-11-17 | 花瓣云科技有限公司 | 一种任务处理方法及设备 |
CN109714400B (zh) * | 2018-12-12 | 2020-09-22 | 华南理工大学 | 一种面向容器集群的能耗优化资源调度系统及其方法 |
CN109739649B (zh) * | 2018-12-28 | 2023-07-18 | 深圳前海微众银行股份有限公司 | 资源管理方法、装置、设备及计算机可读存储介质 |
CN110196762B (zh) * | 2019-04-18 | 2021-07-27 | 中山大学 | 混合关键性容错系统动态资源管理方法及该方法的调度方法 |
CN110083405B (zh) * | 2019-04-28 | 2020-05-08 | 北京邮电大学 | 一种函数启动方法及装置 |
CN110287000B (zh) * | 2019-05-29 | 2021-08-17 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110647401B (zh) * | 2019-09-30 | 2022-07-08 | Oppo(重庆)智能科技有限公司 | 调频方法、调频装置、存储介质与电子设备 |
CN112835996A (zh) * | 2019-11-22 | 2021-05-25 | 北京初速度科技有限公司 | 一种地图生产系统及其方法 |
CN113051064B (zh) * | 2019-12-26 | 2024-05-24 | 中移(上海)信息通信科技有限公司 | 任务调度方法、装置、设备及存储介质 |
CN113377514A (zh) * | 2021-06-17 | 2021-09-10 | 吉林大学 | 一种针对耦合气候分量模式程序的协同进程调度优化方法 |
CN113204433B (zh) * | 2021-07-02 | 2021-10-22 | 上海钐昆网络科技有限公司 | 一种集群资源的动态分配方法、装置、设备及存储介质 |
CN113612952A (zh) * | 2021-08-11 | 2021-11-05 | 四川亨通网智科技有限公司 | 基于变频算例调节ai服务器资源动态分配方法 |
CN113835896B (zh) * | 2021-09-29 | 2024-03-22 | 东北大学 | 一种Gaia系统中面向迭代计算的并行度动态调整方法 |
CN114077486B (zh) * | 2021-11-22 | 2024-03-29 | 内蒙古大学 | 一种MapReduce任务调度方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367359B2 (en) * | 2010-06-30 | 2016-06-14 | International Business Machines Corporation | Optimized resource management for map/reduce computing |
CN102750309B (zh) * | 2012-03-19 | 2015-06-17 | 南京大学 | 一种基于Hadoop的并行化SVM求解方法 |
-
2015
- 2015-07-10 CN CN201510404752.9A patent/CN104991830B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104991830A (zh) | 2015-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104991830B (zh) | 基于服务等级协议的yarn资源分配和节能调度方法及系统 | |
Zakarya et al. | Energy efficient computing, clusters, grids and clouds: A taxonomy and survey | |
Kaur et al. | Container-as-a-service at the edge: Trade-off between energy efficiency and service availability at fog nano data centers | |
Xie et al. | Energy-efficient fault-tolerant scheduling of reliable parallel applications on heterogeneous distributed embedded systems | |
Pedram | Energy-efficient datacenters | |
Rodero et al. | Energy-efficient application-aware online provisioning for virtualized clouds and data centers | |
Cai et al. | SLA-aware energy-efficient scheduling scheme for Hadoop YARN | |
Chen et al. | Dynamic server power capping for enabling data center participation in power markets | |
CN107003887A (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
Sampaio et al. | Towards high-available and energy-efficient virtual computing environments in the cloud | |
Alvarruiz et al. | An energy manager for high performance computer clusters | |
Garg et al. | Energy-aware workflow scheduling in grid under QoS constraints | |
Fan | Job scheduling in high performance computing | |
Xiao et al. | An energy-aware heuristic scheduling for data-intensive workflows in virtualized datacenters | |
Mishra et al. | Improving energy consumption in cloud | |
Terzopoulos et al. | Bag-of-task scheduling on power-aware clusters using a dvfs-based mechanism | |
Singh et al. | Value and energy optimizing dynamic resource allocation in many-core HPC systems | |
Ali et al. | Profit-aware DVFS enabled resource management of IaaS cloud | |
Azimi et al. | PowerCoord: A coordinated power capping controller for multi-CPU/GPU servers | |
Rattihalli et al. | Fine-grained heterogeneous execution framework with energy aware scheduling | |
Li et al. | Real-time workflows oriented hybrid scheduling approach with balancing host weighted square frequencies in clouds | |
Wang et al. | Improving utilization through dynamic VM resource allocation in hybrid cloud environment | |
Kyi et al. | An efficient approach for virtual machines scheduling on a private cloud environment | |
Khan et al. | An Efficient Scheduling based cloud computing technique using virtual Machine Resource Allocation for efficient resource utilization of Servers | |
Monteiro et al. | Quantum virtual machine: power and performance management in virtualized web servers clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |