一种任务处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:28941416 阅读:14 留言:0更新日期:2021-06-18 21:46
本发明专利技术提供一种任务处理方法,所述方法包括:根据原始任务队列中各个任务之间的依赖关系,利用任务执行仿真器对所述原始任务队列中的任务进行仿真执行,计算出各个任务的估算执行时间;根据各个任务的估算执行时间,将所述原始任务队列中各个任务的排序进行调整,获得调整任务队列;基于所述调整任务队列中各个任务之间的依赖关系,依次执行相应的任务。本申请可以基于任务的依赖关系和执行时间对原始任务队列中的任务重新排序得到调整任务队列,进而根据调整任务队列依次执行相应的任务,在执行前可以通过执行优化器对计算队列中的任务自动排序,能够实现最佳并发。大大提高了计算资源的使用效率,减少了总任务的执行时间。

【技术实现步骤摘要】
一种任务处理方法、装置、电子设备及存储介质
本专利技术涉及最大化利用AI硬件加速器算力领域,尤其涉及一种任务处理方法、装置、电子设备及存储介质。
技术介绍
在AI硬件加速器(包括GPU和AI专用芯片)上执行的一系列任务通常会先放到一个或多个队列中,当AI硬件加速器资源空闲时,再从队列中取出任务并执行。通常任务放置到队列的顺序是由用户代码决定的。如图1所示,图1为现有技术中总任务执行时间的示意图,现有的技术中,AI硬件加速器直接对计算队列中的任务依次调度,启动一个进程逐个顺序处理的方式缺点是耗时较长、无法优先处理高优先级任务。多线程处理形式的线程池技术的缺点是线程总数是一定的,因而缺乏灵活性,具体是线程池中指定的线程总数较少时,仍存在耗时较长等问题,指定的总数较多时,由于多数线程处于不工作状态,导致CPU利用率很低,因此队列中任务的顺序和每个任务的执行时间会影响硬件计算资源的利用率,这便导致一些用户的代码无法实现最佳并发,使计算资源闲置,增加了总任务的运行时间。
技术实现思路
为了解决上述问题,本专利技术提供一种任务处理方法,所述方法包括:根据原始任务队列中各个任务之间的依赖关系,利用任务执行仿真器对所述原始任务队列中的任务进行仿真执行,计算出各个任务的估算执行时间;根据各个任务的估算执行时间,将所述原始任务队列中各个任务的排序进行调整,获得调整任务队列;基于所述调整任务队列中各个任务之间的依赖关系,依次执行相应的任务。进一步地、所述根据各个任务的估算执行时间,将所述原始任务队列中各个任务的排序进行调整,包括:根据所述原始任务队列中各个任务之间的依赖关系,将所述原始任务队列中存在顺序执行关系的任务拆分成一列,获得多个拆分任务队列,其中,不同拆分任务队列中的任务可并行执行;根据所述多个拆分任务队列中各个任务的估算执行时间,绘制时间任务图,所述时间任务图中包括各个任务的开始执行时间点;将所述时间任务图中各个任务的开始估算执行时间点的先后排序作为各个任务新的排序,获得所述调整任务队列。进一步地、所述根据所述多个拆分任务队列中各个任务的估算执行时间,绘制时间任务图,包括:根据各个任务的估算执行时间,依次将每个拆分任务队列的各个任务的开始执行时间点标记在时间轴上,绘制出所述时间任务图;其中,每个拆分队列中第一个任务的开始执行的时间点相同,为所述时间任务图的起始点。进一步地、所述将所述时间任务图中各个任务的开始估算执行时间点的先后排序作为各个任务新的排序,包括:若所述时间任务图中目标开始估算执行时间点对应有多个任务,则将所述目标开始估算执行时间点对应的多个任务进行随机排序,获得所述目标开始估算执行时间点对应的多个任务的新的排序。另一方面,本专利技术提供一种任务处理装置,包括:执行时间确定模块,被配置为执行根据原始任务队列中各个任务之间的依赖关系,利用任务执行仿真器对所述原始任务队列中的任务进行仿真执行,计算出各个任务的估算执行时间;任务队列调整模块,被配置为执行根据各个任务的估算执行时间,将所述原始任务队列中各个任务的排序进行调整,获得调整任务队列;执行模块,被配置为执行基于所述调整任务队列中各个任务之间的依赖关系,依次执行相应的任务。进一步地、所述任务队列调整模块,包括:任务队列拆分单元,被配置为执行根据所述原始任务队列中各个任务之间的依赖关系,将所述原始任务队列中存在顺序执行关系的任务拆分成一列,获得多个拆分任务队列,其中,不同拆分任务队列中的任务可并行执行;时间任务图绘制单元,被配置为执行根据所述多个拆分任务队列中各个任务的估算执行时间,绘制时间任务图,所述时间任务图中包括各个任务的开始执行时间点;任务队列调整单元,被配置为执行将所述时间任务图中各个任务的开始估算执行时间点的先后排序作为各个任务新的排序,获得所述调整任务队列。进一步地、所述时间任务图绘制单元,包括:时间任务图绘制子单元,被配置为执行根据各个任务的估算执行时间,依次将每个拆分任务队列的各个任务的开始执行时间点标记在时间轴上,绘制出所述时间任务图;其中,每个拆分队列中第一个任务的开始执行的时间点相同,为所述时间任务图的起始点。进一步地、所述任务队列调整单元,包括:任务队列调整单元子单元,被配置为执行若所述时间任务图中目标开始估算执行时间点对应有多个任务,则将所述目标开始估算执行时间点对应的多个任务进行随机排序,获得所述目标开始估算执行时间点对应的多个任务的新的排序。另一方面,本专利技术提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述任一项所述的任务处理方法。再一方面,本专利技术提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述任一项所述的任务处理方法。由于上述技术方案,本专利技术具有以下有益效果:本专利技术提出了一种任务处理方法、装置、电子设备及存储介质,基于任务的依赖关系和执行时间对原始任务队列中的任务重新排序得到调整任务队列,进而根据调整任务队列依次执行相应的任务,并且用户编写代码过程中无需考虑任务下发的顺序问题,在执行前可以通过执行优化器对计算队列中的任务自动排序,能够实现最佳并发。大大提高了计算资源的使用效率,减少了总任务的执行时间。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1为现有技术中总任务执行时间的示意图;图2是本专利技术实施例提供的一种任务处理方法的流程图;图3为本专利技术实施例提供的另一种任务处理方法的流程图;图4为本专利技术实施例提供的再一种任务处理方法的流程图;图5为本专利技术实施例提供的又一种任务处理方法的流程图;图6为本专利技术中总任务执行时间的示意图:图7是本专利技术实施例提供的一种任务处理装置的框图;图8是本专利技术实施例提供的一种电子设备的结构示意图;图9是本专利技术实施例提供的一种存储介质的结构示意图;其中,510-执行时间确定模块,520-任务队列调整模块,530-执行模块,5201-任务队列拆分单元,5202-时间任务图绘制单元,5203-任务队列调整单元。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,所述方法包括:/n根据原始任务队列中各个任务之间的依赖关系,利用任务执行仿真器对所述原始任务队列中的任务进行仿真执行,计算出各个任务的估算执行时间;/n根据各个任务的估算执行时间,将所述原始任务队列中各个任务的排序进行调整,获得调整任务队列,具体包括:/n根据所述原始任务队列中各个任务之间的依赖关系,将所述原始任务队列中存在顺序执行关系的任务拆分成一列,获得多个拆分任务队列,其中,不同拆分任务队列中的任务可并行执行;/n根据所述多个拆分任务队列中各个任务的估算执行时间,绘制时间任务图,所述时间任务图中包括各个任务的开始执行时间点;/n将所述时间任务图中各个任务的开始估算执行时间点的先后排序作为各个任务新的排序,获得所述调整任务队列;/n基于所述调整任务队列中各个任务之间的依赖关系,依次执行相应的任务。/n

【技术特征摘要】
1.一种任务处理方法,其特征在于,所述方法包括:
根据原始任务队列中各个任务之间的依赖关系,利用任务执行仿真器对所述原始任务队列中的任务进行仿真执行,计算出各个任务的估算执行时间;
根据各个任务的估算执行时间,将所述原始任务队列中各个任务的排序进行调整,获得调整任务队列,具体包括:
根据所述原始任务队列中各个任务之间的依赖关系,将所述原始任务队列中存在顺序执行关系的任务拆分成一列,获得多个拆分任务队列,其中,不同拆分任务队列中的任务可并行执行;
根据所述多个拆分任务队列中各个任务的估算执行时间,绘制时间任务图,所述时间任务图中包括各个任务的开始执行时间点;
将所述时间任务图中各个任务的开始估算执行时间点的先后排序作为各个任务新的排序,获得所述调整任务队列;
基于所述调整任务队列中各个任务之间的依赖关系,依次执行相应的任务。


2.根据权利要求1所述任务处理方法,其特征在于,所述根据所述多个拆分任务队列中各个任务的估算执行时间,绘制时间任务图,包括:
根据各个任务的估算执行时间,依次将每个拆分任务队列的各个任务的开始执行时间点标记在时间轴上,绘制出所述时间任务图;其中,每个拆分队列中第一个任务的开始执行的时间点相同,为所述时间任务图的起始点。


3.根据权利要求2所述任务处理方法,其特征在于,所述将所述时间任务图中各个任务的开始估算执行时间点的先后排序作为各个任务新的排序,包括:
若所述时间任务图中目标开始估算执行时间点对应有多个任务,则将所述目标开始估算执行时间点对应的多个任务进行随机排序,获得所述目标开始估算执行时间点对应的多个任务的新的排序。


4.一种任务处理装置,其特征在于,包括:
执行时间确定模块(510),被配置为执行根据原始任务队列中各个任务之间的依赖关系,利用任务执行仿真器对所述原始任务队列中的任务进行仿真执行,计算出各个任务的估算执行时间;
任务队列调整模块(520),被配置为执行根据各个任务的估算执行时间,将所述原始任务队列中各个任务的排序进行调整,获得调整任务队列;
执行模块(530),被配置为执行基于所述调整...

【专利技术属性】
技术研发人员:孙晶林士涵李力游小约翰·罗伯特·罗兰
申请(专利权)人:南京蓝洋智能科技有限公司
类型:发明
国别省市:江苏;32

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

1