利索能及
我要发布
收藏
专利号: 2019104041253
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-01-15
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种异构多核片上系统任务调度方法,其特征在于,包括:设置各处理器工作频率=该处理器的最高频率;

选择总执行时间最少的处理器,选择在该处理器上执行时间最少的未分配任务,将该任务分配给该处理器;获得第一任务分配方案;

对每一个处理器,选择使得该处理器总执行时间不大于任务完成截止时间D的最小工作频率作为该处理器的最大工作频率fjmax;

计算使得系统总能耗Etotal最小的各任务在各处理器上的分配期望值ai*j:*j

如果ai 大于预设的门限值,将任务i分配给处理器j;获得第二任务分配方案;

根据所述第二任务分配方案计算各处理器的最小工作频率fjmin;

设置各处理器工作频率为fjmin,遍历获得将第二任务分配方案中未分配任务分配给各处理器的所有第三任务分配方案;

min max final final

在所述fj 和fj 之间选择各处理器的最终工作频率fj ;所述fj 为满足存在至少一个各处理器总执行时间都不大于D的第三任务分配方案的各处理器最小工作频率;

在所述各处理器总执行时间都不大于D的第三任务分配方案中,选择总能耗最小的一个第三任务分配方案作为最终任务分配方案;

设置各处理器的工作频率为该处理器的fjfinal;根据所述最终任务分配方案分配各任务给各处理器;

其中,所述i为任务编号,i=1,2,……,I,I为任务总数量;所述j为处理器编号,j=1,

2,……,J,J为处理器总数量;所述处理器的总执行时间为分配给该处理器的各任务在该处理器上的执行时间之和。

2.根据权利要求1所述的方法,其特征在于,所述各任务在该处理器上的执行时间为:其中,fjwork为处理器j当前选择的工作频率,所述Ci为任务i的最坏执行周期;所述θij为任务i在处理器j上的执行效率。

3.根据权利要求2所述的方法,其特征在于,所述选择使得该处理器总执行时间不大于任务完成截止时间D的最小工作频率作为该处理器的最大工作频率fjmax包括:步骤1.1、将各处理器的工作频率降低一级;

步骤1.2、计算各处理器的总执行时间;

步骤1.3、如果有处理器的总执行时间大于D,将当前各处理器工作频率的上一级工作频率作为fjmax;如果各处理器的总执行时间都不大于D,返回步骤一执行。

4.根据权利要求2所述的方法,其特征在于,所述遍历获得将第二任务分配方案中未分配任务分配给各处理器的所有第三任务分配方案:将各未分配任务依次分配给各处理器,获得JK个第三任务分配方案;

其中,K为第二任务分配方案中未分配任务的数量。

5.根据权利要求4所述的方法,其特征在于,所述在所述fjmin和fjmax之间选择各处理器的最终工作频率fjfinal包括:步骤2.1、设置各处理器当前的工作频率fjwork=fjmin;

步骤2.2、计算各第三任务分配方案中各处理器的总执行时间;

步骤2.3、如果所有第三任务分配方案都有处理器总执行时间大于D;将各处理器的fjwork提高一级,执行步骤2.2;如果有各处理器的总执行时间都不大于D的第三任务分配方案,设置fjfinal=fjwork。

6.一种异构多核片上系统任务调度装置,其特征在于,包括:最大工作频率选择模块,用于选择各处理器的最大工作频率,设置各处理器的最高频率作为各处理器的工作频率,选择总执行时间最少的处理器,选择在该处理器上执行时间最少的未分配任务,将该任务分配给该处理器;获得第一任务分配方案;对每一个处理器,选择使得该处理器总执行时间不大于D的最小工作频率作为该处理器的最大工作频率fjmax;

最小工作频率选择模块,用于选择各处理器的最小工作频率,计算使得系统总能耗Etotal最小的各任务在各处理器上的分配期望值ai*j:如果ai*j大于预设的门限值Δ,将任务imin分配给处理器j;根据所述第二任务分配方案计算各处理器的最小工作频率fj ;

任务分配模块,用于在所述各处理器的最小工作频率和最大工作频率之间选择各处理器的最终工作频率;获得最终的任务分配方案,设置各处理器工作频率为fjmin,遍历获得将第二任务分配方案中未分配任务分配给各处理器的所有第三任务分配方案;在所述fjmin和max final finalfj 之间选择各处理器的最终工作频率fj ;所述fj 为满足存在至少一个各处理器总执行时间都不大于D的第三任务分配方案的各处理器最小工作频率;在所述各处理器总执行时间都不大于D的第三任务分配方案中,选择总能耗最小的一个第三任务分配方案作为最终任务分配方案;设置各处理器的工作频率为该处理器的fjfinal;根据所述最终任务分配方案分配各任务给各处理器;

其中,所述i为任务编号,i=1,2,……,I,I为任务总数量;所述j为处理器编号,j=1,

2,……,J,J为处理器总数量;所述处理器的总执行时间为分配给该处理器的各任务在该处理器上的执行时间之和。

7.根据权利要求6所述的装置,其特征在于,所述最大工作频率选择模块包括:第一总执行时间计算单元,用于计算各处理器的总执行时间,包括:计算各任务在各处理器上的执行时间ti,j,

将分配给各处理器的任务在给处理器上的执行时间之和作为各处理器的总执行时间;

第一任务调度单元,用于将各任务分配到各处理器,获得第一任务分配方案;包括:选择总执行时间最少的处理器,选择在该处理器上执行时间最少的未分配任务,将该任务分配给该处理器;重复执行本步骤直到完成所有任务的分配;

第一工作电压优化单元,用于设置各处理器的最大工作频率,包括:在第一任务调度单元进行任务分配前,设置各处理器的工作频率为该处理器的最大频率;

在第一任务调度单元完成任务分配后,逐级降低各处理器的工作频率,直到有处理器的总执行时间大于D,将当前各处理器工作频率的上一级工作频率作为fjmax;

其中,fjwork为处理器j当前选择的工作频率,所述Ci为任务i的最坏执行周期;所述θij为任务i在处理器j上的执行效率。

8.根据权利要求7所述的装置,其特征在于,所述最小工作频率选择模块包括:优化工具单元,用于计算使得系统总能耗Etotal最小的各任务在各处理器上的分配期望值ai*j;

第二任务调度单元,用于对所述分配期望值ai*j进行判决,获得第二任务分配方案,包括:判断各任务在各处理器上的分配期望值ai*j是否大于预设的门限值;如果是,将任务i分配给处理器j,设置任务i在处理器j上的第二分配系数aij=1;否则,设置aij=0;获得第二任务分配方案。

第二工作电压优化单元,用于选择各处理器的最小工作频率,包括:计算各处理器的最小工作频率期望值fjmin_exp,

在各处理器的可选频率中选择不小于fjmin_exp的最小频率作为该处理器的最小工作频率fjmin。

9.根据权利要求8所述的装置,其特征在于,所述任务分配模块包括:第二总执行时间计算单元,用于计算各处理器的总执行时间;

第三任务调度单元,用于获取第三任务分配方案,包括:将各未分配任务依次分配给各处理器,获得JK个第三任务分配方案;其中,K为第二任务分配方案中未分配任务的数量;

第三工作电压优化单元,用于设置各处理器的最终工作频率,包括:设置各处理器当前的工作频率fjwork=fjmin;判断是否有各处理器的总执行时间都不大于D的第三任务分配方案,如果有,设置fjfinal=fjwork;否则,将各处理器的fjwork提高一级,重新判断是否有各处理器的总执行时间都不大于D的第三任务分配方案,直到获得至少一个各处理器的总执行时间都不大于D的第三任务分配方案,设置fjfinal=fjwork;

能耗计算单元,用于计算各处理器的总执行时间都不大于D的第三任务分配方案的能耗;

最终分配方案选择单元,根据所述能耗计算单元所计算出的各第三任务分配方案的能耗,选择能耗最小的一个第三任务分配方案作为最终的任务分配方案。

10.根据权利要求9所述的装置,其特征在于,所述第一总执行时间计算单元和所述第二总执行时间计算单元为同一个单元。