本发明属于计算机体系结构领域,具体涉及到一种异构边缘计算系统高能效安全感知任务调度方法及装置。
背景技术:
1、随着物联网的飞速发展,大量的设备接入网络产生了海量的数据,对网络数据处理的实时性提出了更高的要求。边缘计算作为一种新兴计算模式,通过网络边缘进行必要的数据处理,以提供低延迟的计算服务,提升了网络数据处理的实时性。但边缘服务器大规模部署也提升了网络的能源消耗;同时,由于边缘计算在网络边缘处理数据,其环境较为复杂,可能面临任务突然爆发的大量安全需求。任务的数据往往可能包含了用户的隐私或者重要机密信息,数据的安全问题更加突出。
2、为了解决异构边缘计算系统安全任务调度和能耗联合优化问题,现有技术通常采用基于网络服务任务卸载架构和通用异构多核计算平台,构建带硬件安全模块的异构处理器集群模型,该模型包含多个异构计算处理器,例如中央处理器和图形处理单元、数字信号处理器、现场可编程门阵列、专用集成电路等,其中硬件安全模块由多个安全处理器核以及安全硬件加速器组成,并且与其他特性的计算集群隔离开来,为边缘计算提供相应的安全服务。
3、在任务分配上,通常采用依赖任务模型。依赖任务模型是一种常用异构多核系统任务分配模型,依赖任务模型通常使用有向无环图(简称,dag)表示任务数量、执行时间、执行顺序依赖、任务间通信时间开销等信息。现有的应用依赖任务模型的算法主要包括:
4、异构最早完成时间算法(简称,heft)和处理器上关键路径(简称,cpop)两种列表调度算法,算法在初始化阶段根据任务平均执行时间开销和通信开销来初始化原始dag图。
5、向下能耗最小化算法(简称,decm),任务按照向上权值降序排列,从入口到出口任务执行能耗最小化。在decm中,为并行应用引入截止时间松弛和任务级别的概念。
6、不改变跨度(简称,incm)算法,该算法首先使用预测最早完成时间算法(简称,peft)来预估计算任务图跨度,其次使用任务乐观成本表降序作为任务分配顺序,最后计算每个任务的可用的空闲时间,通过降低任务执行频率充分利用空闲时间达到节能效果。
7、现有技术方案在安全感知任务调度中依然存在抵抗外部攻击能力差,安全风险高以及系统面对大规模的任务时算法求解复杂度高,算法求解时间长等问题。
技术实现思路
1、为了解决现有技术中存在的上述问题,本发明提供了一种异构边缘计算系统高能效安全感知任务调度算法及装置,以实现在异构边缘计算系统加强安全层级的同时,降低算法复杂度,减少面对大规模任务时的求解时长以节省系统能耗。
2、本发明的异构边缘计算系统高能效安全感知任务调度方法包括:
3、步骤一、计算各任务常规部分的分配优先级;
4、步骤二、根据任务常规部分的分配优先级,依次将各任务常规部分分配到各处理器核;
5、步骤三、根据各任务的风险因子降序依次选择任务;
6、步骤四、按照所选任务在各安全处理器核上的执行效率,设置各安全处理器核的安全等级
7、
8、步骤五、将所选任务分配给有可用空闲时隙,且满足安全部分执行时间长度不大于该任务常规部分执行时间长度的,安全等级最高的安全处理器核;
9、其中,为任务τi的理想安全等级;k为安全处理器核的排序号,k=1,2,......k;k为安全处理器核数量。
10、进一步的,所述步骤一还包括:
11、计算任务τi常规部分在普通处理器核πj上的最坏情况执行时间wcetij;
12、
13、计算任务τi常规部分在所有普通处理器核上的平均执行时间
14、
15、计算任务τi常规部分的平均通信时间ci,q:
16、
17、计算任务τi的修改向上权值rankum(τi);
18、
19、根据各任务在任务图中所属层级对任务升序排列,同一层级任务根据任务的修改向上权值降序排列,获得各任务的分配优先级;
20、其中,wci为任务τi常规部分的最坏情况执行指令周期,是任务τi在处理器核πj上的执行效率,代表任务τi在πj上的执行频率,πnormal为普通处理器核集合;jnormal为普通处理器核的数量;l为普通处理器核的平均启动通信时间成本,b为是普通处理器核之间传输数据的平均传输速率,datai,q为任务τi与任务τq之间通信数据量;succi为任务τi的直接后继任务集合。
21、进一步的,所述步骤二还包括:
22、计算任务τi常规部分在各处理器核上的最早开始时刻ast(τi,πj)和结束时间aft(τi,πj);
23、
24、aft(τi,πj)=ast(τi,πj)+wcetij
25、ast(τentry)=0,aft(τentry)=0
26、如果处理器核πj上有满足任务τi常规部分开始时间和执行时间长度需求的可用空闲时隙,且能满足任务共同截止期限d,将处理器核πj列入任务τi的可分配处理器核;
27、将任务τi分配给完成时间最早的可分配处理器核;
28、设置任务τi常规部分的开始时刻ast(τi)和结束时刻aft(τi);
29、ast(τi)=ast(τi,πj)
30、aft(τi)=aft(τi,πj)
31、其中,表示处理器核πj的最早可用时隙开始时刻;aft(τm)表示任务τm常规部分的实际结束时刻,cm,i为任务τm和任务τi之间的通信开销;pred(τi)为任务τi的直接前驱任务集合;τentry为入口任务。
32、进一步的,所述步骤五包括:
33、在未选择的安全处理器核中选择排序号最小的安全处理器核;
34、计算任务τi安全部分在所选择的安全处理器核πk上的执行时间长度
35、
36、如果安全处理器核πk满足:
37、
38、
39、
40、将任务τi安全部分分配给所述安全处理器核πk;
41、设置任务τi安全部分的开始时刻asts(τi)、结束时刻afts(τi)和安全等级li;
42、asts(τi)=ast(τi)
43、
44、
45、其中,其中,ai为正系数,取决于任务τi所采用的密码算法,bi为任务τi需要的安全服务数据大小,代表任务τi在安全处理器核πk上的执行效率,为任务τi在安全处理器核πk上的最高执行频率;为处理器核πk上最早空闲时隙的结束时刻,为处理器核πk上最早空闲时隙的开始时刻。
46、优选的,所述方法还包括松弛各任务常规部分的开始时刻和结束时刻:
47、计算延展系数ratio;
48、
49、对各任务常规部分的开始时刻和结束时刻进行松弛;
50、ast(τi)=ast(τi)×ratio
51、aft(τi)=aft(τi)×ratio
52、根据各任务的分配优先级倒序依次选择任务;
53、设置该任务常规部分的结束时刻;
54、
55、如果任务τi常规部分的开始时刻和结束时刻满足:
56、
57、设置任务τi常规部分的开始时刻为:
58、
59、其中,d为任务共同截止期限,makespan为任务执行跨度;τq为τi的直接后继任务,ci,q为任务τi和τq之间的通信时间。astbs(τn)为与任务τi在同一个普通处理器核上,且位于任务τi后一个执行的任务τn的最早开始时刻;wci为任务τi的常规部分最坏情况执行指令周期,是任务τi在处理器核上的执行效率,代表任务在核上的最低执行频率。
60、本发明的异构边缘计算系统高能效安全感知任务调度装置包括:
61、常规部分分配优先级设置模块,用于根据各任务的修改向上权值和任务图层级设置各任务常规部分的分配优先级;
62、常规部分分配模块,用于根据任务分配顺序依次将各任务常规部分分配到各普通处理器核;
63、安全任务选择模块,用于根据各任务的风险因子依次降序选择任务;
64、安全处理器选择模块,用于根据所选任务安全部分在各安全处理器上的执行效率从大到小的顺序依次选择安全处理器核,并设置各安全处理器的安全等级
65、
66、安全部分分配模块,用于将所选任务分配给有可用空闲时隙,且满足安全部分执行时间长度不大于该任务常规部分执行时间长度的,安全等级最高的安全处理器核;
67、其中,为任务τi的理想安全等级;k为安全处理器核的排序号,k=1,2,......k;k为安全处理器核数量。
68、进一步的,所述常规部分分配优先级设置模块包括:
69、常规部分执行时间计算单元,用于计算各任务常规部分在普通处理器核上的最坏情况执行时间wcetij和平均执行时间
70、
71、
72、常规部分通信时间计算单元,用于计算任务τi常规部分的平均通信时间ci,q:
73、
74、修改向上权值计算单元,用于计算任务的修改向上权值rankum(τi);
75、
76、常规部分分配顺序设置单元,用于根据各任务在任务图中所属层级对任务升序排列,同一层级任务根据任务的修改向上权值降序排列,获得各任务的分配优先级;
77、其中,wci为任务τi常规部分的最坏情况执行指令周期,是任务τi在处理器核πj上的执行效率,代表任务τi在πj上的执行频率,πnormal为普通处理器核集合;jnormal为普通处理器核的数量;l为普通处理器核的平均启动通信时间成本,b为是普通处理器核之间传输数据的平均传输速率,datai,q为任务τi与任务τq之间通信数据量;succi为任务τi的直接后继任务集合。
78、进一步的,所述常规任务分配模块包括:
79、任务选择单元,用于根据任务的分配优先级ranki依次选择任务τi;
80、第一执行时间设置单元,用于计算任务τi常规部分在各处理器核上的最早开始时刻ast(τi,πj)和最早结束时刻aft(τi,πj);
81、
82、aft(τi,πj)=ast(τi,πj)+wcetij
83、ast(τentry)=0,aft(τentry)=0
84、可分配处理器核筛选单元,用于判断处理器核πj上是否有满足任务τi常规部分开始时刻和执行时间长度需求的可用空闲时隙,且能满足任务共同截止期限d,如果有,将处理器核πj列入任务τi的可分配处理器核;
85、常规部分分配单元,用于将任务τi常规部分分配给aft(τi,πj)最早的可分配处理器核,并设置任务τi常规部分的开始时刻ast(τi)和结束时刻aft(τi);
86、ast(τi)=ast(τi,πj)
87、aft(τi)=aft(τi,πj)
88、其中,表示处理器核πj的最早可用时隙开始时刻;aft(τm)表示任务τm常规部分的实际结束时刻,cm,i为任务τm和任务τi之间的通信开销;pred(τi)为任务τi的直接前驱任务集合;τentry为入口任务。
89、进一步的,所述安全部分分配模块包括:
90、安全部分执行时间计算单元,用于计算任务τi安全部分在所选择的安全处理器核πk上的执行时间长度
91、
92、安全任务分配单元,如果所述安全处理器选择单元选择的安全处理器核满足:
93、
94、
95、
96、将所述安全任务选择模块选择的任务的安全部分分配到该安全处理器核;
97、安全任务执行时间和安全等级设置单元,用于设置任务τi安全部分的开始时刻asts(τi)、结束时刻afts(τi)和安全等级li;
98、asts(τi)=ast(τi)
99、
100、
101、其中,其中,ai为正系数,取决于任务τi所采用的密码算法,bi为任务τi需要的安全服务数据大小,代表任务τi在安全处理器核πk上的执行效率,为任务τi在安全处理器核πk上的最高执行频率;为处理器核πk上最早空闲时隙的结束时刻,为处理器核πk上最早空闲时隙的开始时刻。
102、优选的,所述装置还包括:
103、执行时间松弛模块,用于据任务共同截止期限d和任务执行跨度makespan,松弛各任务常规部分的开始时刻和结束时刻;包括:
104、延展系数计算单元,用于计算延展系数ratio;
105、执行时间松弛单元,用于对任务常规部分的开始时刻和结束时刻进行松弛;
106、ast(τi)=ast(τi)×ratio
107、aft(τi)=aft(τi)×ratio
108、第二执行时间设置单元,用于根据松弛后的务常规部分的开始时刻和结束时刻计算任务最终的开始时刻和结束时刻;
109、根据各任务的分配优先级ranki倒序依次选择任务;
110、设置该任务常规部分的结束时刻;
111、
112、如果任务τi常规部分的开始时刻和结束时刻满足:
113、
114、设置任务τi常规部分的开始时刻为:
115、
116、其中,d为任务共同截止期限,makespan为任务执行跨度;τq为τi的直接后继任务,ci,q为任务τi和τq之间的通信时间。astbs(τn)为与任务τi在同一个普通处理器核上,且位于任务τi后一个执行的任务τn的最早开始时刻;wci为任务τi的常规部分最坏情况执行指令周期,θij是任务τi在处理器核上的执行效率,代表任务在核上的最低执行频率。
117、本发明的上述具体实施中,采取了边缘计算中带安全核的异构处理器集群模型,提升了系统的安全层级,采用有向无环图表征任务之间的执行顺序依赖关系、任务间的通信时间开销,更加符合实际任务场景。