CN102541645B - 一种基于节点状态反馈的节点任务槽动态调整方法 - Google Patents
一种基于节点状态反馈的节点任务槽动态调整方法 Download PDFInfo
- Publication number
- CN102541645B CN102541645B CN 201210001269 CN201210001269A CN102541645B CN 102541645 B CN102541645 B CN 102541645B CN 201210001269 CN201210001269 CN 201210001269 CN 201210001269 A CN201210001269 A CN 201210001269A CN 102541645 B CN102541645 B CN 102541645B
- Authority
- CN
- China
- Prior art keywords
- node
- load
- task
- workload
- child node
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 102100024458 Cyclin-dependent kinase inhibitor 2A Human genes 0.000 description 2
- 101000980932 Homo sapiens Cyclin-dependent kinase inhibitor 2A Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于节点状态反馈的节点任务槽动态调整方法。它首先考虑收集并分析子节点实时负载状态等相关信息,然后根据分析结果调整子节点的MTS,以此达到子节点资源得到充分合理地利用。本发明一种基于节点状态反馈的节点任务槽动态调整方法,包括七个步骤,本发明的优势与功效在于:本发明的优势在于子节点MTS可以适时调整,并且是基于子节点的实时负载状况进行调整的,因此可以使集群节点资源得到更有效地使用且避免节点上多个任务对节点资源的过分竞争。
Description
技术领域
本发明涉及一种集群中计算节点任务槽动态调整的方法,具体涉及一种基于节点状态反馈的节点任务槽动态调整的方法,属于计算机技术领域。
背景技术
在分布式计算集群上运行的计算机程序称为分布式计算程序,一个运行中的分布式计算程序称为一个分布式计算作业。通常,一个分布式计算作业可划分为若干个子任务。在主从架构的分布式计算框架中,主节点负责接收、初始化作业并生成若干个子任务,再由子节点处理每个子任务。
一个子节点可以同时执行作业的多个子任务,子节点可以同时执行的子任务的数量称作该节点的任务槽的大小,因此子任务在子节点上执行的并行粒度是由子节点的任务槽决定的。
目前,在主流的分布式计算模式(如MapReduce)中,作业提交后由主节点划分为若干子任务,然后分配给子节点。其中存在的不足之处是,子节点的最大任务槽数(以下简称MTS:Maximum Task Slot)在分布式计算集群处理作业时不可变,其配置也不能真正反映子节点的处理能力。若MTS设置较大,子节点上并行执行任务的任务数比较多,势必会造成节点资源竞争激烈,任务无法得到最优的执行进度保障;若MTS设置较小,则可能造成子节点资源得不到充分利用,造成资源浪费。
如果在任务执行过程中,可以根据子节点的实时负载状态信息动态调整MTS的大小,那么就会避免上述问题,既可以减少子节点上多个任务对于子节点资源的竞争,又可以使子节点资源得到较充分的利用。
发明内容
本发明的目的在于提供一种基于节点状态反馈的节点任务槽动态调整方法。它首先考虑收集并分析子节点实时负载状态等相关信息,然后根据分析结果调整子节点的MTS,以此达到子节点资源得到充分合理地利用。
本发明一种基于节点状态反馈的节点任务槽动态调整方法,其技术方案如下:
首先,变量定义如下:
将子节点负载值workload的取值范围[0,1]划分为三个区间:轻载区、适载区和重载区,如图1所示。图中,LL(lower limit)表示适载下限值,UL(upper limit)表示适载上限值。由于集群初始化时对节点负载情况不了解,所以初始设置LL=33%、UL=66%,即将负载取值范围平均划分。然后在作业运行过程中动态调整LL、UL。但是调整后的LL和UL必须有一定的范围。我们将LL限定在[20%,33%],UL限定在[65%,90%]。
节点处理数据的吞吐率ntr(node throughputrate)为单位时间内节点上所有任务处理的数据量。由公式(1)得出。
子节点处理数据的加速比nsr(node speed-up ratio)为MTS调整后的节点处理数据的吞吐率ntr与MTS调整前的ntr的比值,nsr初始化为1。
为了实现上述目的,本发明技术方案主要包括以下步骤:
步骤1.通过节点负载检测模块对分布式计算集群子节点进行负载检测与收集。得到子节点的负载值workload。
步骤2.通过节点任务状态检测模块对分布式计算作业运行中的任务的状态进行监控与收集。主要获取子节点的任务进度信息,包括子节点的ntr和nsr。
步骤3.将步骤1收集的节点负载状态和步骤2收集的节点任务状态封装在一起,组成心跳信息。由子节点每隔一段时间发起的心跳通信,将心跳信息传输到主节点。
步骤4.主节点监听所有子节点发起的心跳通信。当有子节点发起心跳通信时,主节点读取子节点传输过来的心跳信息。
步骤5.主节点读取子节点心跳信息中的负载值workload作为该子节点最新的负载大小,计算所有子节点最新的负载大小均值workloadavg,然后按公式(2)调整LL和UL。当LL或UL超出其限定范围时,按公式(3)调整。
步骤6.主节点读取子节点心跳信息中ntr和nsr,用于该节点MTS的调整。
步骤7.调整子节点的MTS。流程图如图1所示,整个过程分为初始化阶段和MTS动态调整阶段。在初始化阶段,主节点接收作业,初始化任务,开始执行第一个任务。然后,在MTS动态调整阶段,首先计算节点负载值workload(即步骤1),若workload<LL表示该节点目前处于轻载区,执行MTS+1,否则继续判断workload是否大于UL,若大于表示该节点目前处于重载区,执行MTS-1,否则表示该节点目前处于适载区,此时判断nsr是否大于1,若大于表示该节点任务吞吐率处于上升阶段,可执行MTS+1,若小于1表示该节点在上次调整MTS后吞吐率呈下降趋势,执行MTS-1。上述为MTS调整的全过程。
其中,步骤1所述的节点负载检测模块包括负载检测程序(程序名称为load-detector)和负载收集程序(load-collector),两者构成了负载收集的主从架构,如图2所示。每个子节点上的负载检测程序会采集本节点的负载指标信息,加以权重计算出节点的负载值。负载指标如表1,各指标的权重会根据作业类型作相应的设置,然后由公式(4)计算自己点的负载值workload。
workload=wcpu×ρcpu+wmem×ρmem+wnetwork×ρnetwork
wcpu+wmem+wnetwork=1 (4)
0≤wcpu,wmem,wnetwork≤1
其中,wx表示负载指标x的权重,ρx表示节点上资源x的使用率。
表1
其中,步骤2所述的节点任务状态检测模块包括任务监控程序(程序名称为task-monitor)和任务管理程序(task-manager),两者构成了任务状态监控的主从架构,如图3所示。每个子节点上的任务监控程序会监控本节点上正在运行的任务的状态信息。主要包括子节点处理数据的吞吐率ntr和加速比nsr。
本发明一种基于节点状态反馈的节点任务槽动态调整方法,其优势与功效在于:
本发明的优势在于子节点MTS可以适时调整,并且是基于子节点的实时负载状况进行调整的,因此可以使集群节点资源得到更有效地使用且避免节点上多个任务对节点资源的过分竞争。
附图说明
图1:MTS动态调整流程图
图2:分布式计算集群的节点负载检测架构
图3:分布式计算集群的节点任务状态检测架构
具体实施方式
为使本发明的目的、技术方案和优势表达得更加清楚明白,下面结合附图和具体实施例对本发明再作进一步详细的说明。
首先,变量定义如下:
将子节点负载值workload的取值范围[0,1]划分为三个区间:轻载区、适载区和重载区,如图1所示。图中,LL(lower limit)表示适载下限值,UL(upper limit)表示适载上限值。由于集群初始化时对节点负载情况不了解,所以初始设置LL=33%、UL=66%,即将负载取值范围平均划分。然后在作业运行过程中动态调整LL、UL。但是调整后的LL和UL必须有一定的范围。我们将LL限定在[20%,33%],UL限定在[65%,90%]。
节点处理数据的吞吐率ntr(node throughputrate)为单位时间内节点上所有任务处理的数据量。由公式(1)得出。
子节点处理数据的加速比nsr(node speed-up ratio)为MTS调整后的节点处理数据的吞吐率ntr与MTS调整前的ntr的比值,nsr初始化为1。
本发明的具体步骤如下:
步骤1,通过节点负载检测模块收集节点负载信息,由公式(4)计算得出节点负载值workload.
步骤2,通过节点任务状态检测模块得到节点ntr和nsr,ntr由公式(1)计算得出,nsr初始化为1。
步骤3,子节点将负载信息workload和任务状态信息ntr、nsr封装在一起组成心跳信息,通过心跳通信传送给主节点。心跳通信由子节点每隔3秒钟发起一次。主节点一直监听心跳通信。当子节点发起心跳通信时,主节点读取心跳信息中的workload、nsr、ntr。
步骤4,将读取的workload作为节点的最新负载信息,计算所有节点的负载平均值,然后根据公式(2)和公式(3)调整LL和UL。
步骤5,根据图1所示流程图动态调整节点MTS。
在初始化阶段,集群中每个子节点的MTS大小设置为1。开始由于没有作业运行,所有子节点的任务槽都为空闲状态。
当有作业提交到集群后,主节点首先初始化作业并将作业划分为若干子任务。子节点可通过心跳通信从主节点获取小任务执行。同时,子节点上的负载检测模块和任务状态检测模块开始周期性的检测本节点负载状况,然后周期性(这里设置为3秒钟)地向主节点发送心跳信息报告负载状况,主节点读取心跳信息后调整LL、UL、ntr、nsr。
在MTS动态调整阶段,主节点根据子节点的负载状况调整子节点的MTS。具体方法如下:
若子节点的负载值低于适载下限值(LL),则将该子节点的MTS加1;
若子节点的负载值高于适载上限值(UL),则将该子节点的MTS减1;
若子节点的负载值介于LL和UL之间,则根据上次调整MTS前后子节点处理数据的加速比(nsr)决定是否继续增加MTS的大小:
如果上次调整MTS后的nsr大于1,则说明虽然节点负载状态处于适载区,但是上次增加MTS后,节点处理数据的速率仍然在提升,所以本次心跳依然可以尝试将该节点的MTS加1;
若上次调整MTS后的nsr小于1,则说明虽然节点状态处于适载区,但是上次增加MTS后,节点处理数据的速率不增反降,因此本次心跳应该将该节点的MTS减1,以降低任务之间的资源竞争。
在其他情况下,保持MTS不变。
Claims (2)
1.一种基于节点状态反馈的节点任务槽动态调整方法,首先,变量定义如下:将子节点负载值workload的取值范围[0,1]划分为三个区间:轻载区、适载区和重载区;其中,LL表示适载下限值,UL表示适载上限值;初始设置LL=33%、UL=66%,然后在作业运行过程中动态调整LL、UL,将LL限定在[20%,33%],UL限定在[65%,90%];
节点处理数据的吞吐率ntr为单位时间内节点上所有任务处理的数据量;由公式(1)得出:
子节点处理数据的加速比nsr为最大任务槽数调整后的节点处理数据的吞吐率ntr与最大任务槽数调整前的ntr的比值,nsr初始化为1;
所述的基于节点状态反馈的节点任务槽动态调整方法,主要包括以下步骤:
步骤1.通过节点负载检测模块对分布式计算集群子节点进行负载检测与收集,得到子节点的负载值workload;
步骤2.通过节点任务状态检测模块对分布式计算作业运行中的任务的状态进行监控与收集;主要获取子节点的任务进度信息,包括子节点的ntr和nsr;
步骤3.将步骤1收集的节点负载状态和步骤2收集的节点任务状态封装在一起,组成心跳信息;由子节点每隔一段时间发起的心跳通信,将心跳信息传输到主节点;
步骤4.主节点监听所有子节点发起的心跳通信;当有子节点发起心跳通信时,主节点读取子节点传输过来的心跳信息;
步骤5.主节点读取子节点心跳信息中的负载值workload作为该子节点最新的负载大小,计算所有子节点最新的负载大小均值workloadavg,然后按公式(2)调整LL和UL;当LL或UL超出其限定范围时,按公式(3)调整:
步骤6.主节点读取子节点心跳信息中ntr和nsr,用于主节点最大任务槽的调整;
步骤7.子节点的最大任务槽数的动态调整,包括最大任务槽数初始化阶段和动态调整阶段;
在初始化阶段,主节点接收作业,初始化任务,开始执行第一个任务;然后,在最大任务槽数动态调整阶段,首先计算节点负载值workload,若workload<LL表示该节点目前处于轻载区,执行最大任务槽数加1,否则继续判断workload是否大于UL,若大于表示该节点目前处于重载区,执行最大任务槽数减1,否则表示该节点目前处于适载区,此时判断nsr是否大于1,若大于表示该节点任务吞吐率处于上升阶段,执行最大任务槽数加1,若小于1表示该节点在上次调整最大任务槽数后吞吐率呈下降趋势,执行最大任务槽数减1;上述为最大任务槽数1调整的全过程。
2.根据权利要求1所述的一种基于节点状态反馈的节点任务槽动态调整方法,其特征在于:步骤1所述的节点负载检测模块包括负载检测程序和负载收集程序,两者构成了负载收集的主从架构;每个子节点上的负载检测程序会采集本节点的负载指标信息,加以权重计算出节点的负载值;各指标的权重会根据作业类型作相应的设置,然后由公式(4)计算自己点的负载值workload:
workload=wcpu×ρcpu+wmem×ρmem+wnetwork×ρnetwork
wcpu+wmem+wnetwork=1 (4)
0≤wcpu,wmem,wnetwork≤1
其中,wx表示负载指标x的权重,ρx表示节点上资源x的使用率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210001269 CN102541645B (zh) | 2012-01-04 | 2012-01-04 | 一种基于节点状态反馈的节点任务槽动态调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201210001269 CN102541645B (zh) | 2012-01-04 | 2012-01-04 | 一种基于节点状态反馈的节点任务槽动态调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102541645A CN102541645A (zh) | 2012-07-04 |
CN102541645B true CN102541645B (zh) | 2013-09-11 |
Family
ID=46348601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201210001269 Expired - Fee Related CN102541645B (zh) | 2012-01-04 | 2012-01-04 | 一种基于节点状态反馈的节点任务槽动态调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541645B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761146B (zh) * | 2014-01-06 | 2017-10-31 | 浪潮电子信息产业股份有限公司 | 一种MapReduce动态设定slots数量的方法 |
CN103986766B (zh) * | 2014-05-19 | 2017-07-07 | 中国工商银行股份有限公司 | 自适应负载均衡作业任务调度方法及装置 |
CN104731647B (zh) * | 2015-03-31 | 2018-02-09 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
CN104731663B (zh) * | 2015-03-31 | 2018-04-13 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
CN106383704B (zh) * | 2016-08-31 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 进度条数据处理的方法和装置 |
CN108089909A (zh) * | 2016-11-22 | 2018-05-29 | 深圳先进技术研究院 | docker集群管理调度方法及系统 |
CN107357642B (zh) * | 2017-06-27 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 一种计算任务调整方法及装置 |
CN109254835A (zh) * | 2018-06-27 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 批处理任务的处理方法、装置、服务器及可读存储介质 |
CN110807133B (zh) * | 2019-11-05 | 2020-08-04 | 山东交通学院 | 一种智能船舶中传感监测数据处理方法及装置 |
CN113626098B (zh) * | 2021-07-21 | 2024-05-03 | 长沙理工大学 | 一种基于信息交互的数据节点动态配置方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719931A (zh) * | 2009-11-27 | 2010-06-02 | 南京邮电大学 | 一种基于多智能主体的层次式云端计算模型构建方法 |
CN1795446B (zh) * | 2003-05-27 | 2010-12-08 | 诺基亚公司 | 计算机集群及其中的计算机节点和传送状态信息的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287280A1 (en) * | 2009-05-08 | 2010-11-11 | Gal Sivan | System and method for cloud computing based on multiple providers |
-
2012
- 2012-01-04 CN CN 201210001269 patent/CN102541645B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1795446B (zh) * | 2003-05-27 | 2010-12-08 | 诺基亚公司 | 计算机集群及其中的计算机节点和传送状态信息的方法 |
CN101719931A (zh) * | 2009-11-27 | 2010-06-02 | 南京邮电大学 | 一种基于多智能主体的层次式云端计算模型构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102541645A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541645B (zh) | 一种基于节点状态反馈的节点任务槽动态调整方法 | |
CN105912401B (zh) | 一种分布式数据批处理系统和方法 | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
Vijayakumar et al. | Dynamic resource provisioning for data streaming applications in a cloud environment | |
WO2017167025A1 (zh) | 一种实现任务调度的方法、装置及计算机存储介质 | |
CN102521055B (zh) | 一种虚拟机资源分配方法及其系统 | |
AU2018100381A4 (en) | A physical resource scheduling method in cloud cluster | |
Choudhary et al. | A dynamic optimization algorithm for task scheduling in cloud environment | |
CN104902001B (zh) | 基于操作系统虚拟化的Web请求负载均衡方法 | |
US20100005468A1 (en) | Black-box performance control for high-volume throughput-centric systems | |
Liu et al. | Task scheduling with precedence and placement constraints for resource utilization improvement in multi-user MEC environment | |
CN106790706B (zh) | 一种数据资源优化的方法、平台及系统 | |
CN103699433B (zh) | 一种于Hadoop平台中动态调整任务数目的方法及系统 | |
Rui et al. | Computation offloading in a mobile edge communication network: A joint transmission delay and energy consumption dynamic awareness mechanism | |
El Khoury et al. | Energy-aware placement and scheduling of network traffic flows with deadlines on virtual network functions | |
Sedaghat et al. | Decentralized cloud datacenter reconsolidation through emergent and topology-aware behavior | |
Fan et al. | Agent-based service migration framework in hybrid cloud | |
CN105843678A (zh) | 一种基于最优化理论的虚拟机的资源调度迁移方法及系统 | |
CN103442087B (zh) | 一种基于响应时间趋势分析的Web服务系统访问量控制装置和方法 | |
CN115277692B (zh) | 边缘网络计算终端设备自动运维方法、装置和系统 | |
Alyouzbaki et al. | Novel load balancing approach based on ant colony optimization technique in cloud computing | |
Rattanatamrong et al. | Overhead study of telegraf as a real-time monitoring agent | |
Shen et al. | Energy-driven distribution of signal processing applications across wireless sensor networks | |
CN117271142A (zh) | 用于分析概率安全分析模型的负载均衡方法和任务调度器 | |
Swain et al. | An Intelligent Straggler Traffic Management Framework for Sustainable Cloud Environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210218 Address after: 100089 West N3, Jinyu zhizaochang, Jiancai East Road, Haidian District, Beijing Patentee after: Zhongke Yucheng (Beijing) Technology Service Co.,Ltd. Address before: 100191 No. 37, Haidian District, Beijing, Xueyuan Road Patentee before: BEIHANG University |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130911 |