一种基于序列生成的异构芯片任务调度方法以及装置与流程

文档序号:35829926发布日期:2023-10-25 03:02阅读:22来源:国知局
一种基于序列生成的异构芯片任务调度方法以及装置与流程

本说明书涉及计算机,尤其涉及一种基于序列生成的异构芯片任务调度方法以及装置。


背景技术:

1、目前,随着计算机技术的飞速发展,异构芯片在人们生活中的应用逐渐广泛。其中,异构芯片可以是同一电子设备中的不同类型的不同芯片,也可以是在同一电子设备中属于相同类型但型号不同的芯片。

2、现有技术中,一种常用的异构芯片调度方法,是将同一电子设备中的芯片视作相同类型的芯片,人工为各待调度任务分配优先级,当芯片空闲时,根据尚未分配给芯片的各待调度任务分别对应的优先级,从各待调度任务中,选择优先级最高的待调度任务分配给该芯片。则该芯片可执行分配给自身的待调度任务。

3、但是,在各芯片的类型不同、型号不同、处理能力不同的情况下,可能出现为某芯片分配到与该芯片并不匹配的任务,导致芯片需要花费较长时间才可执行完这一任务,进而导致该计算集群的利用率较低。

4、基于此,本说明书提供一种基于序列生成的异构芯片任务调度方法。


技术实现思路

1、本说明书提供一种基于序列生成的异构芯片任务调度方法以及装置,以部分的解决现有技术存在的上述问题。

2、本说明书采用下述技术方案:

3、本说明书提供一种基于序列生成的异构芯片任务调度方法,所述方法应用于计算集群中的调度节点,所述计算集群包含所述调度节点和若干芯片,各芯片的计算资源不完全相同;所述方法包括:

4、针对每个待调度任务,确定该待调度任务在所述计算集群中的各芯片上分别对应的执行时间,并根据各执行时间确定该待调度任务的任务信息;

5、确定所述计算集群中各芯片分别对应的空闲时刻;

6、响应于调度请求,根据所述各芯片分别对应的空闲时刻和各待调度任务分别对应的任务信息,生成调度序列,其中,所述调度序列中包含指定数量的待调度任务,且所述调度序列中包含各待调度任务分别对应的调度顺序以及所述各待调度任务分别对应的芯片;

7、根据所述调度序列,调度所述各芯片执行所述指定数量的待调度任务。

8、可选地,确定该待调度任务在所述计算集群中的各芯片上分别对应的执行时间,具体包括:

9、确定该待调度任务的超时时刻、该待调度任务的优先级中的至少一种,作为该待调度任务的任务信息;

10、针对所述计算集群包含的每个芯片,将该芯片的芯片信息、该待调度任务的任务信息进行组合,并将组合结果输入预先训练完成的预测模型中,得到所述预测模型输出的执行时间,所述执行时间为该芯片执行该待调度任务所需的时间。

11、可选地,根据各执行时间确定该待调度任务的任务信息,具体包括:

12、针对每个待调度任务,根据该待调度任务的各执行时间、该待调度任务的超时时刻以及该待调度任务的优先级中的至少一种,确定该待调度任务的任务信息。

13、可选地,根据所述各芯片分别对应的空闲时刻和各待调度任务分别对应的任务信息,生成调度序列,具体包括:

14、从所述各待调度任务的任务信息中确定第一指定属性和第二指定属性,其中,所述任务信息中至少包含所述第一指定属性和所述第二指定属性的属性数据;

15、根据所述计算集群中各芯片分别对应的空闲时刻,确定初始芯片;

16、根据所述各待调度任务分别对应的第一指定属性和第二指定属性,确定所述各待调度任务与所述初始芯片分别对应的相关度,并根据各相关度,确定所述初始芯片执行的目标任务,以及更新所述初始芯片的空闲时刻;

17、根据更新后的所述初始芯片的空闲时刻和所述计算集群中其他芯片分别对应的空闲时刻,重新确定初始芯片,并重新确定目标任务,直至为所述计算集群中的各芯片分配的任务的数量到达指定数量为止;

18、根据确定出的各目标任务,生成调度序列。

19、可选地,根据各相关度,确定所述初始芯片执行的目标任务,具体包括:

20、判断当前迭代过程是否为首次迭代过程;

21、若是,则根据各相关度,对所述各待调度任务进行排序,并从排序结果中,确定特定数量的待调度任务,作为各目标任务,并针对每个目标任务,将该目标任务作为该目标任务对应的候选序列的初始任务;

22、若否,则根据各相关度,从各待调度任务中,确定与当前迭代过程中确定出的初始芯片的相关度最高的待调度任务,作为目标任务。

23、根据确定出的各目标任务,生成调度序列,具体包括:

24、从初始迭代过程确定出的各目标任务分别对应的候选序列中,确定调度序列。

25、可选地,从初始迭代过程确定出的各目标任务分别对应的候选序列中,确定调度序列,具体包括:

26、从初始迭代过程确定出的各目标任务分别对应的候选序列中,确定不包含超时任务的各候选序列,并从所述不包含超时任务的各候选序列,确定执行时间最短的候选序列,作为目标序列;

27、将所述目标序列作为所述调度请求对应的调度序列。

28、可选地,所述调度节点包括集群状态感知单元、任务信息存储单元,调度序列生成单元和任务分配单元;所述集群状态感知单元用于确定所述计算集群中各芯片分别对应的空闲时刻;所述任务信息存储单元用于确定并存储所述各待调度任务分别对应的任务信息;所述调度序列生成单元用于生成调度序列;所述任务分配单元用于将所述调度序列中的各待调度任务分配给所述计算集群中的各芯片。

29、本说明书提供一种基于序列生成的异构芯片任务调度装置,所述装置应用于计算集群中的调度节点,所述计算集群包含所述调度节点和若干芯片,各芯片的计算资源不完全相同;所述装置包括:

30、任务信息确定模块,用于针对每个待调度任务,确定该待调度任务在所述计算集群中的各芯片上分别对应的执行时间,并根据各执行时间确定该待调度任务的任务信息;

31、芯片状态确定模块,用于确定所述计算集群中各芯片分别对应的空闲时刻;

32、序列生成模块,用于响应于调度请求,根据所述各芯片分别对应的空闲时刻和各待调度任务分别对应的任务信息,生成调度序列,其中,所述调度序列中包含指定数量的待调度任务,且所述调度序列中包含各待调度任务分别对应的调度顺序以及所述各待调度任务分别对应的芯片;

33、调度模块,用于根据所述调度序列,调度所述各芯片执行所述指定数量的待调度任务。

34、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于序列生成的异构芯片任务调度方法。

35、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种基于序列生成的异构芯片任务调度方法。

36、本说明书采用的上述至少一个技术方案能够达到以下有益效果:

37、针对每个待调度任务,确定该待调度任务在各芯片上分别对应的执行时间,再确定各芯片分别对应的空闲时刻,根据各芯片分别对应的空闲时刻、各待调度任务在各芯片上分别对应的执行时间,生成调度序列,以根据调度序列调度各芯片执行各待调度任务。在包含异构芯片的计算集群中存在处于空闲状态的芯片的情况下,尽可能为该处于空闲状态的芯片分配与其匹配的任务,保证了任务执行效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1