调度方法、调度装置、芯片及计算机可读存储介质制造方法及图纸

技术编号:36601888 阅读:10 留言:0更新日期:2023-02-04 18:17
提供了一种调度方法、调度装置、芯片及计算机可读存储介质。该调度方法包括:确定数字信号处理器的待处理算法的预期完成时间;根据待处理算法的预期完成时间,确定待处理算法的动态优先级;基于待处理算法的动态优先级,对待处理算法在数字信号处理器的执行过程进行调度;其中,动态优先级与待处理算法的预期完成时间反相关。本申请实施例利用算法的先验知识,将运行时间考虑到调度过程中,合理的调用不同优先级的算法,有助于资源的合理利用,减少计算资源的沉没成本。少计算资源的沉没成本。少计算资源的沉没成本。

【技术实现步骤摘要】
调度方法、调度装置、芯片及计算机可读存储介质


[0001]本申请实施例涉及数据处理
,并且更为具体地,涉及一种调度方法、调度装置、芯片及计算机可读存储介质。

技术介绍

[0002]视频拍摄过程中需要调用多种算法(如Grid/人脸识别/图像融合等),这些算法在数字信号处理器(digital signal process,DSP)中执行后以连续输出视频帧。由于算法的调用时间、重要性不同,而硬件资源DSP只有一个,因此,DSP在面对多个算法需要执行的时候,需要进行调度。目前的调度方案存在资源分配不合理的问题。

技术实现思路

[0003]本申请实施例提供了一种调度方法、调度装置、芯片及计算机可读存储介质,下面对本申请实施例的各个方面进行介绍。
[0004]第一方面,提供一种调度方法,包括:确定数字信号处理器的待处理算法的预期完成时间;根据所述待处理算法的预期完成时间,确定所述待处理算法的动态优先级;基于所述待处理算法的动态优先级,对所述待处理算法在所述数字信号处理器的执行过程进行调度;其中,所述动态优先级与所述待处理算法的预期完成时间反相关。
[0005]第二方面,提供一种调度装置,包括:确定模块,用于确定数字信号处理器的待处理算法的预期完成时间,所述确定模块用于根据所述待处理算法的预期完成时间,确定所述待处理算法的动态优先级,其中,所述动态优先级与所述待处理算法的预期完成时间反相关;控制模块,与所述确定模块相连,用于执行以下操作:基于所述待处理算法的动态优先级,对所述待处理算法在所述数字信号处理器的执行过程进行调度。
[0006]第三方面,提供一种芯片,包括如第二方面所述的调度装置。
[0007]第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行如第一方面所述的调度方法。
[0008]本申请实施例利用算法运行时间的可预见性等先验知识,将运行时间考虑到调度过程中,合理地调用不同优先级的算法,有助于资源的合理利用,减少计算资源的沉没成本。
附图说明
[0009]图1是本申请实施例提供的调度方法的流程示意图。
[0010]图2是图1的步骤S120的一种可能的实现方式的示意图。
[0011]图3是图1的步骤S120的另一些可能的实现方式的示意图。
[0012]图4是本申请实施例提供的时间片轮转方法的示意图。
[0013]图5是图1方法的一种可能的实现方式的流程示意图。
[0014]图6是本申请实施例提供的调度装置的结构示意图。
[0015]图7是本申请实施例提供的芯片的结构示意图。
具体实施方式
[0016]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。
[0017]在一些应用模块中,需要调用多种算法,这些算法需要在处理器中执行。由于不同算法的调用时间、重要性不同,而硬件资源处理器只有一个,因此,处理器在面对多个算法需要执行的时候,需要进行调度。
[0018]例如,在相机(Camera)模块的视频拍摄过程中需要调用多种算法(如Grid、人脸识别、图像融合等),这些算法在DSP中执行后才输出视频帧,即视频帧经过多算法处理以便在线输出。DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。由于不同算法的调用时间、重要性不同,而硬件资源DSP只有一个,因此,在DSP面对多个算法需要执行时,需要进行调度,选择一个算法将其送入DSP执行。
[0019]在操作系统领域,线程调度也是一个类似的调度问题,常用的线程调度方案有:1)先来先服务(first come first served,FCFS)调度方法;2)最短作业优先(shortest process next,SJF)调度方法;3)高响应比优先(highest response ratio nest,HRRN)调度方法;4)时间片轮转(round robin,RR)调度方法;5)最高优先级(highest priority first,HPF)调度方法;6)多级反馈队列(multilevel feedback queues,MFQ)调度方法。
[0020]例如,在最高优先级调度方法中,进程调度每次将CPU分配给就绪队列中具有最高优先级的进程。其核心是确定进程的优先级,一般分为静态优先级和动态优先级。静态优先级是进程创建时根据初始特性和用户要求确定,确定后不再改变。动态优先级是创建时确定初始优先级,在进程运行过程中做适当修改。如根据等待时间、或根据占有的CPU时间修改优先级,动态优先级是一种抢占式的调度方法,调度效果好。
[0021]又如在多级反馈队列算法中,进程就绪队列被划分成多个独立的子队列,每个队列都拥有自己的调度策略。队列间的调度是进程可以在不同队列间移动,也就是说某个进程在执行过程中优先级可能会发生改变。
[0022]上述线程调度方法各有优缺点,其中多级反馈队列调度方法是目前主流的调度方法,并且在实践中得到很好的应用。但是,线程调度和应用模块的算法调度是存在区别的,算法调度具有自己的特点。下面以相机模块的算法调度为例进行区别点的说明,主要包括以下内容。
[0023]1)计算事件的可预知性。在线程调度中,需要运行的线程千变万化,往往不能预知某个线程的运行时间。而在相机模块中,不同算法的运行时间是可以预期的,往往在某个固定时间范围内波动(比如4.5~4.9ms)。
[0024]2)密集型的计算。常见的线程执行过程中,既会存在计算,也会存在I/O事件请求,因为进程需要等待硬盘数据的返回。所以为了提高CPU的运行效率,在由于I/O导致CPU空闲时,调度程序需要从就绪队列中选择一个进程运行。而在相机模块中,各个算法经过一系列的优化,在其运行期间通过交织多址接入(interleave

division multiple

access,IDMA)系统的搬运,基本实现避免数据从内存中读取带来的延迟,更不存在从硬盘中读取数据的情况。在IDMA系统中,不同的用户通过不同的码片交织方法来区分。
[0025]3)更高的上下文切换代价。在常见的线程执行过程中,抢占方式的切换会带来上下文切换的代价。线程的上下文切换,为了保存当前正在运行的进程的上下文,操作系统会执行一些底层汇编代码,来保存通用寄存器、程序计数器,以及当前正在运行的进程的内核栈指针,然后恢复寄存器、程序计数器,并切换内核栈,供即将运行的进程使用,这种线程的上下文切换代价相对较小。然而,在DSP的相机模块中,上下文切换需要保存和恢复紧耦合存储器(tightly coupled memory,TCM)中的数据,完成将TCM中数据保存到内存上,需要时恢复。这种上下文切换的时间延迟是远大于线程的上下文切换的。其中,TCM是一种高速缓存,直接集成在CPU的内部。
[0026]4)计算结果的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调度方法,其特征在于,包括:确定数字信号处理器的待处理算法的预期完成时间;根据所述待处理算法的预期完成时间,确定所述待处理算法的动态优先级;基于所述待处理算法的动态优先级,对所述待处理算法在所述数字信号处理器的执行过程进行调度;其中,所述动态优先级与所述待处理算法的预期完成时间反相关。2.根据权利要求1所述的方法,其特征在于,所述基于所述待处理算法的动态优先级,对所述待处理算法进行调度,包括:基于所述待处理算法的静态优先级和动态优先级,确定所述待处理算法的优先级;根据所述待处理算法的优先级,对所述待处理算法进行调度;其中,所述静态优先级为所述待处理算法的预设优先级。3.根据权利要求2所述的方法,其特征在于,所述待处理算法包括优先级相同的多个算法,所述方法还包括:基于时间片轮转的方式调度所述多个算法,其中,所述多个算法的轮转时间与所述多个算法的剩余计算时间反相关。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定是否能够在所述预期完成时间之前完成所述待处理算法中的全部算法;如果无法在所述预期完成时间之前完成所述待处理算法中的全部算法,则根据所述待处理算法中的每个算法的优先级和/或所述每个算法的完成度,舍弃所述全部算法中的至少一个算法。5.一种调度装置,其特征在于,包括:确定模块,用于确定数字信号处理器的待处理算法的预期完成时间,所述确定模块用于根据所述待处理算法的预期完成时间,确定所述待处理算法的动态优先级,其中,所述动态优先级与所述待处理算...

【专利技术属性】
技术研发人员:吴义孝
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1