本公开涉及一种电子装置和一种用于在多核处理器中调度任务的方法。
背景技术:
1、处理器(或可编程组件)可以运行指令以执行各种功能。每个处理器可以包括多个处理核以实现高性能,并且多个处理核中的每个处理核可以独立地运行指令。包括一系列指令的任务可以被分配在多个处理核中的一个处理核中。处理核可以顺序地执行分配的任务。在包括可以包括不同类型的处理核的处理器的系统中会出现具有各种属性的任务。因此,从系统的性能和效率而言,将任务分配到多个处理核的操作(即,调度任务的操作)会是意义重大的。
技术实现思路
1、提供了一种用于高效地调度任务或者将任务分配到多个处理核的方法和装置。
2、根据本公开的一方面,一种电子装置包括多个处理核以及存储器,所述存储器包括与所述多个处理核分别对应的多个任务队列以及与多个任务分别对应的多个任务关系表。所述多个任务关系表中的每个任务关系表包括一个或更多个条目,所述一个或更多个条目均表示唤醒任务的标识符与发生计数之间的映射关系,其中,所述唤醒任务会将被唤醒任务唤醒,所述发生计数是所述唤醒任务将所述被唤醒任务唤醒的次数。所述多个处理核中的至少一个处理核被配置为运行调度器以执行以下操作:搜索包括相关任务的任务集;基于所述多个任务关系表,将所述任务集的任务子集存储在所述多个任务队列中的至少一个任务队列中;并且调度所述任务集。
3、根据本公开的另一方面,一种在包括多个处理核的电子装置中调度任务的方法包括:基于多个任务的属性,选择所述多个任务之中的至少一个关键任务;基于与所述多个任务分别对应的多个任务关系表生成马尔可夫链,所述马尔可夫链表示对应于任务的边缘之间的状态转变被执行的概率;在所述马尔可夫链中搜索所述至少一个关键任务以及与所述至少一个关键任务交互的交互任务;并且将任务集存储在与所述多个处理核分别对应的多个任务队列中的至少一个任务队列中,其中,所存储的任务集包括所述至少一个关键任务以及至少一个所述交互任务。所述多个任务关系表中的每个任务关系表包括条目,所述条目表示唤醒任务的标识符与发生计数之间的映射关系,其中,所述唤醒任务会将被唤醒任务唤醒,所述发生计数是所述唤醒任务将所述被唤醒任务唤醒的次数。
4、根据本公开的另一方面,一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,所述指令允许由基于性能被分类为至少两个核组的多个处理核中的至少一个处理核运行的任务调度被执行,所述任务调度包括:基于多个任务的属性,选择所述多个任务之中的至少一个关键任务;基于与所述多个任务分别对应的多个任务关系表生成马尔可夫链,其中,所述马尔可夫链表示对应于任务的边缘之间的状态转变被执行的概率;在所述马尔可夫链中搜索所述至少一个关键任务以及与所述至少一个关键任务交互的交互任务;并且将任务集存储在与所述至少两个核组中的一个核组对应的至少一个任务队列中。所存储的任务集包括所述至少一个关键任务以及至少一个所述交互任务。所述一个核组的性能高于或等于参考性能。所述多个任务关系表中的每个任务关系表包括条目,所述条目表示唤醒任务的标识符与发生计数之间的映射关系,其中,所述唤醒任务会将被唤醒任务唤醒,所述发生计数是所述唤醒任务将所述被唤醒任务唤醒的次数。
5、根据本公开的另一方面,一种片上系统包括:多个处理器,所述多个处理器基于性能被分类为至少两个处理器组;以及存储器,所述存储器包括与所述多个处理器分别对应的多个任务队列以及与多个任务分别对应的多个任务关系表。所述多个任务关系表中的每个任务关系表包括多个条目,所述多个条目表示唤醒任务的标识符与发生计数之间的映射关系,其中,所述唤醒任务会将被唤醒任务唤醒,所述发生计数是所述唤醒任务将所述被唤醒任务唤醒的次数。所述多个处理器中的至少一个处理器被配置为运行调度器以执行以下操作:搜索包括相关任务的任务集;基于所述多个任务关系表,将所述任务集的任务子集存储在与所述至少两个处理器组中的一个处理器组对应的至少一个任务队列中,所述至少一个任务队列具有高于或等于参考性能的性能;并且调度所述任务集。
1.一种电子装置,所述电子装置包括:
2.根据权利要求1所述的电子装置,其中,所述多个处理核中的所述至少一个处理核进一步被配置为运行所述调度器,以执行以下操作:
3.根据权利要求2所述的电子装置,其中,所述多个处理核中的所述至少一个处理核进一步被配置为运行所述调度器,以执行以下操作:
4.根据权利要求2所述的电子装置,其中,所述多个处理核中的所述至少一个处理核进一步被配置为运行所述调度器,以执行以下操作:
5.根据权利要求2所述的电子装置,其中,所述任务子集包括与状态转变被最后执行的最终边缘对应的关键任务以及与状态将要转变到所述最终边缘的第一边缘对应的第一任务,并且
6.根据权利要求1所述的电子装置,其中,所述多个处理核中的所述至少一个处理核进一步被配置为运行所述调度器,以执行以下操作:
7.根据权利要求6所述的电子装置,其中,所述多个处理核中的所述至少一个处理核进一步被配置为运行所述调度器,以执行以下操作:
8.根据权利要求1所述的电子装置,其中,所述多个处理核中的所述至少一个处理核还被配置为运行所述调度器以执行以下操作:
9.根据权利要求8所述的电子装置,其中,所述多个处理核中的所述至少一个处理核还被配置为运行所述调度器,以执行以下操作:
10.根据权利要求9所述的电子装置,其中,所述多个处理核中的所述至少一个处理核还被配置为运行所述调度器,以执行以下操作:
11.根据权利要求1所述的电子装置,所述电子装置还包括动态电压频率调节调整器,所述动态电压频率调节调整器被配置为基于所述任务集的调度状态调整动态电压频率调节的水平。
12.一种在包括多个处理核的电子装置中调度任务的方法,所述方法包括:
13.根据权利要求12所述的方法,其中,所述的生成马尔可夫链包括:
14.根据权利要求12所述的方法,其中,所述搜索包括:在所述马尔可夫链中搜索概率高于或等于参考概率的至少一个任务。
15.根据权利要求12所述的方法,其中,所述搜索包括:参考所述多个任务关系表中的发生计数,在所述马尔可夫链中搜索具有最大发生计数的至少一个任务。
16.根据权利要求12所述的方法,所述方法还包括:基于所述任务集的调度状态,调整动态电压频率调节的水平。
17.根据权利要求12所述的方法,其中,选择所述至少一个关键任务包括:基于所述多个任务中的每个任务的重要性,选择所述至少一个关键任务。
18.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,所述指令使得由基于性能被分类为至少两个核组的多个处理核中的至少一个处理核运行的任务调度被执行,所述任务调度包括:
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述的生成马尔可夫链包括:
20.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述搜索包括:在所述马尔可夫链中搜索概率高于或等于参考概率的至少一个任务。