掌桥专利:专业的专利平台
掌桥专利
首页

异构多核系统的高能效安全感知任务调度方法和装置

文献发布时间:2024-04-18 19:58:30


异构多核系统的高能效安全感知任务调度方法和装置

技术领域

本发明属于计算机体系结构领域,具体涉及到一种异构多核系统的高能效安全感知任务调度方法和装置。

背景技术

异构多核系统包括多个处理器,能够同时执行不同类型的任务,对不同的任务,需要将其分配到合适的处理器来执行,任务分配算法是异构多核片上系统的一种重要的技术。

异构多核系统在嵌入式实时系统,物联网技术中有着广泛的应用。由于异构多核系统应用的设备需要接入通信网络,这也给予了网络攻击的可乘之机,网络安全攻击对个人隐私、数据安全等造成了严重威胁。这对异构多核系统提出了安全执行任务能力的需求,目前,系统一般都是通过对任务使用额外的安全服务来提供安全保护机制面对这些潜在的威胁,安全服务多用来防御多种攻击,例如关键字攻击、修改攻击和伪造攻击,从而实现机密性、身份验证和完整性的安全目标。

现有技术的异构多核片上系统任务分配方案中,常用的方法有启发式算法中的最小损失能耗密度(Least Loss Energy Density,LLED)算法和提升的最小损失能耗密度(Improved Least Loss Energy Density,ILLED)算法,以及近似算法中的简单取整算法(Relaxation-based Naive Rounding Algorithm,RNRA)等算法。

LLED算法和提升的ILLED算法均将系统能耗作为算法目标,任务模型可以考虑为帧任务和周期任务等独立任务集合,以任务分配到能耗小的核上为标准,但纯粹的追求较低的能耗而不考虑任务占用核上利用率,会使某些核负载过大,导致任务超过其截止期限,某些核却有较长的闲置时间。

RNRA算法将异构多核上的能耗优化问题建模为凸优化模型,相较于启发式算法通过更长的求解时间获得更好的节能效果,并且可以扩展到周期任务模型上。

上述技术方案应用在有安全服务需求的异构多核系统中时,LLED算法和ILLED算法安全服务质量较低,不能满足大多实际应用中的安全服务质量要求,RNRA虽然能够提供较高的安全服务质量,但任务分配时间较长,且任务分配失败率较高。

发明内容

为了解决现有技术中存在的上述问题,本发明提供了一种异构多核系统的高能效安全感知任务调度方法和装置,以实现在保证系统安全服务质量的前提下,提升系统效率。

本发明的异构多核系统的高能效安全感知任务调度方法包括:

步骤一,设置各任务的分配优先级,有安全服务需求任务,按照单位安全概率降序设置各任务分配优先级;无安全服务需求任务,按照执行效率差降序设置各任务分配优先级;有安全需求任务的分配优先级高于无安全需求的任务;

步骤二,按照分配优先级从高到低依次分配各任务,获得任务分配矩阵;

步骤三,计算使得系统总能耗不大于系统预算能耗,且满足系统任务截止时间的各任务的安全服务等级;

步骤四,对各任务的安全服务等级进行向下取整,获得各任务的取整后安全服务等级,利用所述安全服务等级和所述取整后安全服务等级计算各处理器核的剩余利用率;

步骤五,根据各处理器核的剩余利用率设置该处理器核上各任务的最终安全服务等级。

进一步的,所述步骤一包括:

依次选择未设置分配优先级的任务τ

如果τ

如果τ

根据各任务的

其中,所述λ

进一步的,所述步骤二包括:

选择分配优先级最高的待分配任务τ

将所述τ

获得任务分配矩阵Assign;

其中,

进一步的,所述步骤四包括:

计算处理器核π

对各任务的安全服务等级l

计算取整后的各处理器核的利用率u

计算各处理器核的剩余利用率u

u

其中,A

进一步的,所述步骤五包括:

按照任务分配优先级降序选择分配在处理器核π

设置τ

所述总能耗和剩余利用率条件为;

E

其中,所述E

本发明的异构多核系统的高能效安全感知任务调度装置包括:

任务分配优先级设置模块,用于设置各任务的分配优先级,有安全服务需求任务,按照单位安全概率降序设置各任务分配优先级;无安全服务需求任务,按照执行效率差降序设置各任务分配优先级;有安全需求任务的分配优先级高于无安全需求的任务;

任务分配模块,按照分配优先级从高到低依次分配各任务,获得任务分配矩阵;

任务安全服务等级计算模块,用于计算使得系统总能耗不大于系统预算能耗,且满足系统任务截止时间的各任务的安全服务等级;

剩余利用率计算模块,用于利用各任务的安全服务等级和取整后安全服务等级计算各处理器核的剩余利用率;

最终安全服务等级设置模块,用于根据各处理器核的剩余利用率设置该处理器核上各任务的最终安全服务等级。

进一步的,所述任务分配优先级设置模块包括:

第一任务选择单元,用于从任务集合中选择未设置分配优先级的任务τ

执行效率差计算单元,用于计算无安全需求任务的执行效率差

任务分配优先级设置单元,用于根据各任务的

其中,所述λ

进一步的,所述任务分配模块包括:

第二任务选择单元,用于从任务集合中选择分配优先级最高的待分配任务;

任务分配单元,用于将所述待分配任务分配给剩余利用率不小于该任务所需利用率的处理器核中执行效率最高的处理器核π

其中,矩阵元素

进一步的,所述剩余利用率计算模块包括:

利用率计算单元,用于各处理器核的利用率u

安全服务等级取整单元,用于对各任务的安全服务等级l

取整后利用率计算单元,用于计算取整后各处理器核的利用率u

剩余利用率计算单元,用于计算各处理器核的剩余利用率u

u

其中,A

进一步的,所述最终安全服务等级设置模块包括;

第三任务选择单元,用于按照任务分配优先级降序选择分配在处理器核π

最终安全服务等级设置单元,用于将任务τ

所述系统能耗和利用率条件为;

E

其中,所述E

本发明技术方案中,在进行异构多核系统任务调度时,对有安全服务需求和无安全服务需求的任务分别按照任务单位安全概率和任务执行效率差设定分配顺序,且优先分配有安全服务需求的任务,能有效保证系统安全服务质量。在满足各方约束和最大化安全服务质量条件下,通过对任务的安全服务等级进行取整,在保证了任务分配成功率的基础上,能有效降低系统复杂度和执行时间。在满足功耗约束和不超出核的利用率的前提下,通过提高任务安全服务等级,充分利用处理器核的利用率,进一步提升了系统的安全服务质量。

附图说明

图1是本发明具体实施例1方法流程图;

图2是本发明具体实施例2装置结构示意图;

图3是本发明具体实施例2任务分配优先级设置模块结构示意图;

图4是本发明具体实施例2剩余利用率计算模块结构示意图;

图5是本发明具体实施例2最终安全服务等级设置模块结构示意图。

具体实施方式

为了更好的说明本发明的技术方案,下面结合附图对本发明的具体实施方式进行详细描述。

本发明下述具体实施例中,系统处理器核集Π={π

具体实施例1

本实施例为本发明异构多核系统的高能效安全感知任务调度方法的一种优选实施方式。

参见图1,如图1所示,本实施例的方法包括:

S101、系统上电启动,待分配任务集Γ被分配到系统;

S102、设置Γ中各任务的分配优先级。

本实施例中,本步骤进一步包括:

S1021、依次选择未设置分配优先级的任务τ

S1022、计算任务τ

执行步骤S1024;

其中,所述λ

S1023、计算任务τ

其中,

重复执行步骤S1021~S1023,直到完成所有任务的

S1024、根据各任务的

有安全服务需求任务,单位安全概率大的任务的分配优先级高,单位安全概率小的任务的分配优先级低;

无安全服务需求任务,执行效率差大的任务的分配优先级高,执行效率差小的任务的分配优先级低;

有安全需求任务的分配优先级高于无安全需求的任务。

S103、按照分配优先级从高到低依次选择待分配的任务τ

本实施例中,本步骤进一步包括:

S1031、选择分配优先级最高的待分配任务τ

S1032、将所述τ

重复执行本步骤直至完成所有任务分配,获得任务分配矩阵Assign;

其中,矩阵元素

S104、计算使得系统总能耗不大于系统预算能耗,且满足系统任务截止时间的各任务的安全服务等级l

其中,l

本具体实施中,本步骤的具体求解方法可以使用2014年08月06日出版的湖北工程学院学报(2014年第3期)所刊载的论文《基于Yalmip工具箱的整数规划模型求解方法》所公开的方法,使用凸优化求解工具yalmip来求解各任务的l

S105、计算各处理器核的剩余利用率u

本具体实施例中,本步骤可进一步包括:

S1051、计算处理器核π

其中,A

S1052、对L={l

S1053、计算取整后的各处理器核的利用率u

S1054、计算各处理器核的剩余利用率;

u

S106、根据各处理器核的剩余利用率设置该处理器核上有安全服务需求的任务的最终安全服务等级

本具体实施例中,本步骤可进一步包括:

S1061、在处理器核π

S1062、设置τ

S1063、判断系统总能耗和剩余利用率是否满足:

E

如果是,执行步骤S1065,否则,执行步骤S1064;

其中,系统总能耗E

S1064、将τ

S1065、设置τ

S1066、更新π

重复执行步骤S106,直到完成所有处理器核上所有有安全服务需求任务的最终安全服务等级设置,得到各任务的最终安全服务等级集合

S107、设置各处理器核的执行频率

具体实施例2

本实施例为本发明异构多核系统的高能效安全感知任务调度装置的一种优选实现方案。

参见图2,如图2所示,本实施例的装置包括:

任务分配优先级设置模块,用于根据有安全服务需求任务的单位安全概率和无安全服务需求任务的执行效率差为各任务设置分配优先级;

参见图3,如图3所示,本实施例中,本模块可以进一步包括:

第一任务选择单元,用于从任务集合中选择未设置分配优先级的任务τ

其中λ

执行效率差计算单元,用于计算无安全需求任务的执行效率差

其中,

任务分配优先级设置单元,用于设置各任务的分配优先级;

有安全服务需求任务,单位安全概率大的任务的分配优先级高,单位安全概率小的任务的分配优先级低;

无安全服务需求任务,执行效率差大的任务的分配优先级高,执行效率差小的任务的分配优先级低;

有安全需求任务的分配优先级高于无安全需求的任务。

任务分配模块,用于按照分配优先级从高到低依次选择待分配的任务分配到各处理器核;

本实施例中,本模块可进一步包括:

第二任务选择单元,用于从任务集合中选择分配优先级最高的待分配任务;

任务分配单元,用于将所述待分配任务分配给剩余利用率不小于该任务所需利用率的处理器核中执行效率最高的处理器核π

其中,矩阵元素

任务安全服务等级计算模块,用于计算使得系统总能耗不大于系统预算能耗,且满足系统任务截止时间的各任务的安全服务等级l

本实施例中,本模块可以采用凸优化算法来求解各任务的安全服务等级,具体方法可以与具体实施例1中步骤S104中的方法相同,在此不再赘述。

剩余利用率计算模块,用于计算各处理器核的剩余利用率u

参见图4,如图4所示,本具体实施例中,本模块可以进一步包括:

利用率计算单元,用于各处理器核的利用率u

其中,A

安全服务等级取整单元,用于对L

取整后利用率计算单元,用于计算安全服务等级向下取整后的各处理器核的利用率u

剩余利用率计算单元,用于计算各处理器核的剩余利用率;

u

最终安全服务等级设置模块,用于根据各处理器核的剩余利用率设置该处理器核上有安全服务需求任务的最终安全服务等级

参见图5,如图5所示,本具体实施例中,本模块可进一步包括:

第三任务选择单元,用于在处理器核π

最终安全服务等级设置单元,用于将任务τ

其中,所述系统能耗和利用率条件为:

E

其中,系统总能耗E

剩余利用率更新单元,用于更新处理器核π

执行频率设置模块,用于设置各处理器核的执行频率

本发明上述实施例提供的技术方案中,在进行异构多核系统任务调度时,对有安全服务需求和无安全服务需求的任务分别按照任务单位安全概率和任务执行效率差设定分配顺序,且优先分配有安全服务需求的任务。能有效保证系统安全服务质量。在满足各方约束和最大化安全服务质量条件下对任务的安全服务等级进行取整,在保证了任务分配成功率的基础上,能有效降低系统复杂度和执行时间。在优选实现方案中,对仍有剩余利用率的核,在满足功耗约束和不超出核的利用率的前提下,通过提高任务的安全服务等级,充分利用处理器核的利用率,进一步提升了系统的安全服务质量。

需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

技术分类

06120116501711