基于凸优化的异构多核系统混合任务分配方法和装置制造方法及图纸

技术编号:37395512 阅读:17 留言:0更新日期:2023-04-27 07:33
本发明专利技术公开了一种基于凸优化的异构多核系统混合任务分配方法,包括,设置各处理器核为非周期任务预留的服务器带宽为非周期任务在执行效率最低的核上利用率之和与处理器核数的比值;利用凸优化算法计算使得系统总能耗最小的任务在各处理器核上的任务分配值;将任务分配给任务分配值最大的处理器核;根据处理器核上各周期性任务的截止期限和该处理器上当前非周期性任务的截止期限,按照截止期限从早到晚的顺序,设置该处理器核上的任务执行顺序。本发明专利技术实施例中还公开了一种与所述方法相适应的分配装置,本发明专利技术的技术方案能实现获得良好节能效果的同时提高调度成功率及对非周期性任务的响应及时性。期性任务的响应及时性。期性任务的响应及时性。

【技术实现步骤摘要】
基于凸优化的异构多核系统混合任务分配方法和装置


[0001]本专利技术属于计算机体系结构领域,具体涉及到一种在异构多核片上系统上基于凸优化理论的混合任务调度方法和装置。

技术介绍

[0002]自2005年多核架构问世以来,多核处理器被广泛应用于工业自动化、可移动设备等嵌入式实时系统领域。异构多核处理器是单个芯片上集成了两个或多个体系结构和功能不同的专用处理器核。一般包括通用处理器和专用处理器核。根据应用场景的不同,专用处理器核选择特定的指令集,可以更快的速度执行特定类型的任务,并消耗更少的能量。异构多核片上系统具有执行时间短、节能效果出色的优点,所以任务调度问题一直以来都是异构系统领域的研究重点。现有技术中,异构多核片上系统的任务调度算法主要为以下两种:
[0003]第一类为传统启发式算法:这一类算法的主要步骤分为两个阶段,第一阶段将任务映射到处理器核上,得到任务调度方案;第二阶段根据调度方案,在每个处理器核上结合动态电压频率调整(简称,DVFS)技术降低处理器执行速度或工作频率,进而降低系统能耗;在改进的启发式节能调度算法中,进一步通过最小化能量密度差值的调度方法达到最小化能耗的目的。
[0004]传统的启发式算法“负载均衡”的任务分配由于理论限制,在减少系统整体功耗上效果有限,在异构多核平台上远不能达到最优能耗。
[0005]第二类为基于凸优化理论的近似算法。该算法针对传统启发式算法的问题,以最小能耗为目标,在异构多核平台的调度算法中引入凸优化的理论知识,提出了两种节能调度算法:基于松弛简单取整(简称,RNRA)算法和基于松弛的迭代取整(简称,RIRA)算法。这类算法首先计算并排序任务集在各个核上的执行时间,然后用凸优化将任务调度问题松弛化为凸优化问题,并采用障碍法来解决优化问题,使用对数障碍函数将不等式约束问题近似为等式约束问题,进而应用牛顿迭代法迭代得到任务分配方案和各个处理器核的最低工作频率。
[0006]这类算法都存在迭代运算,随着任务规模的增加,算法迭代求解的次数也随之增加,算法的执行时间大大增长,并且该类算法考虑的任务模型单一,无法应对复杂场景下的任务调度问题。

技术实现思路

[0007]为了解决现有技术中存在的上述问题,本专利技术提供了一种基于凸优化的异构多核系统混合任务分配方法和装置,以实现获得良好节能效果的同时提高调度成功率及对非周期性任务的响应及时性。
[0008]本专利技术的基于凸优化的异构多核系统混合任务分配方法包括:
[0009]设置各处理器核为非周期任务预留的服务器带宽U
s
为非周期任务在执行效率最低的核上利用率之和与处理器核数的比值;
[0010]利用凸优化算法计算使得系统总能耗E
total
最小的任务在各处理器核上的任务分配值a
ij

[0011]将任务τ
i
分配给a
ij
最大的处理器核π
j

[0012]根据处理器核上各周期性任务的截止期限P
i
和该处理器上当前非周期性任务的截止期限d
i
,按照截止期限从早到晚的顺序,设置该处理器核上的任务执行顺序。
[0013]进一步的,所述计算使得系统总能耗E
total
最小的任务在各处理器核上的任务分配值包括:
[0014]利用凸优化算法计算使得系统执行周期性任务总能耗E
period
最小的各周期性任务的任务分配值
[0015]将该周期性任务在各处理器核上的中最大的设置为1;将该周期性任务在其他处理器核上的任务分配值设置为0;
[0016]利用凸优化算法计算使得系统总能耗E
total
最小的各非周期性任务的任务分配值
[0017]将该非周期性任务在各处理器核上的中最大的设置为1;将该非周期性任务在其他处理器核上的任务分配值设置为0。
[0018]进一步的,所述当前非周期性任务的截止期限d
i
的计算方法包括:
[0019]如果q
s
≥(d
i
‑1‑
r
i
)U
S
或q
s
=0,设置q
s
=Q
s
、d
i
=d
i
‑1+T
s

[0020]否则,设置d
i
=d
i
‑1;
[0021]进一步的,所述方法还包括:
[0022]设置未分配有非周期性任务的处理器核的工作频率
[0023]设置分配有非周期性任务的处理器核的工作频率为,执行非周期性任务时该处理器的工作频率为该处理器核的最高工作频率;执行周期性任务时该处理器的工作频率
[0024]优选的,所述工作频率为归一化频率;
[0025][0026]本专利技术的基于凸优化的异构多核系统混合任务分配装置包括:
[0027]非周期性任务预留带宽计算模块,用于计算各处理器核为非周期任务预留的服务器带宽U
s
,U
s
为非周期任务在执行效率最低的核上的利用率之和与处理器核数的比值;
[0028]任务分配模块,用于计算使得系统总能耗E
total
最小的各任务在各处理器核上的任务分配值将任务τ
i
分配给最大的处理器核π
j

[0029]任务调度模块,用于根据处理器核上各周期性任务的截止期限P
i
和该处理器上当前非周期性任务的截止期限d
i
,按照截止期限从早到晚的顺序,设置该处理器核上的任务执行顺序;
[0030]进一步的,所述任务分配模块包括:
[0031]任务分配矩阵生成单元:
[0032]根据异构多核系统的处理器核数量J,周期性任务数量N和非周期性任务数量K,生成分配矩阵Assign;
[0033][0034]从周期性任务分配值计算单元获取各周期性任务的任务分配值,从非周期性任务分配值计算单元获取各非周期性任务的任务分配值,将Assign前N行元素中在该行最大的元素设置为1,该行其他元素设置为0;将任务分配给任务分配值为1的元素对应的处理器核;
[0035]其中,Assign的前N行元素为各周期性任务的第N+1行到第N+K行为各非周期性任务的元素下标为该任务分配值对应的任务,元素上标为该任务分配值对应的处理器核;
[0036]周期性任务分配值计算单元:
[0037]利用凸优化算法计算使得系统执行周期性任务总能耗E
period
最小的各周期性任务的任务分配值
[0038]非周期性任务分配值计算单元:
[0039]利用凸优化算法计算使得系统总能耗E
total
最小的各非周期性任务的任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于凸优化的异构多核系统混合任务分配方法,其特征在于,包括:设置各处理器核为非周期任务预留的服务器带宽为非周期任务在执行效率最低的核上利用率之和与处理器核数的比值;利用凸优化算法计算使得系统总能耗E
total
最小的任务在各处理器核上的任务分配值将任务τ
i
分配给最大的处理器核π
j
;根据处理器核上各周期性任务的截止期限P
i
和该处理器上当前非周期性任务的截止期限d
i
,按照截止期限从早到晚的顺序,设置该处理器核上的任务执行顺序;其中,i为任务编号,j为处理器核编号。2.根据权利要求1所述的方法,其特征在于,所述计算使得系统总能耗E
total
最小的任务在各处理器核上的任务分配值包括:利用凸优化算法计算使得系统执行周期性任务总能耗E
period
最小的各周期性任务的任务分配值将该周期性任务在各处理器核上的中最大的设置为1;将该周期性任务在其他处理器核上的任务分配值设置为0;利用凸优化算法计算使得系统总能耗E
total
最小的各非周期性任务的任务分配值将该非周期性任务在各处理器核上的中最大的设置为1;将该非周期性任务在其他处理器核上的任务分配值设置为0。3.根据权利要求1所述的方法,其特征在于,所述当前非周期性任务的截止期限d
i
的计算方法包括:如果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;其中,所述Q
S
表示总带宽服务器调度算法TBS服务器的最大执行预算;T
S
表示TBS服务器的周期;d
i
‑1表示TBS服务器为非周期任务τ
i
‑1设定的截止期限;r
i
表示非周期任务τ
i
的到达时间;U
s
是TBS服务器为非周期任务预留的服务器带宽。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:设置未分配有非周期性任务的处理器核的工作频率设置分配有非周期性任务的处理器核的工作频率为,执行非周期性任务时该处理器的工作频率为该处理器核的最高工作频率;执行周期性任务时该处理器的工作频率其中,所述N为周期性任务数量,c
i
为任务τ
i
的最坏情况执行指令周期,为任务τ
i
在处理器π
j
上执行效率,max{}为取最大值计算,为处理器π
j
的最低工作频率。5.根据权利要求1~4中任一项所述的方法,其特征在于,所述工作频率为归一化频率;
其中,为处理器核π
j
的实际频率,是处理器π
j
的最高可选频率。6.一种基于凸优化的异构多核系统混合任务分配装置,其特征在于,包括:非周期性任务预留带宽计算模块,用于设置各处理器核为非周期任务预留的服务器带宽U
s
,U
s
为非周期任务在执行效率最低的核上的利用率之和与处理器核数的比值;任务分配模块,用于计算使得系统总能耗E
total
最小的各任务在各处理器核上的任务分配值将任务τ
i
分配给最大的处理器核π
j
;任务调度模块,用于根据处理器核上各周期性...

【专利技术属性】
技术研发人员:夏军吴向展尹鑫
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1