任务分配方法、路由设备、存储介质及计算机程序产品与流程

摘要: 本申请涉及通信,尤其涉及一种任务分配方法、路由设备、存储介质及计算机程序产品。背景技术:1、随着人工智能、大数据等业务的迅速增长,任务处理需求大幅增加,尤其随着...
任务分配方法、路由设备、存储介质及计算机程序产品与流程

本申请涉及通信,尤其涉及一种任务分配方法、路由设备、存储介质及计算机程序产品。

背景技术:

1、随着人工智能、大数据等业务的迅速增长,任务处理需求大幅增加,尤其随着推理模型的普及,任务处理压力日益增大。任务调度作为实现任务高效处理的机制,是影响任务处理能力的关键因素之一。通过合理的任务调度,将任务分配给合适的计算节点,可提升任务处理的整体性能。

2、为了实现任务的合理调度以及负载均衡,通常采用一些负载均衡策略将计算任务分发给合适的计算节点。例如,采用轮询(rr,round-robin)算法、加权轮询(wrr,weightedround robin)算法、最小连接数(lc,least connections)算法或者源地址哈希(source iphash)算法等算法实现任务分配。但是,目前的负载均衡策略大多针对特定硬件设备或单一业务场景设计,缺乏通用化的调度机制。

技术实现思路

1、为解决相关技术问题,本申请实施例提供一种任务分配方法、路由设备、存储介质及计算机程序产品。

2、本申请实施例的技术方案是这样实现的:

3、本申请实施例提供一种任务分配方法,应用于路由设备,所述方法包括:

4、确定多个计算节点的运行模式;其中,所述运行模式包括第一模式和第二模式;在所述第一模式下,所述路由设备监听多个计算节点广播的负载数据;在所述第二模式下,所述路由设备通过主动探测方式获取所述多个计算节点对应的探测数据;

5、若所述多个计算节点的运行模式是第一模式,则基于所述多个计算节点广播的负载数据,确定多个计算节点分别对应的任务分配概率;

6、若所述多个计算节点的运行模式是第二模式,则基于所述多个计算节点对应的探测数据,确定所述多个计算节点分别对应的任务分配概率;

7、根据多个计算节点分别对应的任务分配概率分发任务请求。

8、上述方案中,所述基于所述多个计算节点广播的负载数据,确定多个计算节点分别对应的任务分配概率,包括:

9、根据所述多个计算节点在第一广播时刻以前多个广播周期内的负载数据,对所述多个计算节点在第二广播时刻的负载进行预测,得到所述多个计算节点的第一负载预测结果;其中,所述第二广播时刻是所述第一广播时刻的下一广播时刻;

10、根据所述多个计算节点的第一负载预测结果,确定所述多个计算节点分别对应的任务分配概率。

11、上述方案中,所述根据所述多个计算节点的第一负载预测结果,确定所述多个计算节点分别对应的任务分配概率,包括:

12、针对所述多个计算节点中的每个计算节点,根据每个计算节点的第一负载预设结果,确定每个计算节点的实时负载偏差;

13、将每个计算节点的实时负载偏差输入比例积分控制器,得到每个计算节点的负载反馈信号;其中,所述负载反馈信号用于表示计算节点的负载失衡程度;

14、将每个计算节点的负载反馈信号映射为任务分配概率。

15、上述方案中,所述根据每个计算节点的第一负载预设结果,确定每个计算节点的实时负载偏差,包括:

16、根据每个计算节点的第一负载预设结果以及在所述第一广播时刻的负载数据,确定所述每个计算节点的实时负载;

17、确定所述多个计算节点的实时负载平均值;

18、计算每个计算节点的实时负载与所述实时负载平均值之间的差值,得到每个计算节点的实时负载偏差。

19、上述方案中,所述基于所述多个计算节点对应的探测数据,确定所述多个计算节点分别对应的任务分配概率,包括:

20、基于所述多个计算节点在多个探测周期对应的探测数据,对所述多个计算节点的负载进行多轮预测,得到所述多个计算节点的第二负载预测结果;

21、根据所述多个计算节点的第二负载预测结果,确定所述多个计算节点分别对应的任务分配概率。

22、上述方案中,所述根据所述多个计算节点在多个探测周期对应的探测数据,对所述多个计算节点的负载进行多轮预测,得到所述多个计算节点的第二负载预测结果,包括:

23、基于所述多个计算节点在多个探测周期对应的探测数据,对所述多个计算节点的负载进行多轮预测,得到每轮预测的输出结果;其中,第2轮预测至最后一轮预测的每轮预测中,每轮预测的输入包括上一轮预测的输出结果以及所述探测数据;

24、将所述多轮预测中最后一轮预测的输出结果确定为所述多个计算节点的第二负载预测结果。

25、上述方案中,所述方法还包括:

26、针对所述多个计算节点中的每个计算节点,根据每个计算节点在多个探测周期对应的探测数据,确定每个计算节点的性能评估参数,其中,所述性能评估参数表示计算节点的计算性能;

27、所述根据所述多个计算节点的第二负载预测结果,确定所述多个计算节点分别对应的任务分配概率,包括:

28、根据每个计算节点的第二负载预测结果,确定每个计算节点对应的基础概率;

29、利用每个计算节点的性能评估参数对所述基础概率进行更新,得到每个计算节点对应的任务分配概率。

30、本申请实施例提供一种路由设备,包括:包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行计算机程序时,执行本申请实施例提供的方法。

31、本申请实施例提供一种存储介质,如计算机可读存储介质,其上存储有计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时实现本申请实施例提供的方法。

32、本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的方法。

33、本申请实施例提供的任务分配方法、路由设备、存储介质及计算机程序产品,响应于任务请求,判断多个计算节点的运行环境,基于计算资源的运行模式,在第一模式与第二模式之间自适应切换。在资源可观测模式下,通过监听多个计算节点广播的负载数据,确定各个计算节点对应的任务分配概率。在资源隐式模式下,通过主动探测方式获取多个计算节点的探测数据,基于探测到的探测数据,确定各个计算节点对应的任务分配概率。在确定各个计算节点对应的任务分配概率之后,路由设备基于各个计算节点对应的任务分配概率分发任务请求。通过路由设备感知多个计算节点的运行状态,依据各个计算节点的任务分配概率对任务请求进行分配,不仅实现网络传输与资源调度的协同,提升资源利用率与系统稳定性,还针对不同计算资源的运行模式,实现不同运行模式的负载均衡方案自适应切换,提升负载均衡策略的适应性以及场景通用适配性。

1.一种任务分配方法,其特征在于,应用于路由设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述多个计算节点广播的负载数据,确定多个计算节点分别对应的任务分配概率,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述多个计算节点的第一负载预测结果,确定所述多个计算节点分别对应的任务分配概率,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据每个计算节点的第一负载预设结果,确定每个计算节点的实时负载偏差,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述多个计算节点对应的探测数据,确定所述多个计算节点分别对应的任务分配概率,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述多个计算节点在多个探测周期对应的探测数据,对所述多个计算节点的负载进行多轮预测,得到所述多个计算节点的第二负载预测结果,包括:

7.根据权利要求5所述的方法,其特征在于,所述方法还包括:

8.一种路由设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;

9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。