【技术实现步骤摘要】
异构多核片上系统混合任务调度方法和装置
[0001]本专利技术属于计算机体系结构领域,具体涉及到一种异构多核片上系统混合任务调度方法和装置。
技术介绍
[0002]随着片上系统(简称,SoC)运算性能的不断提升,其能耗也在迅速增长。“动态电压频率调制技术”(简称,DVFS)能有效节约片上系统的整体能耗,在工业界被广泛使用。在嵌入式实时系统中,异构多核的SoC广泛运用DVFS调度技术进行任务分配。现有技术中,异构多核的SoC任务模型调度方法主要有两种方案:
[0003]第一种方案是基于异构多核片上系统的单任务模型调度方法。任务模型一般有帧任务模型,周期任务,带优先权约束的任务,非周期任务模型等。上述方法采用的任务模型大多是帧任务或周期任务模型。
[0004]这种方案的问题是任务模型单一,大多采用简单的任务模型,无法应对复杂场景下的任务调度问题。
[0005]第二种方案是采用启发式算法实现混合任务模型调度方法。传统的启发式算法,通过算任务在各个核上的最坏情况执行时间,优先将总时间(任务在各核上最坏情况执行 ...
【技术保护点】
【技术特征摘要】
1.一种异构多核片上系统混合任务调度方法,其特征在于,包括:计算各周期任务的最大任务密度差;按照最大任务密度差从大到小的顺序,依次将各周期任务分配到该周期任务执行效率最大且剩余周期任务密度不小于该任务在该处理器核上的任务密度的处理器核上;计算各非周期任务的最坏情况执行时间差;按照最坏情况执行时间差从大到小的顺序,依次将各非周期任务分配到该非周期任务的执行效率最大的处理器核上;根据处理器核上各周期任务的截止期限和该处理器上当前非周期任务的截止期限,按照截止期限从早到晚的顺序,设置该处理器核上的任务执行顺序。2.根据权利要求1所述的方法,其特征在于,所述计算各周期任务的最大任务密度差包括:计算各周期任务τ
i
在各个处理器核上的任务密度在各个处理器核上的任务密度计算各周期任务τ
i
的最大任务密度差ED
i
;ED
i
=λ
i,max
‑
λ
i,min
其中,λ
i,max
为τ
i
在各个处理器上的任务密度中的最大值,λ
i,min
为τ
i
在各个处理器上的任务密度中的最小值,c
i
为任务τ
i
的最坏情况执行指令周期,θ
i
j为任务τ
i
在处理器π
j
上执行效率,P
i
为周期任务τ
i
的截止期限,i为任务编号,j为处理器编号。3.根据权利要求1所述的方法,其特征在于,所述计算各非周期任务在各处理器核上的最坏情况执行时间差包括:计算各非周期任务在各处理器核上的最坏情况执行时间WCET
ij
;计算各非周期任务的最坏情况执行时间差TD
i
;TD
i
=WCET
i,max
‑
WCET
i,min
其中,WCET
i,max
为该非周期任务在各个处理器核上最坏情况执行时间的最大值,WCET
i,min
为该非周期任务在各个处理器核上最坏情况执行时间的最小值,c
i
为任务τ
i
的最坏情况执行指令周期,θ
ij
为任务τ
i
在处理器π
j
上执行效率,f
w
j
ork
为处理器π
j
的工作频率,i为任务编号,j为处理器编号。4.根据权利要求1所述的方法,其特征在于,所述当前非周期任务的截止期限的计算方法包括:如果q
s
≥(d
i
‑1‑
r
i
)U
S
或q
s
=0,设置q
s
=Q
s
、d
i
=d
i
‑1+T
s
;否则,设置d
i
=d
i
‑1;其中,所述d
i
为任务τ
i
的截止期限Q
S
表示总带宽服务器调度算法TBS服务器的最大执行预算;T
S
表示TBS服务器的周期;d
i
‑1表示TBS服务器为非周期任务τ
i
‑1设定的截止期限;r
i
表示非周期任务τ
i
的到达时间;U
s
是TBS服务器为非周期任务预留的服务器带宽。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
设置各未分配有非周期任务的处理器核的工作频率;设置分配有非周期任务的处理器核的工作频率;执行非周期任务时该处理器的工作频率为该处理器核的最高工作频率;执行周期任务时该处理器的工作频率为,其中,为处理器核π
j
的工作频率,所述N为周期任务数量,c
i
为任务τ
i
的最坏情况执行指令周期,为任务τ
i
在处理器π
j
上执行效率,max{}为取最大值计算,为处理器π
j
的最低工作频率,P
i
为周期任务τ
i
的截止期限。6.一种异构多核片上系统混合任务调度装置,其特征在于,包括:周期任务分配模块,用于将各周期任务分配到各处理器核上;所述周期任务分配模块分配周期任务的方法为,按照各周期任务的最大任务密度差从大到小的顺序,依次将各周期任务分配到该周期任务的执行效率最大,且剩余周期任务密度不小于该任务在该处理器核上的任务密度的处理器核上;非周期任务分配模块,用于将各非周期任务分配到各处理器核上;所述非周期任务分配模块分配非周期任务的方法为,按照各非周期任务的最大坏情况执行时间差从大到小的顺序,依次将各非周期任务分配到该非周期任务的执行效率最大的处理器核上;任务调度模块,用于根据处理器核上各周期任务的截止期限和该处理器上当前非周期任务的截止期限,按照截止期限从早到晚的顺序,设置该处理器核上的任务执行顺序。7.根据权利要求6所述的装置,其特征在于,所述周期任务分配模块包括:最大任务密度差计算单元,用于计算各周期任务的最大任务密度差ED
i
;所述ED
i
的计算方法为:计算周期任务在各个处理器核上的任务密度计算周期任务在各个处理器核上的任务密度计算计...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。