本技术涉及人工智能,尤其涉及一种基于时间窗内决策树的计算集群任务调度与负载均衡方法。
背景技术:
1、随着信息技术的快速发展,计算集群已成为处理大规模数据和高性能计算任务的重要工具。在计算集群中,任务调度和负载均衡是相互关联、相互影响的过程。任务调度的结果会直接影响到负载均衡的效果,而负载均衡的实现也会对任务调度的策略产生反馈。在任务调度中,需要考虑的因素有很多,如任务的类型、大小、依赖关系以及节点的性能、负载情况等。合理的任务调度策略可以显著提高集群的整体性能和效率。
2、然而,在集群环境中,如何有效地进行任务调度和负载均衡,以确保资源的充分利用和任务的快速完成,成为了一个亟待解决的问题。
技术实现思路
1、本技术实施例提供一种基于时间窗内决策树的计算集群任务调度与负载均衡方法及相关装置,以改善上述问题。
2、为达到上述目的,本技术采用如下技术方案:
3、第一方面,本技术实施例提出了一种基于时间窗内决策树的计算集群任务调度与负载均衡方法,所述方法包括:
4、确定计算集群中,目标采集时刻的目标时间间隔,基于所述时间间隔,对工作节点的状态进行采集并存储到redis数据库;
5、基于多个所述目标时间间隔生成多个时间窗口,每一个所述目标时间间隔对应一个所述时间窗口;
6、确定目标机器,所述目标机器为集群控制主机中取出缓存数据库中空闲度top-n的机器;
7、在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序;
8、基于所述目标机器进行轮询选择计算目标采集时刻,基于所述目标机器结果,利用redis重新排序。
9、结合第一方面,在一些实施方式中,确定计算集群中,目标采集时刻的目标时间间隔,基于所述时间间隔,对工作节点的状态进行采集并存储到redis数据库,包括:
10、通过telegraf组件实现对集群日志状态进行采集,其中,采集到的所述日志状态为半结构化文本;
11、对所述半结构化文本使用正则表达式进行提取。
12、结合第一方面,在一些实施方式中,所述方法还包括:
13、对计算集群中的人物进行量化处理,所述量化处理的指标为、计算复杂度与存储复杂度。
14、结合第一方面,在一些实施方式中,在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序,包括:
15、遍历j,使用启发式方法,选择第j个变量和它的取值s作为切分变量和切分点,定义区域,并满足:
16、;
17、对于寻找最优的切分变量j和切分点s求解,并满足:
18、;
19、。
20、结合第一方面,在一些实施方式中,在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序,包括:
21、设置k=0,t=,;
22、自下而上对内部结点t计算,并满足:
23、
24、
25、
26、其中, 为t的任意子树,以及g(t),α,表达以t为根节点的字数,是对训练数据的预测误差,是的叶节点个数,表示实际值,表达子树的预测输出;
27、对的所述内部结点t进行剪枝,当t为叶节点时以多数表决法决定其类,得到树t;
28、设k=k+1, ,,若不是由根节点和两个叶节点构成的树,将归入候选集合;
29、采用交叉验证法在子树候选集合中选取最优子树。
30、结合第一方面,在一些实施方式中,在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序,包括:
31、将综合空闲度较高的所述目标机器进行优先级排序,将redis中第k个所述目标机器的动态指标数据x数学符号化为,静态指标数据y符号化为(),并满足:
32、;
33、其中,为所述目标机器k空闲度。
34、第二方面,本技术实施例提出了一种计算集群任务调度与负载均衡计算装置,该装置被配置为:
35、确定计算集群中,目标采集时刻的目标时间间隔,基于所述时间间隔,对工作节点的状态进行采集并存储到redis数据库;
36、基于多个所述目标时间间隔生成多个时间窗口,每一个所述目标时间间隔对应一个所述时间窗口;
37、确定目标机器,所述目标机器为集群控制主机中取出缓存数据库中空闲度top-n的机器;
38、在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序;
39、基于所述目标机器进行轮询选择计算目标采集时刻,基于所述目标机器结果,利用redis重新排序。
40、结合第二方面,在一些实施方式中,该装置被配置为:
41、确定计算集群中,目标采集时刻的目标时间间隔,基于所述时间间隔,对工作节点的状态进行采集并存储到redis数据库,包括:
42、通过telegraf组件实现对集群日志状态进行采集,其中,采集到的所述日志状态为半结构化文本;
43、对所述半结构化文本使用正则表达式进行提取。
44、结合第二方面,在一些实施方式中,该装置被配置为:
45、对计算集群中的人物进行量化处理,所述量化处理的指标为、计算复杂度与存储复杂度。
46、结合第二方面,在一些实施方式中,该装置被配置为:
47、在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序,包括:
48、遍历j,使用启发式方法,选择第j个变量和它的取值s作为切分变量和切分点,定义区域,并满足:
49、;
50、对于寻找最优的切分变量j和切分点s求解,并满足:
51、;
52、。
53、结合第二方面,在一些实施方式中,该装置被配置为:
54、在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序,包括:
55、设置k=0,t=,;
56、自下而上对内部结点t计算,并满足:
57、
58、
59、
60、其中, 为t的任意子树,以及g(t),α,表达以t为根节点的字数,是对训练数据的预测误差,是的叶节点个数,表示实际值,表达子树的预测输出;
61、对的所述内部结点t进行剪枝,当t为叶节点时以多数表决法决定其类,得到树t;
62、设k=k+1, ,,若不是由根节点和两个叶节点构成的树,将归入候选集合;
63、采用交叉验证法在子树候选集合中选取最优子树。
64、结合第二方面,在一些实施方式中,该装置被配置为:
65、在所述时间窗口内使用cart回归树预测任务对每一个所述目标采集时刻的资源负载情况,并按照所述资源负载情况进行排序,包括:
66、将综合空闲度较高的所述目标机器进行优先级排序,将redis中第k个所述目标机器的动态指标数据x数学符号化为,静态指标数据y符号化为(),并满足:
67、;
68、其中,为所述目标机器k空闲度。
69、本发明实施例第三方面提出一种电子设备,电子设备包括:
70、至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明实施例第一方面提出方法。
71、本发明实施例第四方面提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例第一方面提出方法。
72、综上,上述方法及装置具有如下技术效果:
73、本技术提出的一种基于时间窗内决策树的计算集群任务调度与负载均衡方法,主要是通过telegraf(日志采集工具)在指定时间间隔内在采集工作节点的状态存储到redis数据库,将指定时间间隔内的时间成为一个时间窗,在集群控制主机中取出缓存数据库(redis)中空闲度top-n的机器,在窗口内使用cart回归树预测任务对节点的资源负载情况进行评估,排序后选择top-n进行轮询选择计算工作节点,并返回top-n候选结果在redis重新排序,使得任务分配到合适的节点上保障集群的负载均衡和任务调度的高效。相比使用了机器学习或者深度学习的计算集群调度算法和负载均衡算法,本产品同样存在实验室状态,但是我们考虑到了实际的业务状态和现实中对于计算机任务资源消耗评估的问题,通过时间窗口内依靠模型评估预测,通过集群中的机器的定时状态采集实现对缓存数据库内机器状态的更新,通过时间窗机制实时调整集群的由于模型调节导致的误差。