CN114461370A - 一种面向物联网的安全关键任务调度方法及系统 - Google Patents

一种面向物联网的安全关键任务调度方法及系统 Download PDF

Info

Publication number
CN114461370A
CN114461370A CN202210381235.4A CN202210381235A CN114461370A CN 114461370 A CN114461370 A CN 114461370A CN 202210381235 A CN202210381235 A CN 202210381235A CN 114461370 A CN114461370 A CN 114461370A
Authority
CN
China
Prior art keywords
task
solution
solution set
feasible
iterative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210381235.4A
Other languages
English (en)
Other versions
CN114461370B (zh
Inventor
曹坤
陈冠宗
翁健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan University
Original Assignee
Jinan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN202210381235.4A priority Critical patent/CN114461370B/zh
Publication of CN114461370A publication Critical patent/CN114461370A/zh
Application granted granted Critical
Publication of CN114461370B publication Critical patent/CN114461370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种面向物联网的安全关键任务调度方法及系统,包括,获取任务参数、处理器参数及任务集合,基于任务集合生成初始解集合,基于所述任务参数及处理器参数对初始解集合进行约束,生成优化解集合,通过迭代计算对所述优化解集合进行优化,得到静态调度表,基于静态调度表及任务集合生成动态调度表,以实现物联网的安全关键任务调度。本发明在满足系统生命周期、任务的安全性需求和时间约束的条件下,通过为实时任务选择最优的处理器和工作频率,来最小化系统的总能耗。

Description

一种面向物联网的安全关键任务调度方法及系统
技术领域
本发明涉及任务调度技术领域,特别涉及一种面向物联网的安全关键任务调度方法及系统。
背景技术
随着信息技术的飞速发展,多核处理器系统已经逐步取代了传统的单核处理器系统,广泛应用于智能交通、智能家居、医疗和环境监控等诸多物联网场景中。与此同时,由于物联网应用较为开放的部署环境,近年来物联网安全事件频发。国际数据公司(International Data Corporation,IDC)在2022年发布的一份报告显示,全球67% 的企业和 82% 的医疗保健组织都经历过物联网安全事件,针对物联网关键基础设施的网络攻击同比增长 2000%。因此,在满足物联网应用安全需求的前提下,最大程度地降低任务的能耗,已经成为一个非常重要的研究课题。
在尝试降低物联网应用的能耗和增强物联网应用的安全级别方面,现有的任务调度技术忽视了对多核处理器系统生命周期的负面影响,导致系统经常产生一些无法预估的硬件错误,极大地降低了系统的可靠性。目前,针对异构多核处理器系统的研究,均未同时考虑到物联网应用的安全性需求和处理器的生命周期需求。因此,迫切需要对异构多核处理器进行安全性和生命周期控制的研究,充分发挥异构多核处理器的优越性,最大限度地提高系统的性能,即在满足截止期限、安全性和生命周期约束的前提下,最小化系统的总能耗。
发明内容
为解决上述现有技术中所存在的问题,本发明提供一种面向物联网的安全关键实时任务调度方法及系统,本发明在满足系统生命周期、任务的安全性需求和时间约束的条件下,通过为实时任务选择最优的处理器和工作频率,来最小化系统的总能耗。
为了实现上述技术目的,本发明提供了如下技术方案:
一种面向物联网的安全关键任务调度方法,包括:
获取任务参数、处理器参数及任务集合,基于任务集合生成初始解集合,基于所述任务参数及处理器参数对初始解集合进行约束,生成优化解集合,
通过迭代计算对所述优化解集合进行优化,得到静态调度表,基于静态调度表及任务集合生成动态调度表,以实现物联网的安全关键任务调度。
可选的,所述优化解集合的生成过程包括:
基于任务集合随机生成初始解集合,根据所述任务参数及处理器参数分别构建期限约束、安全等级约束及生命周期约束,通过期限约束、安全等级约束及生命周期约束对所述初始解集合进行约束,得到优化解集合。
可选的,所述静态调度表的获取过程包括:
S11构建迭代解集合,将所述优化解集合赋值给迭代解集合;
S12计算迭代解集合中的可行解的能耗,并根据能耗从低到高的顺序,对迭代解集合中的可行解进行降序排序;
S13选取排序结果中前
Figure 701515DEST_PATH_IMAGE001
的可行解,其中p为设定常数;
S14随机选取排序结果中前
Figure 55136DEST_PATH_IMAGE001
的可行解中的一个可行解作为初始优化 解;
S15基于迭代解集合选取最优可行解和次有可行解;
S16根据初始优化解、最优可行解和次优可行解,对迭代解集合中的单个可行解进行计算获取突变个体;
S17基于突变个体及迭代解集合中的单个可行解,构建后代解集合,并对后代解集合中的下一个可行解通过步骤S16进行更新;
S18通过重复步骤S16-S17,将所述迭代更新完成后的后代解集合赋值给迭代解集合;
S19通过重复步骤S12-S18,直到满足迭代终止条件,输出最优方案作为静态调度表。
可选的,所述动态调度表获取过程包括:
S21基于静态调度表,获取任务集合中当前任务的指令周期及开始执行时间;
S22设置标志位并初始化标志位为正确;
S23对所述标志位进行判断,当所述标志位为正确时,判断工作频率是否为1,若工作频率为1则更新标志位为错误,若工作频率不为1时,则执行步骤S24,其中标志位为错误时,任务调度结束,生成所述动态调度表;
S24计算当前任务的时间开销,基于当前任务的时间开销及当前任务的开始时间计算得到当前任务的完成时间;
S25对当前任务的完成时间进行截止期限判断,若所述当前任务的完成时间大于截止期限,则获取所述当前任务的工作频率,否则所述标志位更新为错误,并执行步骤S23-S24,对下一任务进行时间开销计算;
S26通过重复步骤S23-S25,直到任务集合中任务个数与重复次数相同时,则任务调度结束,生成所述动态调度表。
为了更好的实现上述技术目的,本发明还提供了一种面向物联网的安全关键任务调度系统,包括,
获取模块,处理模块
获取模块用于获取任务参数、处理器参数及任务集合,基于任务集合生成初始解集合,基于所述任务参数及处理器参数对初始解集合进行约束,生成优化解集合,
处理模块用于通过迭代计算对所述优化解集合进行优化,得到静态调度表,基于静态调度表及任务集合生成动态调度表,以实现物联网的安全关键任务调度。
可选的,所述获取模块包括第一获取模块,其中第一获取模块基于任务集合随机生成初始解集合,根据所述任务参数及处理器参数分别构建期限约束、安全等级约束及生命周期约束,通过期限约束、安全等级约束及生命周期约束对所述初始解集合进行约束,得到优化解集合。
可选的,所述处理模块包括第一处理模块,其中第一处理模块用于获取静态调度表,其中所述静态调度表的获取过程包括:
S11构建迭代解集合,将所述优化解集合赋值给迭代解集合;
S12计算迭代解集合中的可行解的能耗,并根据能耗从低到高的顺序,对迭代解集合中的可行解进行降序排序;
S13选取排序结果中前
Figure 181223DEST_PATH_IMAGE001
的可行解,其中p为设定常数;
S14随机选取排序结果中前
Figure 176861DEST_PATH_IMAGE001
的可行解中的一个可行解作为初始优化 解;
S15基于迭代解集合选取最优可行解和次有可行解;
S16根据初始优化解、最优可行解和次优可行解,对迭代解集合中的单个可行解进行计算获取突变个体;
S17基于突变个体及迭代解集合中的单个可行解,构建后代解集合,并对后代解集合中的下一个可行解通过步骤S16进行更新;
S18通过重复步骤S16-S17,将所述迭代更新完成后的后代解集合赋值给迭代解集合;
S19通过重复步骤S12-S18,直到满足迭代终止条件,输出最优方案作为静态调度表。
可选的,所述处理模块包括第二处理模块,其中第二处理模块用于获取动态调度表,所述动态调度表获取过程包括:
S21基于静态调度表,获取任务集合中当前任务的指令周期及开始执行时间;
S22设置标志位并初始化标志位为正确;
S23对所述标志位进行判断,当所述标志位为正确时,判断工作频率是否为1,若工作频率为1则更新标志位为错误,若工作频率不为1时,则执行步骤S24,其中标志位为错误时,任务调度结束,生成所述动态调度表;
S24计算当前任务的时间开销,基于当前任务的时间开销及当前任务的开始时间计算得到当前任务的完成时间;
S25对当前任务的完成时间进行截止期限判断,若所述当前任务的完成时间大于截止期限,则获取所述当前任务的工作频率,否则所述标志位更新为错误,并执行步骤S23-S24,对下一任务进行时间开销计算;
S26通过重复步骤S23-S25,直到任务集合中任务个数与重复次数相同时,则任务调度结束,生成所述动态调度表。
本发明具有如下技术效果:
本发明同时考虑到物联网应用的安全性需求和多核处理器系统的生命周期需求,通过静态调度和动态调度相结合的方式,为物联网应用的每个任务选择合适的处理器和工作频率,从而实现任务能耗最小化。本发明对于嵌入式实时系统具有很高的应用价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的流程图;
图2为本发明实施例提供的在针对不同任务个数与基准算法在降低仿真应用能耗方面的比较图;
图3为本发明实施例提供的在针对不同任务个数与基准算法在提高仿真应用可调度性方面的比较图;
图4为本发明实施例提供的在针对不同任务个数与基准算法在降低推导出仿真应用调度方案运行时间方面的比较图;
图5为本发明实施例提供的针对不同应用与基准算法在降低真实应用能耗方面的比较图;
图6为本发明实施例提供的针对不同应用与基准算法在提高真实应用可调度性方面的比较图;
图7为本发明实施例提供的针对不同应用与基准算法在降低推导出真实应用调度方案运行时间方面的比较图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所述,本发明提供了一种面向物联网的安全关键实时任务调度方法,现将技术方案进行具体说明,包括以下步骤:
步骤1:读取系统中的任务参数和处理器参数其中任务参数包括任务的指令周期,处理器参数包括处理器的工作电压和频率;
步骤2:将任务队列里存储的任务进行初始化;
步骤3:对任务队列里的任务生成静态调度表;
步骤4:对任务队列里的任务生成动态调度表;
步骤5:输出动态调度表,调度结束。
所述步骤2中将任务队列里存储的应用进行初始化,具体包括:
步骤A1:针对任务队列里的任务
Figure 580161DEST_PATH_IMAGE002
,随机生成优化问题的解 集合
Figure 370262DEST_PATH_IMAGE003
,其中
Figure 983646DEST_PATH_IMAGE004
均为优化问题的解,
Figure 517396DEST_PATH_IMAGE005
为解的个数,
Figure 103098DEST_PATH_IMAGE006
为 应用的个数;具体的优化问题为能耗最小的任务调度方案,其中解的参数包括任务的开始 执行时间,任务分配到哪个处理器的核心进行工作,任务的工作频率及任务的安全等级。
步骤A2:判断解集合
Figure 1784DEST_PATH_IMAGE007
中的任意一个解是否满足了截止期 限约束,如果不满足,则将该解从解集合
Figure 102464DEST_PATH_IMAGE008
中删除,截止期限约束的判断公式为
Figure 846429DEST_PATH_IMAGE009
,其中
Figure 286637DEST_PATH_IMAGE010
表示任务
Figure 215279DEST_PATH_IMAGE011
在核心
Figure 413042DEST_PATH_IMAGE012
上以第
Figure 350911DEST_PATH_IMAGE013
个安全等级、第
Figure 317730DEST_PATH_IMAGE014
个工作频率运行时的结束时间,
Figure 886115DEST_PATH_IMAGE015
为任务
Figure 430229DEST_PATH_IMAGE016
的截止期 限,
Figure 47155DEST_PATH_IMAGE017
为处理器核心的总个数,
Figure 993114DEST_PATH_IMAGE018
为核心
Figure 732400DEST_PATH_IMAGE019
工作频率的总个数,
Figure 639176DEST_PATH_IMAGE020
为可供任务
Figure 918848DEST_PATH_IMAGE021
选择的 安全等级的总个数;
步骤A3:判断解集合
Figure 860259DEST_PATH_IMAGE022
中的任意一个解是否满足了系统安全 等级的约束,如果不满足,则将该解从解集合
Figure 770446DEST_PATH_IMAGE023
中删除,系统安全等级的判断公式为
Figure 289152DEST_PATH_IMAGE024
,其中,
Figure 247881DEST_PATH_IMAGE025
为系统指定的安全阈值,
Figure 902853DEST_PATH_IMAGE026
为当前系统的安全等级,
Figure 656046DEST_PATH_IMAGE027
为一个二元决策变量,如果任务
Figure 888748DEST_PATH_IMAGE028
在核心
Figure 775801DEST_PATH_IMAGE029
上以第
Figure 426225DEST_PATH_IMAGE030
个安全等级、第
Figure 209373DEST_PATH_IMAGE031
个工作频率运行,则取值为1,否则为0,
Figure 905934DEST_PATH_IMAGE032
为任务
Figure 206465DEST_PATH_IMAGE033
在核心
Figure 101609DEST_PATH_IMAGE034
上以 第
Figure 258921DEST_PATH_IMAGE035
个安全等级、第
Figure 380461DEST_PATH_IMAGE031
个工作频率运行时的安全等级;
步骤A4:判断解集合
Figure 343737DEST_PATH_IMAGE036
中的任意一个解是否满足了系统生命 周期的约束,如果不满足,则将该解从解集合
Figure 703175DEST_PATH_IMAGE037
中删除,系统生命周期的判断公式为
Figure 93705DEST_PATH_IMAGE038
,其中
Figure 499278DEST_PATH_IMAGE039
表示系统生命周期的阈值,
Figure 407191DEST_PATH_IMAGE040
分别为核心
Figure 11348DEST_PATH_IMAGE041
的生命周期;
步骤A5:更新此时解集合
Figure 448146DEST_PATH_IMAGE042
的可行解的总数
Figure 341015DEST_PATH_IMAGE005
所述步骤3中对任务队列里的应用生成静态任务调度表,具体包括:
步骤B1:将迭代计数器
Figure 911674DEST_PATH_IMAGE043
赋值为1,即
Figure 573599DEST_PATH_IMAGE044
步骤B2:将解集合
Figure 181298DEST_PATH_IMAGE045
赋值给第
Figure 358202DEST_PATH_IMAGE043
次迭代获得的解集合
Figure 342338DEST_PATH_IMAGE046
,即
Figure 921087DEST_PATH_IMAGE047
步骤B3:根据能耗从低到高的顺序,对解集合
Figure 27583DEST_PATH_IMAGE048
中的可行解 进行降序排序;
步骤B4:对于解集合
Figure 567149DEST_PATH_IMAGE049
,选取出性能位于前
Figure 479610DEST_PATH_IMAGE050
的 解,其中
Figure 116128DEST_PATH_IMAGE051
为一个给定常数;
步骤B5:对于性能位于前
Figure 331209DEST_PATH_IMAGE050
的解,随机选取其中的一个可行解,记该解为
Figure 217125DEST_PATH_IMAGE052
步骤B6:对于解集合
Figure 870960DEST_PATH_IMAGE053
,选取出可行解
Figure 34088DEST_PATH_IMAGE054
和次优的可行解
Figure 544704DEST_PATH_IMAGE055
,其中
Figure 386758DEST_PATH_IMAGE056
步骤B7:将解索引位
Figure 516388DEST_PATH_IMAGE057
赋值为1,即
Figure 658657DEST_PATH_IMAGE058
步骤B8:运用柯西分布计算出变异系数
Figure 543436DEST_PATH_IMAGE059
,计算公式为:
Figure 279311DEST_PATH_IMAGE060
, 其中
Figure 337265DEST_PATH_IMAGE061
是一个常数,
Figure 209407DEST_PATH_IMAGE062
为第
Figure 265087DEST_PATH_IMAGE063
代进化成功的突变系数均值,
Figure 612892DEST_PATH_IMAGE064
表示参数 为
Figure 84325DEST_PATH_IMAGE065
和0.1的柯西分布;当g为1时,
Figure 201185DEST_PATH_IMAGE066
任意选择的一个常数。
步骤B9:利用正态分布推导出交叉概率
Figure 693346DEST_PATH_IMAGE067
,公式为
Figure 934972DEST_PATH_IMAGE068
, 其中
Figure 69150DEST_PATH_IMAGE069
表示均值为
Figure 774938DEST_PATH_IMAGE070
,方差为0.1的正态分布,
Figure 844525DEST_PATH_IMAGE071
为第
Figure 635763DEST_PATH_IMAGE063
代交叉成功概 率的算数平均值;当g为1时,
Figure 511316DEST_PATH_IMAGE072
任意选择的一个常数。
步骤B10:利用公式:
Figure 868348DEST_PATH_IMAGE073
计算出 个体
Figure 171153DEST_PATH_IMAGE074
的突变个体
Figure 121791DEST_PATH_IMAGE075
步骤B11:利用公式
Figure 801034DEST_PATH_IMAGE076
,创建解集合
Figure 12573DEST_PATH_IMAGE077
的后代
Figure 423963DEST_PATH_IMAGE078
, 其中
Figure 658635DEST_PATH_IMAGE079
表示突变向量中第
Figure 672727DEST_PATH_IMAGE080
个元素,
Figure 879718DEST_PATH_IMAGE081
Figure 321063DEST_PATH_IMAGE082
均为随机选取的常数,
Figure 43032DEST_PATH_IMAGE083
是指在第
Figure 736181DEST_PATH_IMAGE043
代 迭代的交叉概率;
步骤B12:更新当前的解索引位
Figure 922312DEST_PATH_IMAGE084
,如果h不大于可行解总个数H,转步骤 B8,该步骤将解集合中的不同可行解逐个进行更新;
步骤B13:判断迭代终止条件是否满足,迭代终止条件为当前迭代计数器
Figure 675504DEST_PATH_IMAGE043
是否小 于给定的迭代计数器阈值,如果满足,输出迭代完成后的解集合中的不同可行解进行能耗 计算,将能耗最小的方案作为最优方案,输出此时的一个最优方案作为静态调度表,其中静 态调度表为单个可行解,记为
Figure 884769DEST_PATH_IMAGE085
,否则更新迭代计数器
Figure 240664DEST_PATH_IMAGE086
所述步骤4中对任务队列里的应用生成动态调度表,具体包括:
步骤C1:初始化
Figure 156667DEST_PATH_IMAGE087
步骤C2:读取任务
Figure 205395DEST_PATH_IMAGE088
在核心
Figure 574059DEST_PATH_IMAGE089
上运行时的指令周期
Figure 936907DEST_PATH_IMAGE090
和开始执行时间
Figure 566472DEST_PATH_IMAGE091
步骤C3:初始化标志位
Figure 927046DEST_PATH_IMAGE092
步骤C4:当
Figure 907640DEST_PATH_IMAGE093
成立时,进一步判断关于核心工作频率的条件
Figure 808600DEST_PATH_IMAGE094
是 否成立,如果是,则更新标志位
Figure 433617DEST_PATH_IMAGE095
,任务调度结束;否则,执行步骤C5;
步骤C5:计算任务
Figure 824147DEST_PATH_IMAGE096
在核心
Figure 167403DEST_PATH_IMAGE097
上以第
Figure 137633DEST_PATH_IMAGE098
个频率运行时的时间开销
Figure 741790DEST_PATH_IMAGE099
;其中, 根据任务
Figure 178588DEST_PATH_IMAGE096
在核心
Figure 133774DEST_PATH_IMAGE097
上运行时的指令周期
Figure 48640DEST_PATH_IMAGE100
,计算任务
Figure 976145DEST_PATH_IMAGE096
在核心
Figure 708478DEST_PATH_IMAGE097
上以第
Figure 760747DEST_PATH_IMAGE098
个 频率运行时的时间开销
Figure 869518DEST_PATH_IMAGE101
,公式为指令周期
Figure 323633DEST_PATH_IMAGE102
Figure 430129DEST_PATH_IMAGE098
个频率
Figure 94329DEST_PATH_IMAGE103
步骤C5:更新任务
Figure 616577DEST_PATH_IMAGE096
的开始执行时间
Figure 315412DEST_PATH_IMAGE104
步骤C6:更新任务
Figure 264913DEST_PATH_IMAGE096
的完成时间
Figure 354092DEST_PATH_IMAGE105
步骤C7:判断任务完成时间
Figure 804665DEST_PATH_IMAGE106
是否不大于截止期限
Figure 233372DEST_PATH_IMAGE107
,如果是,更新任 务
Figure 478408DEST_PATH_IMAGE096
的工作频率
Figure 992566DEST_PATH_IMAGE108
,转步骤C4;否则,更新迭代标志
Figure 184513DEST_PATH_IMAGE109
步骤C8:更新
Figure 350219DEST_PATH_IMAGE110
步骤C9:判断
Figure 172682DEST_PATH_IMAGE111
是否成立,如果成立,转步骤C2,否则,任务调度结束,并生成 动态调度表。
下面通过实验来验证本发明的有效性。实施过程中,选用包含Intel Core Duo处理器,Intel Xton处理器,AMD Athlon处理器和TIDSP处理器的多核处理器系统作为硬件平台。在第一组实验中,利用仿真应用生成工具TGFF随机生成5个仿真应用程序,每个仿真应用程序的任务数在100到140之间,步长设置为10。在第二组实验中,选择5个现实生活中的真实应用程序,它们的参数如表1所示。在两组实验中,均使用由六种不同的密码算法组成的标准安全集来保证满足安全性约束条件。各加密算法的执行时间(ms/KB)、能耗(mJ/KB)等关键参数如表2所示。
Figure 33190DEST_PATH_IMAGE112
Figure 763249DEST_PATH_IMAGE113
图2给出了本发明和四个基准方案所实现在降低仿真应用程序能量消耗的实验结 果。其中,单个应用程序的能耗被归一化到
Figure 900969DEST_PATH_IMAGE114
区间内,图中的每个数据结点为10000个模 拟实验的平均值。如图2所示,本发明可以显著地降低仿真应用的能源消耗。在例如,在将任 务数设置为100时,使用本发明与基准方案BTEM、SCEA、CEMH相比分别节能
Figure 753388DEST_PATH_IMAGE115
图3给出了执行仿真应用程序时不同算法的调度可行性。如图3所示,本发明可实现100%的调度可行性,相反,其他四种方案并不能保证进度的可行性。
图4给出了执行仿真应用程序时不同算法的运行时间,如图4所示,本发明拥有最 短的运行时间。例如,本发明与BTEM、SCEA、CEMH在第四个数据结点的运行时间分别是
Figure 976559DEST_PATH_IMAGE116
,计算出本发明实现了高达1.64倍的加速比。
图5给出了在执行真实应用程序CyberShake、Montage、Inspiral、Sipht、 Epigenomics能量消耗情况。图5中的结果验证了本发明在实现节能方面的有效性。以第五 组数据为例,本发明与BTEM、SCEA、CEMH相比可实现分别节能
Figure 572625DEST_PATH_IMAGE117
图6给出了运行真实应用程序时不同算法的调度可行性。从图中可以看出,本发明能够将调度可行性提高了47.06%。例如,在运行应用程序Sipht时,本发明和基准方案SCEA的进度可行性分别是100%和68%。
图7比较了运行真实应用程序时不同算法的运行时间。如图所示,本发明提大大减少了推导出能耗最优解的时间开销。例如,在运行应用程序Sipht时,本分明和基准测试方案CEMH的运行时间分别是0.57和0.72。
通过上述的实验数据,能够很清楚的看出本发明在满足截止时间、安全性和生命周期约束的情况下,实现多核处理器能耗最小化。
为了更好的实现上述技术目的,本发明还提供了一种面向物联网的安全关键任务调度系统,包括,获取模块,处理模块
获取模块用于获取任务参数、处理器参数及任务集合,基于任务集合生成初始解集合,基于所述任务参数及处理器参数对初始解集合进行约束,生成优化解集合,
处理模块用于通过迭代计算对所述优化解集合进行优化,得到静态调度表,基于静态调度表及任务集合生成动态调度表,以实现物联网的安全关键任务调度。该系统技术内容与上述方法技术内容相对应,此处不做赘述。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (8)

1.一种面向物联网的安全关键任务调度方法,其特征在于,包括:
获取任务参数、处理器参数及任务集合,基于任务集合生成初始解集合,基于所述任务参数及处理器参数对初始解集合进行约束,生成优化解集合;
通过迭代计算对所述优化解集合进行优化,得到静态调度表,基于静态调度表及任务集合生成动态调度表,以实现物联网的安全关键任务调度。
2.根据权利要求1所述面向物联网的安全关键任务调度方法,其特征在于:
所述优化解集合的生成过程包括:
基于任务集合随机生成初始解集合,根据所述任务参数及处理器参数分别构建期限约束、安全等级约束及生命周期约束,通过期限约束、安全等级约束及生命周期约束对所述初始解集合进行约束,得到优化解集合。
3.根据权利要求1所述面向物联网的安全关键任务调度方法,其特征在于:
所述静态调度表的获取过程包括:
S11构建迭代解集合,将所述优化解集合赋值给迭代解集合;
S12计算迭代解集合中的可行解的能耗,并根据能耗从低到高的顺序,对迭代解集合中的可行解进行降序排序;
S13选取排序结果中前
Figure 796475DEST_PATH_IMAGE001
的可行解,其中p为设定常数;
S14随机选取排序结果中前
Figure 510353DEST_PATH_IMAGE001
的可行解中的一个可行解作为初始优化解;
S15基于迭代解集合选取最优可行解和次有可行解;
S16根据初始优化解、最优可行解和次优可行解,对迭代解集合中的单个可行解进行计算获取突变个体;
S17基于突变个体及迭代解集合中的单个可行解,构建后代解集合,并对后代解集合中的下一个可行解通过步骤S16进行更新;
S18通过重复步骤S16-S17,将所述迭代更新完成后的后代解集合赋值给迭代解集合;
S19通过重复步骤S12-S18,直到满足迭代终止条件,输出最优方案作为静态调度表。
4.根据权利要求1所述面向物联网的安全关键任务调度方法,其特征在于:
所述动态调度表获取过程包括:
S21基于静态调度表,获取任务集合中当前任务的指令周期及开始执行时间;
S22设置标志位并初始化标志位为正确;
S23对所述标志位进行判断,当所述标志位为正确时,判断工作频率是否为1,若工作频率为1则更新标志位为错误,若工作频率不为1时,则执行步骤S24,其中标志位为错误时,任务调度结束,生成所述动态调度表;
S24计算当前任务的时间开销,基于当前任务的时间开销及当前任务的开始时间计算得到当前任务的完成时间;
S25对当前任务的完成时间进行截止期限判断,若所述当前任务的完成时间大于截止期限,则获取所述当前任务的工作频率,否则所述标志位更新为错误,并执行步骤S23-S24,对下一任务进行时间开销计算;
S26通过重复步骤S23-S25,直到任务集合中任务个数与重复次数相同时,则任务调度结束,生成所述动态调度表。
5.一种面向物联网的安全关键任务调度系统,其特征在于:包括,
获取模块,处理模块
获取模块用于获取任务参数、处理器参数及任务集合,基于任务集合生成初始解集合,基于所述任务参数及处理器参数对初始解集合进行约束,生成优化解集合;
处理模块用于通过迭代计算对所述优化解集合进行优化,得到静态调度表,基于静态调度表及任务集合生成动态调度表,以实现物联网的安全关键任务调度。
6.根据权利要求5所述面向物联网的安全关键任务调度系统,其特征在于:
所述获取模块包括第一获取模块,其中第一获取模块基于任务集合随机生成初始解集合,根据所述任务参数及处理器参数分别构建期限约束、安全等级约束及生命周期约束,通过期限约束、安全等级约束及生命周期约束对所述初始解集合进行约束,得到优化解集合。
7.根据权利要求5所述面向物联网的安全关键任务调度系统,其特征在于:
所述处理模块包括第一处理模块,其中第一处理模块用于获取静态调度表,其中所述静态调度表的获取过程包括:
S11构建迭代解集合,将所述优化解集合赋值给迭代解集合;
S12计算迭代解集合中的可行解的能耗,并根据能耗从低到高的顺序,对迭代解集合中的可行解进行降序排序;
S13选取排序结果中前
Figure 758931DEST_PATH_IMAGE001
的可行解,其中p为设定常数;
S14随机选取排序结果中前
Figure 13195DEST_PATH_IMAGE001
的可行解中的一个可行解作为初始优化解;
S15基于迭代解集合选取最优可行解和次有可行解;
S16根据初始优化解、最优可行解和次优可行解,对迭代解集合中的单个可行解进行计算获取突变个体;
S17基于突变个体及迭代解集合中的单个可行解,构建后代解集合,并对后代解集合中的下一个可行解通过步骤S16进行更新;
S18通过重复步骤S16-S17,将所述迭代更新完成后的后代解集合赋值给迭代解集合;
S19通过重复步骤S12-S18,直到满足迭代终止条件,输出最优方案作为静态调度表。
8.根据权利要求5所述面向物联网的安全关键任务调度系统,其特征在于:
所述处理模块包括第二处理模块,其中第二处理模块用于获取动态调度表,所述动态调度表获取过程包括:
S21基于静态调度表,获取任务集合中当前任务的指令周期及开始执行时间;
S22设置标志位并初始化标志位为正确;
S23对所述标志位进行判断,当所述标志位为正确时,判断工作频率是否为1,若工作频率为1则更新标志位为错误,若工作频率不为1时,则执行步骤S24,其中标志位为错误时,任务调度结束,生成所述动态调度表;
S24计算当前任务的时间开销,基于当前任务的时间开销及当前任务的开始时间计算得到当前任务的完成时间;
S25对当前任务的完成时间进行截止期限判断,若所述当前任务的完成时间大于截止期限,则获取所述当前任务的工作频率,否则所述标志位更新为错误,并执行步骤S23-S24,对下一任务进行时间开销计算;
S26通过重复步骤S23-S25,直到任务集合中任务个数与重复次数相同时,则任务调度结束,生成所述动态调度表。
CN202210381235.4A 2022-04-13 2022-04-13 一种面向物联网的安全关键任务调度方法及系统 Active CN114461370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210381235.4A CN114461370B (zh) 2022-04-13 2022-04-13 一种面向物联网的安全关键任务调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210381235.4A CN114461370B (zh) 2022-04-13 2022-04-13 一种面向物联网的安全关键任务调度方法及系统

Publications (2)

Publication Number Publication Date
CN114461370A true CN114461370A (zh) 2022-05-10
CN114461370B CN114461370B (zh) 2022-07-01

Family

ID=81418679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210381235.4A Active CN114461370B (zh) 2022-04-13 2022-04-13 一种面向物联网的安全关键任务调度方法及系统

Country Status (1)

Country Link
CN (1) CN114461370B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235743A (zh) * 2013-04-07 2013-08-07 北京航空航天大学 一种基于分解和最优解跟随策略的多目标测试任务调度方法
US20150294071A1 (en) * 2012-11-23 2015-10-15 Agfa Healthcare Method and computer program for resource scheduling
US20180276556A1 (en) * 2017-03-22 2018-09-27 Accenture Global Solutions Limited Multi-state quantum optimization engine
CN109960576A (zh) * 2019-03-29 2019-07-02 北京工业大学 一种面向cpu-gpu异构的低能耗任务调度策略
CN111984426A (zh) * 2020-10-09 2020-11-24 中国平安人寿保险股份有限公司 任务调度方法、装置、电子设备及存储介质
CN113505931A (zh) * 2021-07-19 2021-10-15 温州大学 一种基于遗传算法的充电机器人动态调度优化方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150294071A1 (en) * 2012-11-23 2015-10-15 Agfa Healthcare Method and computer program for resource scheduling
CN103235743A (zh) * 2013-04-07 2013-08-07 北京航空航天大学 一种基于分解和最优解跟随策略的多目标测试任务调度方法
US20180276556A1 (en) * 2017-03-22 2018-09-27 Accenture Global Solutions Limited Multi-state quantum optimization engine
CN108629420A (zh) * 2017-03-22 2018-10-09 埃森哲环球解决方案有限公司 多状态量子优化引擎
CN109960576A (zh) * 2019-03-29 2019-07-02 北京工业大学 一种面向cpu-gpu异构的低能耗任务调度策略
CN111984426A (zh) * 2020-10-09 2020-11-24 中国平安人寿保险股份有限公司 任务调度方法、装置、电子设备及存储介质
CN113505931A (zh) * 2021-07-19 2021-10-15 温州大学 一种基于遗传算法的充电机器人动态调度优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
曹坤 等: "A Survey on Edge and Edge-Cloud Computing Assisted Cyber-Physical Systems", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》 *
鞠芊蕾 等: "混合关键性系统寿命优化的任务调度算法", 《计算机工程》 *

Also Published As

Publication number Publication date
CN114461370B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
Xu et al. A multiple priority queueing genetic algorithm for task scheduling on heterogeneous computing systems
Nie et al. Evolving scheduling rules with gene expression programming for dynamic single-machine scheduling problems
Tang Large-scale computing systems workload prediction using parallel improved LSTM neural network
CN108416465B (zh) 一种移动云环境下的工作流优化方法
CN108829501B (zh) 一种基于改进遗传算法的批处理科学工作流任务调度算法
CN106611379A (zh) 一种改进文化基因算法求解多目标柔性作业车间调度问题
CN110362388B (zh) 一种资源调度方法及装置
CN107506865A (zh) 一种基于lssvm优化的负荷预测方法及系统
CN113760553B (zh) 一种基于蒙特卡洛树搜索的混部集群任务调度方法
CN110865878B (zh) 边云协同环境中基于任务多约束的智能调度方法
CN114461370B (zh) 一种面向物联网的安全关键任务调度方法及系统
CN117271101A (zh) 一种算子融合方法、装置、电子设备及存储介质
CN111199316A (zh) 一种基于执行时间评估的云雾协同计算电网调度方法
CN114168583A (zh) 一种基于正则自动编码器的电量数据清洗方法及系统
Indurkhya et al. Solving regression problems with rule-based ensemble classifiers
Gou et al. Partitioning tree-shaped task graphs for distributed platforms with limited memory
CN115759979B (zh) 基于rpa和流程挖掘的流程智能处理方法和系统
CN110851257A (zh) 一种基于前期灾变策略的遗传与差分混合进化云计算任务调度算法
Frankola et al. Evolutionary algorithms for the resource constrained scheduling problem
CN115509724A (zh) 基于任务分层与回填最早完成时间的任务调度方法及系统
Yan et al. A stochastic virtual machine placement algorithm for energy-efficient cyber-physical cloud systems
Meraji et al. On the scalability and dynamic load-balancing of optimistic gate level simulation
Zhang et al. A new meta-heuristic task scheduling algorithm for optimizing energy efficiency in data centers
Liao et al. Modeling and solving scheduling in overloaded situations with weighted partial MaxSAT
Srinivasan et al. An integrated framework for devising optimum generation schedules

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant