一种任务调度方法、装置、设备及存储介质制造方法及图纸

技术编号:34265092 阅读:18 留言:0更新日期:2022-07-24 14:43
本申请公开一种任务调度方法、装置、设备及存储介质,应用于直接存储器访问DMA设备,该方法包括:确定待调度的多个任务中存在相同优先级的至少两个目标任务;将至少两个目标任务中每个目标任务切分成多个子任务;将至少两个目标任务的多个子任务进行交织排序;通过目标数据通道对排序好的子任务进行交织调度。如此,当遇到相同优先级的至少两个目标任务时,将至少两个目标任务切分成多个子任务,并行执行多个子任务,即实现了至少两个目标任务的并行执行,提高至少两个目标任务的整体处理效率。同时,相对于现有中等待一个任务执行结束后才启动下一个任务,本申请可以提前启动下一个任务,缩短至少两个目标任务的整体处理时延。延。延。

A task scheduling method, device, device and storage medium

【技术实现步骤摘要】
一种任务调度方法、装置、设备及存储介质


[0001]本申请涉及计算机技术,尤其涉及一种任务调度方法、装置、设备及存储介质。

技术介绍

[0002]直接内存访问(Direct Memory Access,DMA)是一种快速数据交换模式,它在不通过中央处理器(CPU,Central Processing Unit)且不需要CPU干预的情况下,即可完成例如外部设备和存储器之间的数据传输(也可称为任务调度)。
[0003]现有中经常会遇到任务优先级相同的情况,此时执行任务时只能选取其中的一个任务执行,确保当前任务搬移完所有的数据后才能执行后续任务。若DMA此次任务搬移的数据量较大,则后续任务需要等待较长的时间才能执行,这样降低任务整体处理效率,增加任务整体处理时延。

技术实现思路

[0004]为解决上述技术问题,本申请期望提供一种任务调度方法、装置、设备及存储介质。
[0005]本申请的技术方案是这样实现的:
[0006]第一方面,提供了一种任务调度方法,应用于直接存储器访问DMA设备,所述方法包括:
[0007]确定待调度的多个任务中存在相同优先级的至少两个目标任务;
[0008]将所述至少两个目标任务中的目标任务切分成多个子任务;
[0009]将所述至少两个目标任务的多个子任务进行交织排序;
[0010]通过目标数据通道对排序好的子任务进行交织调度;其中,所述目标数据通道为所述目标任务的优先级对应的数据通道。
[0011]第二方面,提供了一种任务调度装置,应用于直接存储器访问DMA设备,所述装置包括:
[0012]优先级仲裁单元,用于确定待调度的多个任务中存在相同优先级的至少两个目标任务;
[0013]任务切分单元,用于将所述至少两个目标任务中的目标任务切分成多个子任务;将所述至少两个目标任务的多个子任务进行交织排序;
[0014]任务调度单元,用于通过目标数据通道对排序好的子任务进行交织调度;其中,所述目标数据通道为所述目标任务的优先级对应的数据通道。
[0015]第三方面,提供了一种DMA设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行前述方法的步骤。
[0016]第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述方法的步骤。
[0017]本申请实施例公开一种任务调度方法、装置、设备及存储介质,当遇到相同优先级的至少两个目标任务时,将至少两个目标任务切分成多个子任务,并行执行多个子任务,即实现了至少两个目标任务的并行执行,提高至少两个目标任务的整体处理效率。同时,相对于现有中等待一个任务执行结束后才启动下一个任务,本申请可以提前启动下一个任务,缩短至少两个目标任务的整体处理时延。
附图说明
[0018]图1为本申请实施例中任务调度方法的第一流程示意图;
[0019]图2为本申请实施例中任务调度方法的第二流程示意图;
[0020]图3为本申请实施例中任务调度方法的第三流程示意图;
[0021]图4为本申请实施例中直接存储器访问设备结构图;
[0022]图5为本申请实施例中任务切分工作流程示意图;
[0023]图6为本申请实施例中任务调度装置组成结构的示意图;
[0024]图7为本申请实施例中直接存储器访问设备组成结构的示意图。
具体实施方式
[0025]为了能够更加详尽地了解本申请实施例的特点与
技术实现思路
,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
[0026]需要说明的是,DMA是一种快速数据交换模式,它在不通过CPU且不需要CPU干扰的情况下,即可完成外部设备(如硬件加速器(Hardware Accelerator,HWA))和存储器(如共享随机存储器(Share Random Access Memory,SHRAM))之间的直接数据传输,且DMA执行数据传输过程中CPU可以执行其他任务。对于通过CPU执行外部设备与存储器之间的数据传输,是需要从外部设备将获取的数据复制到缓冲器中,再写入至存储器中,即并非直接传输,且数据传输过程中CPU无法执行其他任务。因此,相对于通过CPU执行数据的间接传输,DMA数据直接传输方式能够提高数据传输效率,同时,DMA执行数据传输过程中,可以很大程度上减小CPU资源占有率,节省系统资源。
[0027]本申请实施例提供的任务调度方法,应用于直接存储器访问DMA设备。下面针对任务调度方法进行具体说明。
[0028]图1为本申请实施例中任务调度方法的第一流程示意图,如图1所示,该任务调度方法具体可以包括:
[0029]步骤101:确定待调度的多个任务中存在相同优先级的至少两个目标任务。
[0030]这里,预先对待调度的多个任务进行优先级配置。执行任务调度方法时,通过查询每个任务的优先级,以确定待调度的多个任务中是否存在相同优先级的至少两个目标任务,若存在,继续执行步骤102,若不存在,直接通过每个任务的优先级对应的数据通道执行任务调度。其中,相同优先级的至少两个目标任务,可理解为至少两个目标任务的任务调度时间相同。
[0031]步骤102:将所述至少两个目标任务中的目标任务切分成多个子任务。
[0032]现有中DMA设备遇到相同优先级任务的情况时,选择其中一个任务执行,确保当前任务执行结束后,再执行其余任务。若DMA设备此次任务搬移的数据量较大,则其余任务需
要等待较长的时间才能执行,降低系统处理效率,增加系统时延。因此,本申请实施例在DMA设备中增加任务切分模块,通过任务切分模块将至少两个目标任务中每个目标任务切分成多个子任务,目的是使得相同优先级的多个子任务能够并行执行,进一步地,在进行外部设备与存储器之间的数据传输时,外部设备(如HWA)可以提前启动数据处理,达到缩短系统时延,提高系统处理效率的目的。
[0033]示例性的,在一些实施例中,在执行步骤102之前,所述方法还包括:获取每个目标任务的分块使能信息;确定所有目标任务的分块使能信息表征允许进行任务切分时,将所述至少两个目标任务中的目标任务切分成多个子任务。
[0034]需要说明的是,若至少两个目标任务中任意一个目标任务不进行任务切分,那势必存在至少一个目标任务需要连续性执行完任务才可执行其余子任务,即无法实现所有目标任务的并行执行。因此,为实现所有目标任务能够并行执行,在执行步骤102之前,需要确保所有目标任务均进行任务切分。本申请这里具体是根据对目标任务预先配置的分块使能信息,去判断该目标任务是否进行任务切分。确定所有目标任务进行任务切分时,将每个目标任务切分成多个子任务。
[0035]确定所有目标任务中至少一个目标任务不进行任务切分时,示例性的,在一些实施例中,对所有目标任务进行排序;通过所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,应用于直接存储器访问DMA设备,其特征在于,所述方法包括:确定待调度的多个任务中存在相同优先级的至少两个目标任务;将所述至少两个目标任务中的目标任务切分成多个子任务;将所述至少两个目标任务的多个子任务进行交织排序;通过目标数据通道对排序好的子任务进行交织调度;其中,所述目标数据通道为所述目标任务的优先级对应的数据通道。2.根据权利要求1所述的方法,其特征在于,所述将所述至少两个目标任务中的目标任务切分成多个子任务之前,所述方法还包括:获取每个目标任务的分块使能信息;确定所有目标任务的分块使能信息表征允许进行任务切分时,将所述至少两个目标任务中的目标任务切分成多个子任务。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定至少一个目标任务的分块使能信息表征不允许进行任务切分时,对所有目标任务进行排序;通过所述目标数据通道对排序好的目标任务依次进行任务调度。4.根据权利要求1所述的方法,其特征在于,所述将所述至少两个目标任务中的目标任务切分成多个子任务,包括:获取所述目标任务的任务切分长度和第一任务数据长度;根据所述目标任务的任务切分长度,将所述目标任务的第一任务数据长度进行切分,得到所述目标任务的多段第二任务数据长度;基于所述目标任务的多段第二任务数据长度,生成所述目标任务切分后的多个子任务。5.根据权利要求4所述的方法,其特征在于,所述基于所述目标任务的多段第二任务数据长度,生成所述目标任务切分后的多个子任务,包括:获取所述目标任务进行任务调度的源地址和目的地址;基于所述目标任务的源地址、目的地址和所述第二任务数据长度,生成所述子任务。6.根据权利要求...

【专利技术属性】
技术研发人员:吴盼望尹磊祖费悦牧
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1