一种面向异构平台的能耗优化调度方法_2

文档序号:9672989阅读:来源:国知局
内存大小Ml。随后集 群将该作业切分成η个数据量为D的任务X。根据速度矩阵Vi,神日能效矩阵El,J,我们可W查出 任务X的速度矩阵Vx,i和能效矩阵Ex,i。设该作业为总能耗EtDtal,则:
[0030]其中S是一个映射集合,5 =。,於(1£0,_1£町),其中集合(:表示集群中的所有节 点,j是正整数。S集合中的一个映射是指j份任务分配到第i个节点上,所有的映射组合成S 集合。已知集群的各个节点的剩余的内存大小为Ml,为了使集群中的节点不会出现过载现 象,对于集合S中的每一个i节点都应该满足:
[0031 ]Mi〉jXD(ieS) 巧)
[003引结合(3)、(4)、( 5巧,调度器计算出集合S,使得EtDtai值最小。此时S即为最优分配 方案。
[0033] 步骤S5中,所述若干个任务的大小均为block的倍数。集群平台在存储数据的时 候,会W"block"为单位将数据存储在磁盘上,"block"的大小由开发人员制定。根据数据块 大小将作业切分为相同大小的若干个任务,每个任务的大小为"block"的倍数,W便提高磁 盘的利用率。
[0034] 本发明与现有技术相比,具有如下优点和有益效果:
[0035] (1)本发明改进了异构平台原有的资源分配策略,按照节点的物理能力配置资源 份额,有效提升了集群的资源使用率。
[0036] (2)本发明利用异构集群的特性,按照任务所需分配资源,有效提高了集群整体的 吞度量。
[0037] (3)本发明充分发挥异构集群的特性,使用能耗最优分配算法使得作业能够分配 到最合理的节点上执行,有效避免了节点的过载现象,将电能最大程度地转化为节点的运 算能力,有效降低了运行作业所需的总能耗。
【附图说明】
[0038] 图1为本发明所述的一种面向异构平台的能耗优化调度方法的流程图。
[0039] 图2为图1所示能耗优化调度方法在化doopl.x调度平台应用的流程图。
[0040] 图3为图1所示能耗优化调度方法在化doop2.x调度平台应用的流程图。
[0041 ]图4为DRF算法计算出该作业所需要的虚拟资源份额的工作流程图。
【具体实施方式】
[0042] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。
[0043] 实施例1
[0044] 如图1,一种面向异构平台的能耗优化调度方法,包含W下顺序的步骤:
[004引S1.通过集群监控软件采集集群平台中所有异构物理节点的资源信息;
[0046] S2.将采集到的资源信息发送给虚拟资源配置决策器,由虚拟资源配置决策器进 行下一步的决策;
[0047] S3.所述虚拟资源配置决策器根据采集到的资源信息计算出每个异构物理节点对 应的虚拟资源份额,并相应修改每个异构物理节点的虚拟资源份额大小;
[0048] S4.刷新集群平台中所有异构物理节点的配置信息,每个异构物理节点的虚拟资 源份额被更新,集群平台重新启动,接收用户提交的作业并放入作业队列中;
[0049] S5.集群平台从作业队列中取出一个作业,根据数据块大小将作业切分成若干个 任务;
[0050] S6.按照DRF算法计算出该作业所需要的虚拟资源份额,集群平台通过能耗最优调 度算法将该作业所需的虚拟资源分配给该作业;
[0051] S7.作业执行完毕后,返回步骤S5。
[0052] 实施例2
[0053] 应用本发明方法到化doopl.X调度平台:
[0054] 如图2所示,给出了异构平台的能耗优化调度方法在化doopl.x调度平台下的实施 例。化doopl.X平台的资源调度是由化bTracker完成,平台的资源抽象为slot的形式,slot 是资源的基本单位。Slot是对一个节点的资源进行平均切分,由于平台是异构性的,故一个 slot在各个物理节点中包含的资源集合也不一样。合理的slot数量配置对于异构集群至关 重要,能有效避免物理资源的浪费。
[0055] 集群节点在经过slot重新分配前,所有节点的slot数都是一样的,默认为S, JobTracker都将每个节点视作一模一样的机器,运对于异构集群是致命的假设。假设异构 集群中有弱节点Ni和强节点的,有一个作业被提交到集群中,然后根据数据块大小通过编程 模型自动将作业切分为N个任务。随后化bTracker从若干个节点中分配资源供任务执行,假 设从Ni和的节点分配资源。由于化bTracker都将每个节点视作一模一样的机器,Ni和叫节点 需要各要承担个任务。在相同的工作量下,显然强节点会更快地完成任务,弱节点甚 至还会因为资源不足和陷入内存swap的状况中。该实施例就是要改变运种现状,通过重新 调整机器中Slot的数量,来达到合理分配任务的目的。具体方法为:
[0056] 虚拟资源配置决策器依据集群监控软件Ganglia采集到的物理信息计算每个节点 对应的mapslot数和reduceslot数的大小。其中计算mapslot大小的方法为:计算当前物 理节点的CPU总速率和集群中CPU总速率最小物理节点的比值C,同时计算当前物理节点的 内存总大小和集群中内存总大小最小的物理节点的比值M,再给定全局调整系数曰,按照任 务类型分别计算每个物理节点中的a*C+(l-a)*M的大小,四舍五入后该数值即为该物理节 点的mapslot数目。当任务属于内存密集型时设置a为较小值,当任务属于CPU密集型是设 置a为较大值,当任务属于普通型时设置a为0.5。计算reduceslot大小的方法为:将节点核 屯、数乘W0.9,四舍五入后即为该节点的reduceslot数。
[0057] 集群节点经过slot分配后,节点的slot数变为Si(i=l,2,3...)。当有N个作业被 提交到集群中,Job化acker使用DRF算法计算每个作业所需的slot数,然后使用"能耗最优 分配算法"将slot分配给运N个作业运行。算法分配给作业的资源都是符合机器实际能力 的,不会造成机器的过度空闲和过度运作,使得机器能够最大化地转化电能为实际的计算 能力。接下来我们对slot分配前后的完成时间和能耗进行分析。假设现在用户提交一个作 业到集群,作业被编程模型均匀分割为X个任务,每个slot的数据量为D,经过化bTracker的 计算,它可W获得的slot数为N,完成该任务所需时间为T,每个节点处理该任务的速率为Vi (i=l,2,3...),耗电量为Ei(i=l,2,3...)。当节点资源不足产生内存缺页或者CPU超负荷 是速率为V/α= 1,2,3...),耗电量为E/α= 1,2,3...)。任务申请的slot依照Hadoop的机 审IJ,会优先分配数据所在节点的slot,如果所在节点的slot不足,会分配同一机架上的 slot,如果依然不足,会分配到相邻的机架上,直到获取到足够的slot为止。假设数据在节 点间的传输时间忽略不计,我们使用如下方法推算其完成时间:
[0058]在slot数都为S的时候,假设分配到的节点是l、2、3,slot设定值大于其能力的节 点为2和3,节点2和节点3将会出现过载现象,运行速度下降,能耗上升。TbefDre为作业运行完 成时间,Ebefwe为作业所需总能耗,则:
[0061] 在Slot被重新配置为Si(i= 1,2,3...)后,假设分配到的节点是1、2、3,Tafter为 slot重新配置后的作业运行完成时间,则:
[0064]同一个任务每次申请的slot数量是相同的,所W我们可W得到:
[006引 3S=Si+S2+S3 (10)
[0066] 假设V2为速度最小值,可W得至I
在实验环境下我们观测到,由于节点 在过载或内存缺页,速度将会骤降,能耗上升,即V2/<<Vi(i=l,2,3...),Ei/〉Ei(i=l,2, 3...)。假设
根据条件V2/ <<Vi,Si?S,我们可W推论出在绝大多数情况下 Tbefore〉Tafter。又有El巧2'巧3'大于El巧计E3,故有EafteXEbefnre。由此可W得知,在经过异构平 台的能耗优化资源调度方法后,化doopl.x平台在运行作业时可W有效地减少运行时间和 降低能耗。
[0067] 实施例3
[006引应用本发明方法到化doop2.x调度平台:
[0069]如图3所示,给出了异构平台的能耗优化调度方法在化doop2.x调度平台下的实施 例。Hadoo
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1