本技术涉及负载均衡,特别是涉及一种并行任务分配方法、装置、计算机设备和可读存储介质。
背景技术:
1、目前大模型技术已经被广泛应用,由于大模型问答等应用场景都是实时推理,对于延时非常敏感,但大模型推理,特别是语言生成类的模型,对于用户问的一句话需要多次迭代推理才能获得完整的答案,因此需要推理服务器的吞吐要大、时延要尽可能低。
2、在部署大模型的设备上,该设备的中央处理器(central processing unit,cpu)可以负责处理输入数据的预处理、任务调度、逻辑判断等任务,而图形处理器(graphicsprocessing unit,gpu)则专注于执行模型的核心计算。通过合理的任务拆分和并行处理,cpu和gpu可以共同工作,以提高大模型推理的吞吐量和降低时延。
3、传统方法主要关注于离线任务的调度,并且大多是基于已知数量的任务进行优化,没有充分考虑实时任务调度所面临的挑战,如任务到达的不确定性、服务器资源的动态变化等,故,亟需改进。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高并行任务分配准确性的并行任务分配方法、装置、计算机设备和可读存储介质。
2、第一方面,本技术提供了一种任务分配方法,应用于计算设备,计算设备包括第一计算单元和第二计算单元,方法包括:
3、确定第一计算单元处理第一初始任务量个待处理任务的第一完成时间信息,以及第二计算单元处理第二初始任务量个待处理任务的第二完成时间信息;其中,第一初始任务量和第二初始任务量之和为当前批次的待处理任务的任务总量;
4、在第一完成时间信息和第二完成时间信息不满足并行处理条件的情况下,根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,并返回执行确定第一完成时间信息和第二完成时间信息的操作;
5、在第一完成时间信息和第二完成时间信息满足并行处理条件的情况下,将第一初始任务量个待处理任务分配至第一计算单元,以及将第二初始任务量个待处理任务分配至第二计算单元。
6、在其中一个实施例中,第一完成时间信息包括第一完成时刻,第二完成时间信息包括第二完成时刻;
7、确定第一计算单元处理第一初始任务量个待处理任务的第一完成时间信息,以及第二计算单元处理第二初始任务量个待处理任务的第二完成时间信息,包括:
8、获取上一批次的任务执行情况;其中,任务执行情况包括第一计算单元在上一批次对应的第一任务耗时,以及第二计算单元在上一批次的第二任务耗时;
9、获取第一计算单元在当前批次的第一初始任务量和第二计算单元在当前批次的第二初始任务量;
10、根据第一初始任务量和第一任务耗时,确定第一计算单元处理第一初始任务量个待处理任务的第一完成时刻;
11、根据第二初始任务量和第二任务耗时,确定第二计算单元处理第二初始任务量个待处理任务的第二完成时刻。
12、在其中一个实施例中,根据第一初始任务量和第一任务耗时,确定第一计算单元处理第一初始任务量个待处理任务的第一完成时刻,包括:
13、获取上一批次对应的上一起点时刻;
14、根据上一起点时刻和第一任务耗时,确定第一计算单元执行当前批次的待处理任务时对应的当前起点时刻;
15、获取第一计算单元处理第一初始任务量个待处理任务的第一处理时长;
16、根据当前起点时刻和第一处理时长,确定第一计算单元处理第一初始任务量个待处理任务的第一完成时刻。
17、在其中一个实施例中,方法还包括:
18、确定第一完成时间信息和第二完成时间信息之间的时间差对应的标准残差;
19、若标准残差大于预设残差阈值,且第一初始任务量和第二初始任务量均大于0,则确定第一完成时间信息和第二完成时间信息不满足并行处理条件。
20、在其中一个实施例中,根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,包括:
21、若时间差表征第一完成时间信息大于第二完成时间信息,则根据时间差、第一完成时间信息和任务总量,确定第一调整幅度;
22、根据第一调整幅度,减小第一初始任务量,得到更新后的第一初始任务量,以及根据第一调整幅度,增大第二初始任务量,得到更新后的第二初始任务量。
23、在其中一个实施例中,根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,包括:
24、若时间差表征第一完成时间信息小于第二完成时间信息,则根据时间差、第二完成信息和任务总量,确定第二调整幅度;
25、根据第二调整幅度,减小第一初始任务量,得到更新后的第一初始任务量,以及根据第二调整幅度,增大第二初始任务量,得到更新后的第二初始任务量。
26、在其中一个实施例中, 根据时间差、第一完成时间信息和任务总量,确定第一调整幅度,包括:
27、将时间差除以第一完成时间信息,得到第一比值;
28、将第一比值与任务总量的乘积,作为第一调整幅度。
29、在其中一个实施例中, 根据第一完成时间信息和第二完成时间信息之间的时间差和任务总量,确定第二调整幅度,包括:
30、将时间差除以第二完成时间信息,得到第二比值;
31、将第二比值与任务总量的乘积,作为第二调整幅度。
32、在其中一个实施例中, 当前批次的待处理任务包括上一批次未完成的任务,和/或在上一批次完成时刻至当前批次开始时刻之间获取到的待处理任务。
33、第二方面,本技术还提供了一种任务分配装置,包括:
34、确定模块,用于确定第一计算单元处理第一初始任务量个待处理任务的第一完成时间信息,以及第二计算单元处理第二初始任务量个待处理任务的第二完成时间信息;其中,第一初始任务量和第二初始任务量之和为当前批次的待处理任务的任务总量;
35、计算模块,用于在第一完成时间信息和第二完成时间信息不满足并行处理条件的情况下,根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,并返回执行确定第一完成时间信息和第二完成时间信息的操作;
36、分配模块,用于在第一完成时间信息和第二完成时间信息满足并行处理条件的情况下,将第一初始任务量个待处理任务分配至第一计算单元,以及将第二初始任务量个待处理任务分配至第二计算单元。
37、第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
38、确定第一计算单元处理第一初始任务量个待处理任务的第一完成时间信息,以及第二计算单元处理第二初始任务量个待处理任务的第二完成时间信息;其中,第一初始任务量和第二初始任务量之和为当前批次的待处理任务的任务总量;
39、在第一完成时间信息和第二完成时间信息不满足并行处理条件的情况下,根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,并返回执行确定第一完成时间信息和第二完成时间信息的操作;
40、在第一完成时间信息和第二完成时间信息满足并行处理条件的情况下,将第一初始任务量个待处理任务分配至第一计算单元,以及将第二初始任务量个待处理任务分配至第二计算单元。
41、第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
42、确定第一计算单元处理第一初始任务量个待处理任务的第一完成时间信息,以及第二计算单元处理第二初始任务量个待处理任务的第二完成时间信息;其中,第一初始任务量和第二初始任务量之和为当前批次的待处理任务的任务总量;
43、在第一完成时间信息和第二完成时间信息不满足并行处理条件的情况下,根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,并返回执行确定第一完成时间信息和第二完成时间信息的操作;
44、在第一完成时间信息和第二完成时间信息满足并行处理条件的情况下,将第一初始任务量个待处理任务分配至第一计算单元,以及将第二初始任务量个待处理任务分配至第二计算单元。
45、第五方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
46、确定第一计算单元处理第一初始任务量个待处理任务的第一完成时间信息,以及第二计算单元处理第二初始任务量个待处理任务的第二完成时间信息;其中,第一初始任务量和第二初始任务量之和为当前批次的待处理任务的任务总量;
47、在第一完成时间信息和第二完成时间信息不满足并行处理条件的情况下,根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,并返回执行确定第一完成时间信息和第二完成时间信息的操作;
48、在第一完成时间信息和第二完成时间信息满足并行处理条件的情况下,将第一初始任务量个待处理任务分配至第一计算单元,以及将第二初始任务量个待处理任务分配至第二计算单元。
49、上述并行任务分配方法、装置、计算机设备和可读存储介质,在任务分配时,关注第一计算单元处理第一初始任务量个待处理任务的第一完成时间信息,以及第二计算单元处理第二初始任务量个待处理任务的第二完成时间信息;通过判断第一完成时间信息和第二完成时间信息是否满足并行处理条件,以验证第一初始任务量和第二初始任务量的任务量是否分配合理,若不合理(第一完成时间信息和第二完成时间信息不满足并行处理条件),则根据第一完成时间信息和第二完成时间信息之间的时间差,更新第一初始任务量和第二初始任务量,保证了并行任务分配的准确性。
1.一种任务分配方法,其特征在于,应用于计算设备,所述计算设备包括第一计算单元和第二计算单元,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一完成时间信息包括第一完成时刻,所述第二完成时间信息包括第二完成时刻;
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一初始任务量和所述第一任务耗时,确定所述第一计算单元处理所述第一初始任务量个待处理任务的第一完成时刻,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一完成时间信息和所述第二完成时间信息之间的时间差,更新所述第一初始任务量和所述第二初始任务量,包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一完成时间信息和所述第二完成时间信息之间的时间差,更新所述第一初始任务量和所述第二初始任务量,包括:
7.根据权利要求5所述的方法,其特征在于,所述根据所述时间差、所述第一完成时间信息和所述任务总量,确定第一调整幅度,包括:
8.根据权利要求6所述的方法,其特征在于,所述根据所述第一完成时间信息和所述第二完成时间信息之间的时间差和所述任务总量,确定第二调整幅度,包括:
9.根据权利要求2-8中任一项所述的方法,其特征在于,所述当前批次的待处理任务包括所述上一批次未完成的任务,和/或在所述上一批次完成时刻至所述当前批次开始时刻之间获取到的待处理任务。
10.一种并行任务分配装置,其特征在于,所述装置包括:
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
