任务调度方法、装置及系统制造方法及图纸

技术编号:34544751 阅读:16 留言:0更新日期:2022-08-17 12:26
本申请提供了一种任务调度方法、装置及系统,属于计算机技术领域。本申请提供的方案中,目标计算节点能够获取到目标任务的中间表示和运行时插件。由于该中间表示是与处理器的芯片架构无关的代码,因此目标计算节点可以通过运行时插件将该中间表示编译为目标芯片架构的可执行代码,并在目标芯片架构的处理器中运行该可执行代码。相应的,异构集群中的调度器在调度目标任务时,不会受到该目标任务中已编译的可执行代码的架构的限制,而是可以基于异构集群中各计算节点的资源使用情况,灵活地确定用于执行该目标任务的计算节点。由此,可以确保各计算节点的负载较为均衡,有效提高异构集群的资源利用率。集群的资源利用率。集群的资源利用率。

【技术实现步骤摘要】
任务调度方法、装置及系统


[0001]本申请涉及计算机
,特别涉及一种任务调度方法、装置及系统。

技术介绍

[0002]随着芯片技术的快速发展,芯片架构(也可以称为处理器架构)的类型越来越丰富。例如,常见的不同芯片架构的处理器包括:支持通用计算的中央处理器(central processing unit,CPU)、支持图像渲染和高性能计算的图形处理器(graphics processing unit,GPU),以及支持神经网络计算的神经网络处理器(neural

network processing unit,NPU)等。其中,CPU的芯片架构还可以进一步划分为X86架构和进阶精简指令集机器(advanced RISC machine,AMR)架构等。
[0003]异构集群是指由不同芯片架构的计算节点所组成的集群,例如异构集群中的部分计算节点的处理器为CPU,部分计算节点的处理器则为GPU或NPU。由于计算节点中的处理器仅能够运行与其芯片架构类型相同的可执行代码,因此异构集群中的调度器在调度任务时,需要基于任务的可执行代码的架构,将该任务调度至处理器的芯片架构与该可执行代码的架构相匹配的计算节点。
[0004]但是,由于异构集群接收到的大量任务所采用的可执行代码的架构可能是不均衡的,因此基于上述任务调度方式,可能会导致异构集群中各计算节点的负载不均衡,异构集群的资源利用率较低。

技术实现思路

[0005]本申请提供了一种资源调度方法、装置及系统,可以解决异构集群的资源利用率较低的技术问题,技术方案如下:
[0006]一方面,提供了一种任务调度方法,应用于异构集群中的目标计算节点,该异构集群包括调度器和多个计算节点,该多个计算节点中至少两个计算节点的芯片架构不同,该目标计算节点属于该多个计算节点;该方法包括:接收该调度器发送的针对目标任务的调度指令,并获取该目标任务的中间表示以及该目标任务的运行时插件,基于该调度指令,通过该运行时插件将该中间表示编译为目标芯片架构的可执行代码,并通过该运行时插件在该目标芯片架构的处理器中运行该可执行代码;其中,该中间表示是对该目标任务的源代码进行编译得到的与芯片架构无关的代码,该目标计算节点包括该目标芯片架构的处理器。
[0007]由于该中间表示是与处理器的芯片架构无关的代码,因此目标计算节点可以通过运行时插件将该中间表示编译为目标芯片架构的可执行代码,并在目标芯片架构的处理器中运行该可执行代码。相应的,异构集群中的调度器在调度目标任务时,不会受到该目标任务中已编译的可执行代码的架构的限制,而是可以基于异构集群中各计算节点的资源使用情况,灵活地确定用于执行该目标任务的计算节点。由此,可以确保各计算节点的负载较为均衡,有效提高异构集群的资源利用率。
[0008]可选地,目标计算节点获取该目标任务的中间表示以及运行时插件的过程可以包括:基于该调度指令,从该异构集群的文件管理器中获取该目标任务的中间表示以及运行时插件;或者,接收该调度器发送的该目标任务的中间表示以及运行时插件。
[0009]由于目标任务的中间表示和运行时插件的数据量相对较大,因此可以通过异构集群中的文件管理器来存储该中间表示和运行时插件,由此能够降低对调度器的存储性能的要求。并且,由于调度器无需转发中间表示和运行时插件,因此可以避免对其调度性能造成影响。
[0010]或者,也可以直接由调度器来转发该中间表示和运行时插件,从而无需在异构集群中额外设置文件管理器,以简化该异构集群的结构,降低异构集群的部署成本。
[0011]可选地,该方法还可以包括:接收该调度器发送的该目标芯片架构的架构标识;相应的,通过该运行时插件将该中间表示编译为目标芯片架构的可执行代码的过程可以包括:基于该调度器发送的该目标芯片架构的架构标识,通过该运行时插件将该中间表示编译为目标芯片架构的可执行代码。
[0012]由于目标计算节点可以包括多种不同芯片架构的处理器,因此调度器还可以向目标计算节点发送该目标芯片架构的架构标识,以便该目标计算节点能够确定该中间表示所需编译成的可执行代码的架构。
[0013]可选地,该方法还可以包括:获取该目标任务的输入数据;通过该运行时插件在该目标芯片架构的处理器中运行该可执行代码的过程可以包括:通过该运行时插件将该输入数据作为可执行代码的输入,在该目标芯片架构的处理器中运行该可执行代码,得到该可执行代码的运行结果;该方法还可以包括:向该调度器发送该运行结果。
[0014]该调度器进而可以将该运行结果发送至提供该目标任务的主机,以便主机对该运行结果进行后续处理。例如,主机可以对多个计算节点提供的运行结果进行归约处理。
[0015]可选地,该目标计算节点获取该目标任务的输入数据的过程可以包括:基于该调度指令,从该异构集群的文件管理器中获取该目标任务的输入数据;或者,接收该调度器发送的该目标任务的输入数据。
[0016]由于输入数据的数据量相对较大,因此可以通过文件管理器来存储该输入数据,由此能够降低对调度器的存储性能的要求。或者,也可以直接由调度器来转发该输入数据,从而无需在异构集群中额外设置文件管理器,以简化该异构集群的结构,降低异构集群的部署成本。
[0017]另一方面,提供了一种任务调度方法,应用于异构集群中的调度器,该异构集群还包括多个计算节点,该多个计算节点中至少两个计算节点的芯片架构不同;该方法包括:接收待调度的目标任务的调度需求信息,该调度需求信息包括目标任务的资源需求,以及目标任务支持的至少两种芯片架构;基于该调度需求信息,从多个计算节点中确定目标计算节点,该目标计算节点中目标芯片架构的处理器的空闲资源量满足该目标任务的资源需求,且该目标芯片架构属于该至少两种芯片架构;向该目标计算节点发送针对目标任务的调度指令,该调度指令用于指示该目标计算节点通过该目标任务的运行时插件,将该目标任务的中间表示编译为目标芯片架构的可执行代码,并在该目标芯片架构的处理器中运行该可执行代码,其中,该中间表示是对该目标任务的源代码进行编译得到的与芯片架构无关的代码,。
[0018]可选地,该调度需求信息还可以包括:该至少两种芯片架构的优先级;相应的,该调度器基于该调度需求信息,从该多个计算节点中确定目标计算节点的过程可以包括:按照该至少两种芯片架构的优先级由高到低的顺序,依次检测该多个计算节点中对应芯片架构的处理器的空闲资源量是否满足该资源需求;若检测到目标芯片架构的处理器的空闲资源量满足该资源需求,则将包含该目标芯片架构的处理器的一个计算节点确定为目标计算节点。
[0019]由于不同芯片架构的处理器所擅长处理的任务的类型不同,因此可以在调度需求信息中限定该至少两种芯片架构的优先级,且其中优先级越高的芯片架构越适于处理该目标任务。由此,调度器基于该优先级由高到低的顺序确定目标芯片架构,可以有效确保该目标任务的执行效率。
[0020]可选地,该方法还可以包括:向该目标计算节点发送该目标芯片架构的架本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,其特征在于,应用于异构集群中的目标计算节点,所述异构集群包括调度器和多个计算节点,所述多个计算节点中至少两个计算节点的芯片架构不同,所述目标计算节点属于所述多个计算节点;所述方法包括:接收所述调度器发送的针对目标任务的调度指令;获取所述目标任务的中间表示以及所述目标任务的运行时插件,所述中间表示是对所述目标任务的源代码进行编译得到的与芯片架构无关的代码;基于所述调度指令,通过所述运行时插件将所述中间表示编译为目标芯片架构的可执行代码,所述目标计算节点包括所述目标芯片架构的处理器;通过所述运行时插件在所述目标芯片架构的处理器中运行所述可执行代码。2.根据权利要求1所述的方法,其特征在于,所述获取所述目标任务的中间表示以及所述目标任务的运行时插件,包括:基于所述调度指令,从所述异构集群的文件管理器中获取所述目标任务的中间表示以及所述目标任务的运行时插件;或者,接收所述调度器发送的所述目标任务的中间表示以及所述目标任务的运行时插件。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:接收所述调度器发送的所述目标芯片架构的架构标识;所述通过所述运行时插件将所述中间表示编译为目标芯片架构的可执行代码,包括:基于所述目标芯片架构的架构标识,通过所述运行时插件将所述中间表示编译为所述目标芯片架构的可执行代码。4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:获取所述目标任务的输入数据;所述通过所述运行时插件在所述目标芯片架构的处理器中运行所述可执行代码,包括:通过所述运行时插件将所述输入数据作为所述可执行代码的输入,在所述目标芯片架构的处理器中运行所述可执行代码,得到所述可执行代码的运行结果;所述方法还包括:向所述调度器发送所述运行结果。5.根据权利要求4所述的方法,其特征在于,所述获取所述目标任务的输入数据,包括:基于所述调度指令,从所述异构集群的文件管理器中获取所述目标任务的输入数据;或者,接收所述调度器发送的所述目标任务的输入数据。6.一种任务调度方法,其特征在于,应用于异构集群中的调度器,所述异构集群还包括多个计算节点,所述多个计算节点中至少两个计算节点的芯片架构不同;所述方法包括:接收待调度的目标任务的调度需求信息,所述调度需求信息包括所述目标任务的资源需求,以及所述目标任务支持的至少两种芯片架构;基于所述调度需求信息,从所述多个计算节点中确定目标计算节点,所述目标计算节点中目标芯片架构的处理器的空闲资源量满足所述目标任务的资源需求,且所述目标芯片架构属于所述至少两种芯片架构;向所述目标计算节点发送针对所述目标任务的调度指令,所述调度指令用于指示所述目标计算节点通过所述目标任务的运行时插件,将所述目标任务的中间表示编译为所述目标芯片架构的可执行代码,并在所述目标芯片架构的处理器中运行所述可执行代码,其中,
所述中间表示是对所述目标任务的源代码进行编译得到的与芯片架构无关的代码。7.根据权利要求6所述的方法,其特征在于,所述调度需求信息还包括:所述至少两种芯片架构的优先级;所述基于所述调度需求信息,从所述多个计算节点中确定目标计算节点,包括:按照所述至少两种芯片架构的优先级由高到低的顺序,依次检测所述多个计算节点中对应芯片架构的处理器的空闲资源量是否满足所述资源需求;若检测到目标芯片架构的处理器的空闲资源量满足所述资源需求,则将包含所述目标芯片架构的处理器的一个计算节点确定为目标计算节点。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:接收所述目标任务的中间表示和所述目标任务的运行时插件;向所述目标计算节点发送所述中间表示和所述运行时插件。9.根据权利要求6至8任一所述的方法,其特征在于,所述方法还包括:向所述目标计算节点发送所述目标芯片架构的架构标识。10.根据权利要求6至9任一所述的方法,其特征在于,所述目标任务为多个并行任务中的一个并行任务,所述调度需求信息还包括:所述多个并行任务的并行调度模式;所述基于所述调度需求信息,从所述多个计算节点中确定目标计算节点,包括:若所述多个并行任务的并行调度模式为同步并行模式,则基于所述多个并行任务的资源需求之和,从所述多个计算节点中确定目标计算节点,所述异构集群中所述目标芯片架构的处理器的空闲资源量之和满足所述多个并行任务的资源需求之和;若所述多个并行任务的并行调度模式为理想并行模式,则基于所述目标任务的资源需求,从所述多个计算节点中确定目标计算节点;其中,所述同步并行模式是指所述多个并行任务需同步执行,所述理想并行模式是指所述多个并行任务无需同步执行。11.一种任务调度方法,其特征在于,所述方法包括:对目标任务的源代码进行编译,得到所述目标任务的中间表示和所述目标任务的运行时插件,所述中间表示为与芯片架构无关的代码;发送所述中间表示和所述运行时插件;向异构集群中的调度器发送所述目标任务的调度需求信息,所述调度需求信息包括所述目标任务的资源需求,以及所述目标任务支持的至少两种芯片架构;其中,所述异构集群还包括多个计算节点,所述多个计算节点中至少两个计算节点的芯片架构不同,所述调度需求信息用于指示所述调度器将所述目标任务调度至所述至少两个计算节点中的目标计算节点,所述目标计算节点中目标芯片架构的处理器的空闲资源量满足所述目标任务的资源需求,且所述目标芯片架构属于所述至少两种芯片架构,所述运行时插件用于供所述目标计算节点将所述中间表示编译为所述目标芯片架构的可执行代码。12.根据权利要求11所述的方法,其特征在于,所述发送所述中间表示和所述运行时插件,包括:向所述调度器发送所述中间表示和所述运行时插件;或者,向所述异构集群中的文件管理器发送所述中间表示和所述运行时插件。
13.一种目标计算节点,其特征在于,应用于异构集群,所述异构集群包括调度器和多个计算节点,所述多个计算节点中至少两个计算节点的芯片架构不同,所述目标计算节点属于所述多个计算节点;所述目标计算节点还包括:接收模块,用于接收所述调度器发送的针对目标任务的调度指令;获取模块,用于获取所述目标任务的中间表示以及所述目标任务的运行时插件,所述中间表示是对所述目标任务的源代码进行编译得到的与芯片架构无关的代码;处理模块,用于基于所述调度指令,通过所述运行时插件将所述中间表示编译为所述目标芯片架构的可执行代码,并在所述目标芯片架构的处理器中运行所述可执行代码,其中,所述目标计算节点包括所述目标芯片架构的处理器。14.根据权利要求13所述的目标计算节点,其特征在于,所述获取模块,用于:基于所述调度指令,从所述异构集群的文件管理器中...

【专利技术属性】
技术研发人员:苏磊孙宏伟贺波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1