一种基于节点状态反馈的节点任务槽动态调整方法

文档序号:6362528阅读:209来源:国知局
专利名称:一种基于节点状态反馈的节点任务槽动态调整方法
技术领域
本发明涉及一种集群中计算节点任务槽动态调整的方法,具体涉及一种基于节点状态反馈的节点任务槽动态调整的方法,属于计算机技术领域。
背景技术
在分布式计算集群上运行的计算机程序称为分布式计算程序,一个运行中的分布式计算程序称为一个分布式计算作业。通常,一个分布式计算作业可划分为若干个子任务。 在主从架构的分布式计算框架中,主节点负责接收、初始化作业并生成若干个子任务,再由子节点处理每个子任务。一个子节点可以同时执行作业的多个子任务,子节点可以同时执行的子任务的数量称作该节点的任务槽的大小,因此子任务在子节点上执行的并行粒度是由子节点的任务槽决定的。目前,在主流的分布式计算模式(如MapReduce)中,作业提交后由主节点划分为若干子任务,然后分配给子节点。其中存在的不足之处是,子节点的最大任务槽数(以下简称MTS =Maximum Task Slot)在分布式计算集群处理作业时不可变,其配置也不能真正反映子节点的处理能力。若MTS设置较大,子节点上并行执行任务的任务数比较多,势必会造成节点资源竞争激烈,任务无法得到最优的执行进度保障;若MTS设置较小,则可能造成子节点资源得不到充分利用,造成资源浪费。如果在任务执行过程中,可以根据子节点的实时负载状态信息动态调整MTS的大小,那么就会避免上述问题,既可以减少子节点上多个任务对于子节点资源的竞争,又可以使子节点资源得到较充分的利用。

发明内容
本发明的目的在于提供一种基于节点状态反馈的节点任务槽动态调整方法。它首先考虑收集并分析子节点实时负载状态等相关信息,然后根据分析结果调整子节点的MTS, 以此达到子节点资源得到充分合理地利用。本发明一种基于节点状态反馈的节点任务槽动态调整方法,其技术方案如下首先,变量定义如下将子节点负载值workload的取值范围
划分为三个区间轻载区、适载区和重载区,如

图1所示。图中,LLdower limit)表示适载下限值,UL(upper limit)表示适载上限值。由于集群初始化时对节点负载情况不了解,所以初始设置LL = 33%,UL = 66%, 即将负载取值范围平均划分。然后在作业运行过程中动态调整LL、UL。但是调整后的LL和 UL必须有一定的范围。我们将LL限定在[20%,33% ],UL限定在[65%,90% ]。节点处理数据的吞吐率ntr (node throughputrate)为单位时间内节点上所有任务处理的数据量。由公式(1)得出。ntr = — (1)
AtCN 102541645 A
子节点处理数据的加速比nsr (node speed-up ratio)为MTS调整后的节点处理数据的吞吐率ntr与MTS调整前的ntr的比值,nsr初始化为1。为了实现上述目的,本发明技术方案主要包括以下步骤步骤1.通过节点负载检测模块对分布式计算集群子节点进行负载检测与收集。 得到子节点的负载值workload。步骤2.通过节点任务状态检测模块对分布式计算作业运行中的任务的状态进行监控与收集。主要获取子节点的任务进度信息,包括子节点的ntr和nsr。步骤3.将步骤1收集的节点负载状态和步骤2收集的节点任务状态封装在一起, 组成心跳信息。由子节点每隔一段时间发起的心跳通信,将心跳信息传输到主节点。步骤4.主节点监听所有子节点发起的心跳通信。当有子节点发起心跳通信时,主节点读取子节点传输过来的心跳信息。步骤5.主节点读取子节点心跳信息中的负载值workload作为该子节点最新的负载大小,计算所有子节点最新的负载大小均值Workloadavg,然后按公式( 调整LL和UL。 当LL或UL超出其限定范围时,按公式(3)调整。
(LL = Workloadavg — 16.5%—Workloadavg + 16.5%
fLL = 20%,ifLL < 20% j LL = 45%,ifLL >45% ...UL = 65%,ifUL<65% (3) lUL = 90%, if UL > 90%步骤6.主节点读取子节点心跳信息中ntr和nsr,用于该节点MTS的调整。步骤7.调整子节点的MTS。流程图如图1所示,整个过程分为初始化阶段和MTS 动态调整阶段。在初始化阶段,主节点接收作业,初始化任务,开始执行第一个任务。然后, 在MTS动态调整阶段,首先计算节点负载值workload (即步骤1),若workload < LL表示该节点目前处于轻载区,执行MTS+1,否则继续判断workload是否大于UL,若大于表示该节点目前处于重载区,执行MTS-I,否则表示该节点目前处于适载区,此时判断nsr是否大于1, 若大于表示该节点任务吞吐率处于上升阶段,可执行MTS+1,若小于1表示该节点在上次调整MTS后吞吐率呈下降趋势,执行MTS-I。上述为MTS调整的全过程。其中,步骤1所述的节点负载检测模块包括负载检测程序(程序名称为 load-detector)和负载收集程序(load-collector),两者构成了负载收集的主从架构,如图2所示。每个子节点上的负载检测程序会采集本节点的负载指标信息,加以权重计算出节点的负载值。负载指标如表1,各指标的权重会根据作业类型作相应的设置,然后由公式 (4)计算自己点的负载值workload。workload = WcpuX P cpu+wmemX P mem+wnetworkX P networkwcpu+wmem+wnetW0rk = 1(4)O ( wcpu, wmem,Wnetwork ( 1其中,wx表示负载指标χ的权重,P χ表示节点上资源χ的使用率。
权利要求
1.一种基于节点状态反馈的节点任务槽动态调整方法,首先,变量定义如下将子节点负载值workload的取值范围
划分为三个区间轻载区、适载区和重载区;其中,LL 表示适载下限值,UL表示适载上限值;由于集群初始化时对节点负载情况不了解,所以初始设置LL = 33%,UL = 66%,即将负载取值范围平均划分;然后在作业运行过程中动态调整LL、UL ;但是调整后的LL和UL必须有一定的范围;我们将LL限定在[20%,33% ],UL 限定在[65%,90% ];节点处理数据的吞吐率ntr为单位时间内节点上所有任务处理的数据量;由公式(1) 得出ntr = - (1);At子节点处理数据的加速比nsr为MTS调整后的节点处理数据的吞吐率ntr与MTS调整前的ntr的比值,nsr初始化为1 ;所述的基于节点状态反馈的节点任务槽动态调整方法,主要包括以下步骤步骤1.通过节点负载检测模块对分布式计算集群子节点进行负载检测与收集,得到子节点的负载值workload ;步骤2.通过节点任务状态检测模块对分布式计算作业运行中的任务的状态进行监控与收集;主要获取子节点的任务进度信息,包括子节点的ntr和nsr ;步骤3.将步骤1收集的节点负载状态和步骤2收集的节点任务状态封装在一起,组成心跳信息;由子节点每隔一段时间发起的心跳通信,将心跳信息传输到主节点;步骤4.主节点监听所有子节点发起的心跳通信;当有子节点发起心跳通信时,主节点读取子节点传输过来的心跳信息;步骤5.主节点读取子节点心跳信息中的负载值workload作为该子节点最新的负载大小,计算所有子节点最新的负载大小均值Workloadavg,然后按公式(2)调整LL和UL;当LL或UL超出其限定范围时,按公式(3)调整(LL = workload· — 16.5% \ avg (2) · 〔UL = Workloadavg + 16.5%‘fLL = 20%,ifLL < 20% I LL = 45%,ifLL〉45% (. (UL = 65%, if UL < 65% ; Iul = 90%, if ul > 90%步骤6.主节点读取子节点心跳信息中ntr和nsr,用于该节点MTS的调整; 步骤7.子节点MTS的动态调整,包括MTS初始化阶段和动态调整阶段。
2.根据权利要求1所述的一种基于节点状态反馈的节点任务槽动态调整方法,其特征在于步骤1所述的节点负载检测模块包括负载检测程序和负载收集程序,两者构成了负载收集的主从架构;每个子节点上的负载检测程序会采集本节点的负载指标信息,加以权重计算出节点的负载值;各指标的权重会根据作业类型作相应的设置,然后由公式(4)计算自己点的负载值workload workload = WcpuX P cpu+wmemX P mem+wnetworkX P networkWCpu+Wmem+Wnetwork 1(4)0 ≤ WCpU,Wmem,Wnetwork ≤1其中,WX表示负载指标X的权重,ρ X表示节点上资源X的使用率。
3.根据权利要求1所述的一种基于节点状态反馈的节点任务槽动态调整方法,其特征在于步骤2所述的节点任务状态检测模块包括任务监控程序和任务管理程序,两者构成了任务状态监控的主从架构。
全文摘要
本发明涉及一种基于节点状态反馈的节点任务槽动态调整方法。它首先考虑收集并分析子节点实时负载状态等相关信息,然后根据分析结果调整子节点的MTS,以此达到子节点资源得到充分合理地利用。本发明一种基于节点状态反馈的节点任务槽动态调整方法,包括七个步骤,本发明的优势与功效在于本发明的优势在于子节点MTS可以适时调整,并且是基于子节点的实时负载状况进行调整的,因此可以使集群节点资源得到更有效地使用且避免节点上多个任务对节点资源的过分竞争。
文档编号G06F9/46GK102541645SQ201210001269
公开日2012年7月4日 申请日期2012年1月4日 优先权日2012年1月4日
发明者庞瑜, 毛宏, 肖利民, 阮利 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1