一种基于Manage和Worker的任务分发方法及装置与流程
- 国知局
- 2024-09-11 14:22:41
本发明涉及电数字数据处理,具体为一种基于manage和worker的任务分发方法及装置。
背景技术:
1、在现代计算环境中,特别是在使用容器化技术如dockerswarm集群的场景下,任务分发和调度的优化显得尤为重要,这种环境下,系统的可扩展性、资源利用率和任务执行效率是衡量技术成功的关键指标;传统的任务分发方法通常依靠静态的资源分配策略,这在动态变化的计算需求和资源状态下往往无法达到最优性能,此外,现有技术在处理复杂的任务依赖关系、动态资源配置以及执行效率优化方面常常显示出局限性,尤其是在高并发和高负载的操作环境中;
2、现有技术中的,公开号为cn111506394b公开了一种dockerswarm容器调度方法及调度系统,通过cpu、内存、i/o负载、网络宽带和磁盘空间共五个指标全面衡量容器节点负载状态的性能,更贴近实际的容器任务部署情况,应用基于阈值的双重策略混合蛙跳算法确定使得节点负载最均衡的调度方案,根据子集的阈值选择不同的局部搜索策略,加入群体之间的学习过程,扩大子群体的搜索范围和整个集合的搜索集合,提高局部搜索精度,避免陷入局部最优;采用并行化部署思路,可有效减少容器任务部署时产生的资源碎片,最大化利用服务器资源;
3、存在的不足之处:现有技术在处理任务间复杂依赖关系时缺乏灵活性和适应性,无法有效捕捉和利用历史执行数据来优化资源分配,现有的dockerswarm调度算法主要依据节点的资源状态(如cpu负载、内存使用等)进行任务调度,而不充分考虑任务间的依赖性;且现有系统往往未能充分利用任务执行的历史数据来预测资源需求;
4、如何通过分析历史执行效率,能够更精确地预测任务的资源需求和执行时间,通过引入基于多因素的优先级权重计算,如紧急程度、资源需求量及历史执行效率,并通过调整系数来平衡这些因素的影响,以提高资源的利用效率和任务执行的响应速度,进而减少通信延迟和数据传输时间是当下需要改进的方向;
5、在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本发明的目的在于提供一种基于manage和worker的任务分发方法及装置,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:
3、一种基于manage和worker的任务分发方法,具体步骤包括:
4、步骤s1、收集关于容器化任务的历史执行数据、任务间依赖关系、共享数据的大小及访问频率信息,并进行分析处理,通过这些数据构建任务依赖图,并用有向图g=(v,e)表示,其中每个顶点v∈v表示一个任务,每条边e=(u,v)∈e表示任务u依赖于任务v,表达公式如下:
5、g=(v,e),where v=v1,v2,…,vn,e=(vi,vj)|vi depends on vj
6、其中,v1,v2,…,vn是图中的节点,每个节点代表一个任务,每条边(vi,vj)表示任务vi依赖于任务vj,即任务vj的完成或输出是任务vi的执行所必需的;
7、步骤s2、获取任务依赖图后使用拓扑排序确定任务的执行顺序,并引入基于任务紧急程度、资源需求和历史执行效率的优先级权重w(v),表达公式如下:
8、w(v)=α×urgency+β×resource demand+γ×historical efficiency
9、其中α、β、γ是调整系数,用于平衡不同因素的影响,任务紧急程度、资源需求和历史执行效率分别用urgency、resource demand、historical efficiency表示;
10、步骤s3、获取步骤s2中的任务执行排序结果,应用遗传算法,依据任务的优先级权重及节点的实时状态,动态分配任务到最适节点,算法的目标是最小化总的任务执行时间和数据传输时间,同时最大化资源利用率,表达公式如下:
11、
12、其中,texec(v)是任务v的执行时间,ttrans(v,e(v))是任务v与其依赖任务集e(v)之间的数据传输时间;
13、步骤s4,在dockerswarm环境中部署步骤s3中调度策略,监控其效果,进而采集监控效果中的可量化参数集a,对可量化参数集a进行分析处理,生成校准指数,并基于该校准指数生成第一反馈调整策略,该第一反馈调整策略能够根据系统运行反馈调整α、β、γ参数,初步优化调度结果;
14、步骤5:获取任务紧急程度、资源需求和历史执行效率的可量化参数集b,对可量化参数集b进行分析处理,生成微调指数,并基于该微调指数生成第二反馈调整策略,该第二反馈调整策略能够在第一反馈调整策略的基础上,微调α、β、γ参数,形成最终优化调度结果。
15、进一步地,所述第一反馈调整策略包括将校准指数i的值域为(0,1)划分为三个主要区间,每个区间对应不同的系统性能状态和相应的调整策略;
16、低性能区间i∈(0,0.3),此时系统性能严重不足,需要大幅度调整;
17、反馈调整策略为增加α以提高任务紧急程度的权重达20%,降低β10%以减少资源需求的影响,增加γ10%以更多地考虑历史执行效率;
18、中等性能区间i∈[0.3,0.7),此时系统性能基本符合预期,但仍有改进空间;
19、反馈调整策略为轻微增加α5%,保持β不变,轻微减少γ5%;
20、高性能区间i∈[0.7,1),此时系统性能优越,调整旨在细微优化;
21、反馈调整策略为减少α5%,保持β不变,增加γ5%;
22、当i增加时,表明系统性能正在改善,此时减少对紧急任务的反应,即为减少α值,而增加历史效率的考量,即为增加γ值;
23、当i减少时,说明系统遇到瓶颈或效率问题,此时需要增加对紧急任务的权重,此时α增大,以快速解决可能导致系统拥堵的问题。
24、进一步地,所述获取任务紧急程度、资源需求和历史执行效率的可量化参数集b,对可量化参数集b进行分析处理,生成微调指数,具体包括以下内容:
25、对任务紧急程度urgency、资源需求量resourcedemand、历史执行效率historicalefficiency、节点性能变化jdxn、资源申请与释放频率zysf计算后的数据进行统一的归一化量纲操作,使其取值限定在同一取值范围内,并定义微调指数为wt,计算公式如下:
26、
27、其中,urgency(i)表示在任务i上的任务紧急程度,数值越高,任务越紧急;
28、resourcedemand(i)代表任务i的资源需求量,数值越大,需要的资源越多;
29、hi stor ica l efficiency(i)为历史执行效率,数值越高,说明过往任务执行效率越好;jdxn(n)指节点n在时间t的性能变化,此参数反映了节点性能的实时变化情况;zysf代表资源申请与释放频率,频率越高,资源变动越频繁;
30、设定wt公式的值域为(0,10),当wt接近0时,表明当前资源配置和任务紧急程度较为平衡,不需要显著调整;
31、当wt接近10时,表明需要大幅调整任务调度策略,可能是由于资源需求极大或任务极其紧急;
32、将wt的值域(0,10)划分为四个区间,每个区间对应不同的调整需求,且每一区间的调整在所述第一反馈调整策略的基础上进行调整,同时需要确保α+β+γ=1:
33、低微调区间wt∈(0,2.5),调整策略为微增α2%,减少β当前值的(1+△h)%,增加γ1%;
34、中微调区间wt∈[2.5,5),调整策略为增加α当前值5%,保持β不变,减少γ当前值(3+△h)%,此时系统性能基本符合预期,调整旨在略微提高紧急任务的处理优先级,调整幅度在15%以内;
35、高微调区间wt∈[5,7.5),调整策略为增加α当前值(10+△h)%,减少β5%,保持γ不变;此时系统性能需要较大调整,调整幅度在20%以内,尤其是在资源分配和任务紧急度上;
36、极高微调区间wt∈[7.5,10),调整策略为大幅增加α20%,减少β10%,增加γ当前值(10+△h)%;
37、此时系统性能严重不足,需要大幅度调整以应对紧急和高资源需求的任务,调整幅度在30%以内;
38、αnew=α·(1+kα·wt)
39、βnew=β·(1-kβ·wt)
40、γnew=γ·(1+kγ·wt)
41、其中,kα,kβ和kγ是根据wt值域的不同区间预设的调整系数。
42、一种基于manage和worker的任务分发装置,所述装置用于执行所述的基于manage和worker的任务分发方法,包括:
43、任务依赖图构建模块:用于收集关于容器化任务的历史执行数据、任务间依赖关系、共享数据的大小及访问频率信息,并进行分析处理,通过这些数据构建任务依赖图,并用有向图g=(v,e)表示,其中每个顶点v∈v表示一个任务,每条边e=(u,v)∈e表示任务u依赖于任务v,表达公式如下:
44、g=(v,e),where v=v1,v2,…,vn,e=(vi,vj)|vi depends on vj
45、其中,v1,v2,…,vn是图中的节点,每个节点代表一个任务,每条边(vi,vj)表示任务vi依赖于任务vj,即任务vj的完成或输出是任务vi的执行所必需的;
46、优先级计算模块:用于获取任务依赖图后使用拓扑排序确定任务的执行顺序,并引入基于任务紧急程度、资源需求和历史执行效率的优先级权重w(v),表达公式如下:
47、w(v)=α×urgency+β×resource demand+γ×historical efficiency
48、其中α、β、γ是调整系数,用于平衡不同因素的影响,任务紧急程度、资源需求和历史执行效率分别用urgency、resource demand、historical efficiency表示;
49、调度优化模块:用于获取步骤s2中的任务执行排序结果,应用遗传算法,依据任务的优先级权重及节点的实时状态,动态分配任务到最适节点,算法的目标是最小化总的任务执行时间和数据传输时间,同时最大化资源利用率,表达公式如下:
50、
51、其中,texec(v)是任务v的执行时间,ttrans(v,e(v))是任务v与其依赖任务集e(v)之间的数据传输时间;
52、反馈调整模块:用于在dockerswarm环境中部署调度策略,监控其效果,进而采集监控效果中的可量化参数集a,对可量化参数集a进行分析处理,生成校准指数,并基于该校准指数生成第一反馈调整策略,该第一反馈调整策略能够根据系统运行反馈调整α、β、γ参数,初步优化调度结果;
53、微调模块:用于获取任务紧急程度、资源需求和历史执行效率的可量化参数集b,对可量化参数集b进行分析处理,生成微调指数,并基于该微调指数生成第二反馈调整策略,该第二反馈调整策略能够在第一反馈调整策略的基础上,微调α、β、γ参数,形成最终优化调度结果。
54、与现有技术相比,本发明的有益效果是:本发明采用遗传算法优化任务到节点的动态分配,目标是最小化总的任务执行时间和数据传输时间,同时最大化资源利用率,通过在dockerswarm环境中部署实时监控和反馈调整机制,能够根据系统运行的实际反馈动态调整调度策略,还能进一步通过微调指数优化调度结果,使得系统在面对不断变化的工作负载和资源状态时,始终保持最优的运行效率,解决了现有技术在动态环境下的调度不足,为复杂的容器化应用场景提供了一种创新的解决方案;
55、引入图论模型来精确分析和优化任务间的依赖关系,使得具有密切依赖关系的任务能够被调度到物理位置相近的节点上执行,从而显著减少通信延迟和数据传输时间。
本文地址:https://www.jishuxx.com/zhuanli/20240911/290463.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。